Object Oriented Programming with Java 1

Unit code: COMP16121
Credit Rating: 20
Unit level: Level 1
Teaching period(s): Semester 1
Offered by School of Computer Science
Available as a free choice unit?: N




This course unit provides the first exposure to programming in the School's degree programmes and, for many students, their first encounter with programming at all. Its main aim, therefore, is to introduce the principles of design and programming, using objects as a basis. This course unit will use Java and provide an 'Objects-Soon' introduction to the Object-Oriented paradigm. Together with COMP16212, the emphasis is on acquiring best practice incrementally from the bottom-up, including use of modern development and documentation tools, approaches to testing programs for correctness and evaluating designs against typical non-functional characteristics, such as efficiency, maintainability and readability.


The course assumes no previous experience of programming, and is based on the book 'Java Just in Time', which was written by the course leader, and was deliberately published by a not-for-profit publisher so the retail price is low.

  • Using neither the confusing 'objects first' approach, nor the confidence destroying 'objects late' ordering, students are instead taken gently from their natural 'task oriented' view of problem solving, through the basics of programming and then soon onto objects.
  • Every programming and Java concept is introduced, Just in Time, in the context of one of more than a hundred program examples, so motivation is never lacking. Even when objects are introduced, readers immediately see their benefit, and thus happily augment their 'task oriented' view with the 'object oriented' one.
  • Programming skill, being at least 51% confidence, is built in manageable layers by undertaking over one hundred pieces of coursework.
  • Other learning enhancing aspects include coffee time questions, end of chapter collected concepts, no use of non-standard library code, and independence of any confidence-entrapping learning environment.

Teaching and learning methods


34 in total (alternately 4 then 2 per week)


5 (1 per fortnight)

Learning outcomes

Learning outcomes are detailed on the COMP16121 course unit syllabus page on the School of Computer Science's website for current students.

Employability skills

  • Analytical skills
  • Innovation/creativity
  • Problem solving

Assessment methods

  • Written exam - 50%
  • Practical skills assessment - 50%


Introduction (2) Essential basics: sequential execution and programming (2) types, variable and expressions (2) execution flow control (6) separate methods (2) separate classes (4) Object oriented design (2) Introduction to graphical user interfaces using SWING (4) Arrays (4) Files and Exceptions (4) In Conclusion (2)

Recommended reading

COMP16121 reading list can be found on the School of Computer Science website for current students.

Feedback methods

Extensive face to face marking and feedback of laboratory work, allowing students to discuss their work, rather than the feedback being only one-way.

Study hours

  • Assessment written exam - 2 hours
  • Lectures - 33 hours
  • Practical classes & workshops - 34 hours
  • Independent study hours - 131 hours

Teaching staff

John Latham - Unit coordinator

▲ Up to the top