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 (50%)
- Dean Mohamedally(50%)
- 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. Students will develop a real-world app for Android using Java syntax and concepts. 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 full-scale Java solution in the form of an App (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. - Data structures
- Implementing common data structures, such as trees, lists and hash tables.
- Project work
- Developing an app on the Android platform.
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, 60%)
- Coursework Section (40%) 1 small-group project coursework (developing an Android app)
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

