2003 | Abstracts

Teaching Software Engineering using Open Source Software

David Glance

BiographyBioPaperPaper AudioAudio

This talk outlines the tools, languages and platforms that can be used in the teaching of Software Engineering and Computer Science at a University level. This will draw on the experiences (and future plans) for using Open Source software at UWA in the department of Computer Science and Software Engineering. Since the aims of our teaching at CSSE are to teach best practice in all aspects of the software development life cycle, it is anticipated that the skills and knowledge accumulated by the students will be directly transferable to both a corporate and Open Source development environment. In addition to using Open Source software in a corporate style development process, aspects of the true Open Source development model is also taught.

The aims of using Open Source software within a teaching environment are to:

  1. foster and promote the use of Open Source software since the ideals and aims behind Open Source are highly congruent with those of a University's: dissemination of information and knowledge encapsulated in software, contribution of software to the community.
  2. to investigate and develop the Open Source development process in order to develop high quality software.
  3. to educate students using Open Source software in order that they act as a carrier of this information into the job market.

Areas of the software development life cycle covered are:

Analysis and design

UML is taught and used extensively for the purposes of analysis and design. Open Source tools for UML will be discussed and will focus on ArgoUML.

Office tools can be used for other aspects of the process and OpenOffice is used for this purpose.


Emacs and XEmacs are used as general editing and development environments.

Languages taught are:

  • C & C++ (using gcc on Linux)
  • Java using Java SDK, JDE and also Forte for Java Community Edition (although not truly open source).

Web Server software

Apache, Tomcat and JBoss

Database software

  • PostgreSQL
  • MySQL

Source Code Control

CVS is used as the source code management system

Bug/Issue tracking

Bugzilla is used as a bug/issue tracking system.


Linux is used as a client and server platform

The original Tux penguin is copyright by Larry Ewing.
Linux is a trademark of Linus Torvalds.
© 2002 Linux Australia.