COMP1008 - Object-Oriented Programming

Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).

Code
COMP1008
Year
1
Prerequisites
Term
2
Taught By
Graham Roberts (100%)
Aims
This course introduces object-oriented programming with Java, covering topics such as class design, inheritance, dynamic binding and interfaces. Sections are also included on the implementation of core data structures such as arraylists, lists, trees and hash tables. This is an intensely practical course and student engagement outside lectures is seen as critical.
Learning Outcomes
To be able to: (a) design and implement a small-scale object-oriented program with 5-10 classes; (b) use a large sub-set of the Java programming language effectively; (c) gain an understanding of how to design and use classes correctly; (d) understand class relationships; (e) implement common data structures.

Content:

Classes and objects
Introduction to object-oriented concepts of classes and objects.
Simple UML class diagrams.
Inheritance and dynamic binding.
Comparison of Java to other languages.
Object-Oriented Programming in the small.
Developing small programs using classes.
Identifying and implementing class relationships.
Using abstract classes, interfaces and inheritance when designing programs.
Good design and programming practice.
File handling.
Exception handling
Dealing effectively with runtime errors using the Java exception handling mechanism.
Try, catch, throw, finally.
How exceptions affect the design of an application.
Robust Debugging and Testing
Debugging and finding errors.
Introduction to unit testing.
Data structures
Implementing common data structures, such as trees, lists and hash tables.

Method of Instruction:

Lecture presentations, problem classes, programming lab classes, exercise questions.

Assessment:

The course has the following assessment components:

  • Written Examination ( 2.5 hours, 80%)
  • Coursework Section (2 pieces 20%)

To pass this course, students must:

  • Obtain an overall pass mark of 40% for all sections combined

The examination rubric is:
Answer ALL of SECTION A and TWO Questions from SECTION B (THREE questions in total). SECTION B comprises 3 questions, all

of which carry equal marks.

Resources:

(Essential reading) Developing Java Software, 3rd Edition,

by Russel Winder and Graham Roberts,

published by John Wiley and Sons, 2006

ISBN: 0-470-09025-1-0

Lecture notes can be found on Moodle