Object Oriented Software Development

Subject SWEN20003 (2015)

Note: This is an archived Handbook entry from 2015.

Credit Points: 12.5
Level: 2 (Undergraduate)
Dates & Locations:

This subject has the following teaching availabilities in 2015:

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

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

170 hours


One of the following:

Study Period Commencement:
Credit Points:
Not offered in 2015
Semester 1, Semester 2
Semester 1, Semester 2



Recommended Background Knowledge:


Non Allowed Subjects:

433-254 Software Design

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: http://services.unimelb.edu.au/disability


Assoc Prof Shanika Karunasekera


email: karus@unimelb.edu.au

Subject Overview:


Developing medium and large scale software systems requires analysis and design prior to implementation. This subject introduces students to software design, with specific focus on object-oriented design, and the implementation of designs using an object-oriented programming language. The subject aims to lay the foundations to software design, and is the first subject of a sequence of subjects that teaches the students the concepts in software design.


Topics covered include:

  • Object-oriented programming techniques
  • Object-oriented design concepts and modelling
  • Design patterns and their applications
  • Object-oriented frameworks.

Learning Outcomes:


On completion of this subject the student is expected to:

  1. Apply software design principles to object-oriented design
  2. Develop object-oriented models for a medium-sized software system
  3. Evaluate design trade-off of different designs
  4. Implement an object-oriented design in a suitable language
  5. Use commonly available object-oriented design frameworks for application development
  6. Apply knowledge of basic science and engineering fundamentals
  • Project work during semester requiring approximately 30 - 35 hours of work in total (30%). This consists of two projects. The first one is due around week 7, (10%). The second project is due around week 11, (20%)
  • A mid-semester test (10%)
  • 2-hour end-of-semester written examination (60%).

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

  • 50% overall
  • 15/30 in project work; and
  • 35/70 in the mid-semester test and end-of-semester written examination combined.

Assessment addresses all Intended Learning Outcomes (ILOs)

Prescribed Texts:


Breadth Options:

This subject potentially can be taken as a breadth subject component for the following courses:

You should visit learn more about breadth subjects and read the breadth requirements for your degree, and should discuss your choice with your student adviser, before deciding on your subjects.

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

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

  • An ability to apply knowledge of basic science and engineering fundamentals
  • In-depth technical competence in at least one engineering discipline
  • An ability to undertake problem identification, formulation and solution
  • An expectation of the need to undertake lifelong learning, and the capacity to do so.


This subject is available as breadth in the following Bachelors courses: Arts, Commerce, Environments and Music.

This subject is available for science credit to students enrolled in the BSc (both pre-2008 and new degrees).


The subject comprises two one lectures and one two hour workshop each week. Weekly readings are assigned from the textbook. The subject also includes two individual projects and a mid-semester examination.


At the beginning of the year, the coordinator will propose a textbook that 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). Additional learning material will be made available on the learning management system (LMS) site for the subject.


The software industry is a large and steadily growing industry, and is constantly looking for competent software engineers. This subject teaches the software engineering design principles and lays the foundation for developing core software design skills required by industry practitioners.

Related Majors/Minors/Specialisations: B-ENG Software Engineering stream
Computer Science
Computer Science
Science-credited subjects - new generation B-SCI and B-ENG.
Selective subjects for B-BMED
Related Breadth Track(s): Computing

Download PDF version.