The department's mission is internationally recognised excellence and leadership in software technology education and research, with a focus on intelligent distributed objects.
Programming and software technology subjects have been offered by the department since the early 1980s and the programming courses date back to 1969 when Caulfield offered Australia's first commercial computing degree.
The department can now focus entirely on software engineering issues. Its first-semester undergraduate courses have about 350 new students each year. Higher degree courses are provided for practitioners and academics.
The department is recognised throughout Australia for its dedication to object technology, a rapidly expanding area of software development skills, methods and tools - of high relevance in industry, government and academia. Research projects are entirely focused on software development areas related to object technology. Many of the department's subjects relate to object technology.
The department contributes in substantial ways to the following courses offered by the faculty:
* Bachelor of Computing, particularly with a major in Software Development;
* Graduate Diploma in Computing;
* Graduate Diploma in Information Technology;
* Master of Computing by coursework;
* Master of Computing by research;
* Doctor of Philosophy (PhD).
Research expertise in intelligent distributed objects has given rise to a number of research scholarships, funded projects and national and international collaboration with industry and academia.
Teaching and research
The department seeks to provide courses and student supervision of the highest quality, to undergraduate, postgraduate and professional audiences. It seeks to offer its courses in a variety of ways including on-campus, off-campus and by distance teaching. The department's staff view students as their valued customers; and seek to make courses and student contacts attractive and advanced.
The department's researchers and scholars seek to advance the state of the art, knowledge and understanding of the discipline with a strong focus on application and practice; to develop cooperative and synergetic research arrangements and teams with academia, industry and government; and to foster educational and research links, nationally and internationally. In these ways the department will enhance the standing of the university.
The department seeks to provide a positive and stimulating environment within which all staff and students are encouraged to work cooperatively and develop to the best of their abilities; and an atmosphere which fosters self-discipline, self-improvement and empowerment. A culture of mutual understanding and helpful open critique is encouraged.
The department is committed to working with educational institutions, the computing industry, professional associations, government and standardisation organisations to advance the software development ethics and practice, ie the state of technique in the computing industry and academia.
As members of the wider community, members of the department participate in several professional and non-professional forums in a manner designed to promote understanding of public concerns with respect to software technology and dissemination of the values and benefits of software technology.
Collaborative links
The department has strong links with a number of local and national companies and government institutions, particularly by means of an active role in the organisation of the Object-Oriented Special Interest Group (OOSIG) of the Victorian ACS and the chairing of the International Technology of Object-Oriented Languages and Systems (TOOLS) conferences. The department cooperates with several European and North-American universities and research institutes including the German Distant-University Hagen and University Aachen, University Karlsruhe, and the Californian International Computer Science Institute affiliated to the University of California at Berkeley.
Objectives - Major in software development
The major in software development is the department's principal undergraduate offering. The major is a sequence of subjects available to students studying for a Bachelor of Computing at Caulfield; the subjects are also available to students in a range of other courses at Caulfield and on other campuses.
The aim of the major is to provide undergraduate students in computing and other disciplines with the intellectual tools to enable them to apply state-of-the-art knowledge, skills, methods and techniques to the design, implementation, maintenance and modification of software systems. It will also provide the theoretical understanding for learning and for using new methods in the future, and the attitude which sees the constant updating of knowledge as required professional behaviour.
On completion of the major in software development, students will be able to:
* specify, design, construct, verify, test, maintain and modify programs, program components and software systems;
* evaluate and select alternative software methods and tools in the construction of systems;
* communicate effectively with clients, users and other professionals;
* work constructively within a team environment;
* appreciate commercial and ethical issues arising in software development projects.
Students completing this sequence will have knowledge of:
* the different conceptual models of software development;
* the methods used in applying conceptual models to software development;
* the processes followed by software developers in constructing systems;
* the techniques and notations used in designing and implementing software systems.
They will have an understanding of:
* the software development process, both in the sense of abstract models and in the various instances of the process as practised in industry;
* the activities and aspects of the software development process;
* the issues that are motivating the growth and evolution of information technology;
* the differences between personal programming and professional software development; in particular, they should understand that professional software development involves the production of software systems under the constraints of control and management activities;
* a working set of principles, models, representations, methods and tools and the role of analysis and evaluation in software development;
* the architectures of many common and well-understood classes of software systems;
* the content of appropriate standards and their application in software development;
* the basic economic, legal and ethical issues of software development.
They will be able to:
* apply fundamental principles in the performance of various software development activities;
* apply appropriate methods to achieve results by using appropriate programming languages;
* develop and use appropriate tools covering all activities of the software process;
* collect appropriate data and metrics for project management purposes, and for analysis and evaluation of both the process and the product;
* design data for and structures of software tests;
* execute a plan, including the performance of various kinds of software tests;
* apply documentation standards in the production of all kinds of documents;
* evaluate new technologies and tools to determine their applicability in a particular context.
They will have developed attitudes which allow them to:
* understand their role and work effectively as a team member within the organisation;
* be a professional contributor to the information technology industry.