COM6471 Foundations of Object Oriented Programming
||This module introduces the foundations of object-oriented
programming using the language Java. The emphasis of the
module is on software engineering principles, and concepts
underpinning object-oriented design and development are
introduced from the outset. By the end of the course,
students will be able to design, implement and test
moderately complex Java programs.
||There will be no final examination for this module.
Assessment will be based on programming assignments.
||Prof Richard Clayton
- to provide a grounding in object-oriented programming
- to inculcate a component-based approach to large
- to introduce the major aspects of the Java API;
- to develop an understanding of data structures and
- to establish a sound and consistent programming style
||By the end of this course, students will:
- understand what is meant by object-oriented and
- be able to target complex problems onto solutions in
the Java Programming Language.
- The Java language and its characteristics;
- Objects, classes and instances;
- Sequence, selection, repetition;
- Arrays and searching;
- Inheritance, polymorphism, interfaces and abstract
- Abstract data types, e.g. stacks and queues;
- Input, output;
- Introduction to graphics in Java;
||Lectures and Laboratory sessions.
||Debriefing lectures after assignment hand ins to provide
Individual feedback on assignment performance from
Feedback in lab class performance through interaction with
For experienced programmers:
- Garside and Mariani (2003). Java: first contact (2nd
- Bishop (2001). Java gently (3rd ed).
- Kamin, Mickunas and Reingold (2002). An introduction
to computer science using Java (2nd ed).
- Bell and Parr (2006). Java for students (5th ed).
- Deitel and Deitel (2005). Java: how to program (6th
- Cornell and Hortsmann (2008). Core Java 2, volume I.
- Arnold, Gosling and Holmes (2006). The Java
programming language (4th ed).
- Flanagan (2005). Java in a nutshell (5th ed).