Requisite(s): 48023 Object-oriented Programming
Undergraduate
Subject coordinator: Lian Loke
This subject is the second in a series of subjects (following the prerequisite subject) designed to build competencies in the art, science and engineering of software construction. It introduces students to the fundamentals of object-oriented design, and focuses particularly on the design-code-test cycle of an iterative, incremental approach to software development. The subject shows how to design, build, test and document object-oriented (OO) systems of low-medium complexity. It presents a set of design principles and techniques, including the UML, for exploring, modelling and specifying a software design and for guiding the development of a re-useable, OO system. On completion of the subject, students are able to:
Assessment: The typical assessment includes a team project (where students work in small teams to design and construct a small software system), a written assignment, and a final exam. This is a typical example of how this subject will be assessed:
Assignment 1: Read and implement a design to produce a working subsystem; demonstrate Pass-level objectives (40 per cent).
Assignment 2: Write and implement designs to produce a working system; demonstrate Credit/Distinction-level objectives (15 per cent).
Advanced Assignment: Design and evaluate a software system of medium complexity; demonstrate High Distinction-level objectives (15 per cent).
Final Exam: Multiple-choice exam; test basic competency of Pass-level objectives (30 per cent).
Autumn semester, City campus
Spring semester, City campus