Offered
Gippsland Second semester 2008 (Off-campus)
Singapore Second semester 2008 (Off-campus)
Synopsis
This unit introduces more advanced object-oriented programming topics and techniques than its predecessor, and gives students a deeper understanding of programming and data structures and more practical skills in designing, building and testing computer programs. Topics include: inheritance, abstractions and polymorphism; introduction to data structures in the Java API; recursion; storing and retrieving data using files; exception handling; graphical user interfaces; and software development support tools (JUnit, subversion, ant).
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 Java class-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, generalisation 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
Assignments, possibly tutorial/laboratory based practical exercises and/or unit tests: 40%
Examination: 60%
Prerequisites
GCO9805 or FIT9008 or equivalent
Prohibitions
GCO9808 (Translation Unit: GCO9808)