Monash University Handbooks 2008

FIT9013 - Computer programming 2

6 points, SCA Band 2, 0.125 EFTSL

Postgraduate Faculty of Information Technology

Leader: Madhu Chetty

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:

  1. Object-oriented concepts such as inheritance, polymorphism, and abstract classes.
  2. The implementation in Java of object-oriented concepts such as multiple inheritance.
  3. How to test a program consisting of many interacting classes.
  4. The collection classes in the Java API.
  5. Design principles for building an object-oriented program.
  6. Problem-solving techniques for debugging an object-oriented program.
  7. The concept of recursion in a computer program.
  8. Dynamic data structures.

At the completion of this unit, students will have attitudes that will allow them to:
  1. Write programs that conform to programming standards
  2. Use good design principles when constructing systems
  3. Take a patient and thorough approach to testing
  4. Acknowledge any assistance they have received in writing a program
  5. Search for supplementary Java class-related information in appropriate places when necessary.

At the completion of this unit, students will be able to:
  1. Design an object-oriented program consisting of many interacting classes with association, generalisation and aggregation relationships.
  2. Construct a test harness for testing a multiple class object-oriented program.
  3. Write code to implement a multiple class object-oriented design in Java including association, generalisation and aggregation relationships.
  4. Debug and modify an existing program consisting of many interacting classes.
  5. Use the Java API classes as part of their programs.
  6. Use the Java collection classes to store and retrieve data appropriately.
  7. Use recursion to solve new problems
  8. Read data from keyboard and files, and write data to screen and files.
  9. Use exception-handling techniques in programs.
  10. Use UML to design an object-oriented program.

At the completion of this unit, students will be able to:
  1. Document a program correctly
  2. Produce appropriate documentation for designing and testing a program
  3. 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)

[an error occurred while processing this directive]