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.
|
|