Skip to navigation | Skip to main content | Skip to footer

COMP10081: Object Oriented Programming with Java 1 (2008-2009)

This is an archived syllabus from 2008-2009

Object Oriented Programming with Java 1
Level: 1
Credit rating: 15
Pre-requisites: No Pre-requisites
Co-requisites: No Co-requisites
Duration: 11 weeks in first semester
Lectures: 34 in total (alternately 4 then 2 per week)
Labs: 5 (1 per fortnight)
Lecturers: Howard Barringer, Sean Bechhofer, John Latham
Course lecturers: Howard Barringer

Sean Bechhofer

John Latham

Additional staff: view all staff
Sem 1 w1-5,7-12 Lecture 1.1 Thu 11:00 - 12:00 -
Sem 1 w1-5,7-12 Lecture 1.1 Fri 11:00 - 12:00 -
Sem 1 w1-5,7-12 Lecture 1.1 Mon 14:00 - 15:00 -
Sem 1 w2-5,7-12 Lab UNIX Fri 13:00 - 15:00 A,Z
Sem 1 w2-5,7-12 Lab UNIX Thu 13:00 - 15:00 D,Y
Sem 1 w2-5,7-12 Lab UNIX Thu 15:00 - 17:00 C,X
Sem 1 w2-5,7-12 Lab UNIX Fri 15:00 - 17:00 M,W
Sem 1 w3,5,8,10,12 Lab UNIX Wed 09:00 - 11:00 A,Z
Sem 1 w3,5,8,10,12 Lab UNIX Tue 10:00 - 12:00 M,W
Sem 1 w3,5,8,10,12 Lab UNIX Mon 11:00 - 13:00 D,Y
Sem 1 w3,5,8,10,12 Lab UNIX Tue 13:00 - 15:00 C,X
Assessment Breakdown
Exam: 50%
Coursework: 0%
Lab: 50%
Degrees for which this unit is core
  • Artificial Intelligence BSc (Hons)


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

Learning Outcomes

Students completing this course unit should:
Have a clear understanding of the basic principles of the Java programming language. (A)
Be able to design and code small Java programs, which meet simple requirements expressed in English. (A,B,C)
Be able to test and debug simple Java programs. (B,C)
Be able to write informal justifications for the programs they design. They should also be used to using laboratory notebooks for recording explorations of design alternative. (B,C)
Have a clear understanding of the need for a development process.(A)

Assessment of Learning outcomes

Learning outcome (1) is assessed by examination. Learning outcome (2) is assessed by examination and in the laboratory. Learning outcomes (3), (4) and (5) are assessed in the online and offline laboratory sessions.

Contribution to Programme Learning Outcomes

A2, B1, B2, B3, C5, D4, D5


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)

Reading List

The following three books are recommended as being supportive for this course unit, although no single one is recommended as an essential purchase. It is expected, however, that most students will purchase one of the books. In particular, it is suggested that each tutorial group coordinates its selection to ensure access to all three books.

Other supporting material is provided by:

COMP10081 lecture handouts
COMP10081 tutorial sheets

Title: Absolute Java (3rd edition)
Author: Savitch, Walter J.
ISBN: 0321505042
Publisher: Pearson Education
Edition: 3rd
Year: 2007

Title: Introduction to Java programming (6th edition)
Author: Liang, Y. Daniel
ISBN: 0132221586
Publisher: Pearson Education
Edition: 6th
Year: 2006

Title: Java in two semesters (2nd edition)
Author: Charatan, Q. and A. Kans
ISBN: 0077098048
Publisher: McGraw-Hill
Edition: 2nd
Year: 2002