Programming and Software Development

Subject COMP90041 (2016)

Note: This is an archived Handbook entry from 2016.

Credit Points: 12.5
Level: 9 (Graduate/Postgraduate)
Dates & Locations:

This subject has the following teaching availabilities in 2016:

Semester 1, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period 29-Feb-2016 to 29-May-2016
Assessment Period End 24-Jun-2016
Last date to Self-Enrol 11-Mar-2016
Census Date 31-Mar-2016
Last date to Withdraw without fail 06-May-2016

Semester 2, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period 25-Jul-2016 to 23-Oct-2016
Assessment Period End 18-Nov-2016
Last date to Self-Enrol 05-Aug-2016
Census Date 31-Aug-2016
Last date to Withdraw without fail 23-Sep-2016

Timetable can be viewed here. For information about these dates, click here.
Time Commitment: Contact Hours: 36 hours, comprising of one, 2-hour lecture and one, 1-hour lab per week
Total Time Commitment:

200 hours





Recommended Background Knowledge:


Non Allowed Subjects:
Core Participation Requirements:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Student Support and Engagement Policy, academic requirements for this subject are articulated in the Subject Overview, Learning Outcomes, Assessment and Generic Skills sections of this entry.

It is University policy to take all reasonable steps to minimise the impact of disability upon academic study, and reasonable adjustments will be made to enhance a student's participation in the University's programs. Students who feel their disability may impact on meeting the requirements of this subject are encouraged to discuss this matter with a Faculty Student Adviser and Student Equity and Disability Support:


Assoc Prof Rui Zhang, Dr Peter Schachte


Semester 1
A/Prof Rui Zhang

Semester 2
Dr Peter Schachte

Subject Overview:


The aims for this subject is for students to develop an understanding of approaches to solving moderately complex problems with computers, and to be able to demonstrate proficiency in designing and writing programs. The programming language used is Java.


Topics covered will include:

  • Java basics
  • Console input/output
  • Control flow
  • Defining classes
  • Using object references
  • Programming with arrays
  • Inheritance
  • Polymorphism and abstract classes
  • Exception handling
  • UML basics
  • Interfaces
  • Generics.
Learning Outcomes:


On completion of this subject the student is expected to:

  1. Apply the concepts of object-oriented design to the solution of computational problems
  2. Read and understand a Java program of small to medium complexity
  3. Write a Java program of small to medium complexity, which contains a number of classes with console user interface
  4. Understand basic concepts of computer science: data structures and algorithms
  5. Understand the process and methods of software design and implementation using Java programming language.
  • Project assignments will be done during the semester and are requiring approximately 50-55 hours of work in total (40%).
  • One 2-hour end-of-semester examination (60%). Intended Learning Outcomes (ILOs) 1, 2, 4 and 5 are addressed in the lectures, laboratory exercises, project assignments and the end-of-semester examination.

Hurdle requirement: To pass the subject, students must obtain at least:

  • 50% overall
  • 20/40 in the project assignments
  • 30/60 in the end-of-semester written examination.

ILOs 2 and 3 are addressed in the laboratory exercises and project assignment.

Prescribed Texts:


Breadth Options:

This subject is not available as a breadth subject.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:

On completion of this subject students should have developed the following skills:

  • Understand major concepts of object-oriented programming and design including classes, objects, encapsulation, inheritance and polymorphism
  • Design, implement and test a program for small and medium size problems in the Java programming language.



The subject comprises a weekly 2 hour lecture followed and a 1 hour laboratory exercise. Weekly readings are assigned from the textbook, and weekly laboratory exercises are assigned. Additionally, a significant amount of project work is assigned.


At the beginning of the year, the coordinator will propose a textbook on Java programming which will be made available through University Book Shop and library. The current suggested textbook is Walter Savitch: Absolute Java. Pearson Education International. 4th Edition (or 5th Edition).


The IT industry is a large and steadily growing industry. Programming skills are essential for working in the IT industry, for example in software development companies, website development companies, telecommunication companies and game development companies. Most large companies have an IT department for managing their software or server. Programming skills are also necessary for employees in such IT departments.

Related Course(s): Doctor of Philosophy - Engineering
Graduate Diploma in Biostatistics
Master of Biostatistics
Master of Information Systems
Master of Information Technology
Master of Philosophy - Engineering
Master of Science (Bioinformatics)
Related Majors/Minors/Specialisations: Computer Science
Computer Science
MIT Computing Specialisation
MIT Distributed Computing Specialisation
MIT Health Specialisation
MIT Spatial Specialisation
Master of Engineering (Mechatronics)
Master of Engineering (Software with Business)
Master of Engineering (Software)

Download PDF version.