Skip to main content

Unit information: Object-Oriented Programming with Java in 2020/21

Unit name Object-Oriented Programming with Java
Unit code COMSM0086
Credit points 20
Level of study M/7
Teaching block(s) Teaching Block 2 (weeks 13 - 24)
Unit director Dr. Lock
Open unit status Not open

COMSM1201 Programming in C


COMSM1401 Software Engineering and Group Project

School/department Department of Computer Science
Faculty Faculty of Engineering


On successful completion of this unit students will be able to program in the Java language, have a good understanding of how good program design can help you, how to produce it and how to implement it in Java. The Syllabus includes:

  • Object-Oriented Design: objects, classes, abstraction, encapsulation, polymorphism, inheritance, interfaces, coupling, cohesion, code reuse, refactoring, design patterns, design methods, UML, testing.
  • Programming in Java: characteristics of Java, comparison with other languages, syntax and semantics, how Java implements object-oriented design concepts, Java's APIs.
  • Advanced Subjects: various advanced subjects in programming, and Java's handling of them, will be briefly introduced. Among others, these may include script programming, data structures from the Java libraries, Graphical User Interfaces, concurrent programming and networking.

Intended learning outcomes

On successful completion of this unit, students will be able to:

  • Evaluate program design;
  • Design good object-oriented programs;
  • Implement, test, maintain and refactor small to medium sized applications in Java.

Teaching details

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities supported by drop-in sessions and self-directed exercises.

Assessment Details

100% Coursework

Reading and References

Barnes, David J. and Kolling, Michael, Objects First with Java; A Practical Introduction using BlueJ 5th Edition (2011, Prentice Hall / Pearson Education, 2011) ISBN: ISBN:0-13-606086-2 (Recommended)