Unit information: Object-Oriented Programming with Java in 2025/26

Please note: Programme and unit information may change as the relevant academic field develops. We may also make changes to the structure of programmes and assessments to improve the student experience.

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
Units you must take before you take this one (pre-requisite units)

COMSM1201 Programming in C

Units you must take alongside this one (co-requisite units)

COMSM0085 Overview of Software Tools

COMSM0110 Overview of Software Engineering

Units you may not take alongside this one

None.

School/department School of Computer Science
Faculty Faculty of Engineering

Unit Information

Why is this unit important

This unit provides an opportunity to apply the programming skills developed in previous units, whilst at the same time being exposed to advanced development tools and techniques that will prove to be invaluable in your final major project and your career beyond university. This unit emphasises the point that being a developer is not just about “cutting code” but also encompasses key skills such as analysis, design, debugging and testing.

How does this unit fit into your programme of study

This unit builds upon the fundamentals delivered in the C programming unit from TB1, but also provides an opportunity to apply tools and techniques being taught in the parallel Software Tools and Software Engineering units to systems of non-trivial size.

Your learning on this unit

An overview of content

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.

How will students, personally, be different as a result of the unit

By the end 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.

Learning Outcomes

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

  1. Implement medium sized applications in Java
  2. Evaluate program design;
  3. Design good object-oriented programs;
  4. Ensuring life-long quality of applications (through testing, refactoring and maintenance).

How you will learn

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities supported by drop-in sessions where necessary. The core student learning activities will be a series of self-directed programming exercises, which culminate in the assessed exercise and final examination.

How you will be assessed

Tasks which help you learn and prepare you for summative tasks (formative):

A series of programming exercise in Java will provide a problem-led learning backbone to the unit. Delivery of teaching materials on the unit will be driven by (and synchronised with) the knowledge required by students to complete the formative tasks from these practical exercises. The knowledge, skills and techniques learnt during these formative assignments will be assessed in the later summative coursework and final exam.

Tasks which count towards your unit mark (summative):

A summative coursework and final exam will form the assessment for this unit. Through these activities, students will be assessed both on the correct operation of the code that they produce, as well as the material and structural quality of their work. The two assessments are as following:

  • Coursework Assignment (70%): Design and Implementation of a software system of significant size, using the features and facilities of the Java programming language (assessed learning outcomes: 2, 3, 4)
  • Examination (30%): 2 hour, closed book, paper-based examination (assessed learning outcomes: 1, 3)

When assessment does not go to plan:

Reassessment will take the form of resit coursework and examination, in a like-for-like fashion, in line with university processes and time-frames.

Resources

If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. COMSM0086).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the University Workload statement relating to this unit for more information.

Assessment
The assessment methods listed in this unit specification are designed to enable students to demonstrate the named learning outcomes (LOs). Where a disability prevents a student from undertaking a specific method of assessment, schools will make reasonable adjustments to support a student to demonstrate the LO by an alternative method or with additional resources.

The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. For appropriate assessments, if you have self-certificated your absence, you will normally be required to complete it the next time it runs (for assessments at the end of TB1 and TB2 this is usually in the next re-assessment period).
The Board of Examiners will take into account any exceptional circumstances and operates within the Regulations and Code of Practice for Taught Programmes.