COM6471 Foundations of Object Oriented Programming
Summary |
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. |
Session |
Autumn 2025/26 |
Credits |
15 |
Assessment |
Programming assignment & final examination |
Lecturer(s) |
Dr Zhixiang Chen |
Resources |
|
Aims |
- To introduce basic programming structures;
- to provide a grounding in object-oriented programming
techniques;
- to encourage a component-based approach to large
program design;
- to introduce the major aspects of the Java API;
- to develop an understanding of data structures and
algorithmic complexity;
- to establish a sound and consistent programming style
in Java.
|
Learning Outcomes |
By the end of the module the student will be able to:
- Understand basic programming structures.
- Understand what is meant by object-oriented and
component-based programming.
- Structure Java programs to solve simple problems, making use of the Java API and using a sound and consistent programming style.
- Design an encapsulated data type with private and public aspects, with an appreciation of algorithmic complexity.
|
Content |
- The Java language and its characteristics;
- Objects, classes and instances;
- Sequence, selection, repetition;
- Arrays and searching;
- Inheritance, polymorphism, interfaces and abstract
classes;
- Abstract data types, e.g. stacks and queues;
- Input, output;
- Introduction to graphics in Java;
|
Restrictions |
Optional modules within the school have limited capacity. We will always try to accommodate all students but cannot guarantee a place. |
Teaching Method |
Lectures and Laboratory sessions. |
Feedback |
Debriefing lectures after assignment hand in to provide
group feedback
Individual feedback on assignment performance from
individual marking.
Feedback in lab class performance through interaction with
demonstrators.
Practice exam questions.
|
|