Leader: Caulfield: Chris Ling; Gippsland: Shane Moore; South Africa; Sheelagh Walton
Offered
Caulfield First semester 2008 (Day)
Caulfield Second semester 2008 (Day)
Gippsland Second semester 2008 (Day)
Gippsland Second semester 2008 (Off-campus)
Sunway First semester 2008 (Day)
Singapore Second semester 2008 (Off-campus)
South Africa Second semester 2008 (Day)
Synopsis
This unit introduces more advanced object-oriented programming topics and techniques than its prerequisite, and gives students a deeper understanding of programming and data structures and more practical skills in designing, building and testing computer programs
Objectives
At the completion of this unit, students will have an understanding of:
- Object-oriented concepts such as inheritance, polymorphism, and abstract classes;
- The implementation in Java of object-oriented concepts such as multiple inheritance;
- How to test a program consisting of many interacting classes;
- The collection classes in the Java API;
- Design principles for building an object-oriented program;
- Problem-solving techniques for debugging an object-oriented program;
- The concept of recursion in a computer program;
- Dynamic data structures.
At the completion of this unit, students will have attitudes that will allow them to:
- Write programs that conform to programming standards;
- Use good design principles when constructing systems;
- Take a patient and thorough approach to testing;
- Acknowledge any assistance they have received in writing a program;
- Search for supplementary unit-related information in appropriate places when necessary.
At the completion of this unit, students will be able to:
- Design an object-oriented program consisting of many interacting classes with association, generalization and aggregation relationships;
- Construct a test harness for testing a multiple class object-oriented program;
- Write code to implement a multiple class object-oriented design in Java including association, generalisation and aggregation relationships;
- Debug and modify an existing program consisting of many interacting classes;
- Use the Java API classes as part of their programs;
- Use the Java collection classes to store and retrieve data appropriately;
- Use recursion to solve new problems;
- Read data from keyboard and files, and write data to screen and files;
- Use exception-handling techniques in programs;
- Use UML to design an object-oriented program.
At the completion of this unit, students will be able to:
- Document a program correctly;
- Produce appropriate documentation for designing and testing a program;
- Explain how parts of a program work.
Assessment
Exam 60%, Assignments:40%
Contact hours
Lecture: 2hrs/week, tutorial: 2hrs/week
Prerequisites
CSE1202 or GCO1811 or CPE1001 or FIT1002 or equivalent
Prohibitions
CPE1124, CFR2128, CFR3112, GCO1812, GCO3821, SFT1102, CSE1203, CSE2305, CPE1004, FIT1007, FIT1008, FIT1015, FIT2034 (Translation for CSE1203, GCO1812)