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

COMP17010: Object Oriented Programming 1 (2007-2008)

This is an archived syllabus from 2007-2008

Object Oriented Programming 1
Level: 1
Credit rating: 20
Pre-requisites: No Pre-requisites
Co-requisites: No Co-requisites
Lectures: 44 hours
Examples classes: 12 hours
Labs: 44 hours
Lecturers: Andrew Naftel, Sandra Sampaio
Course lecturers: Andrew Naftel

Sandra Sampaio

Additional staff: view all staff
Sem 1 w1-5,7-12 Lecture ZOCHONIS TH.B (G.7) Thu 13:00 - 15:00 -
Sem 1 w1-5,7-12 Examples LF15 Fri 14:00 - 15:00 -
Sem 1 w1-5,7-12 Examples LF17 Fri 14:00 - 15:00 -
Sem 1 w2-5,7-12 Lab LAMB LambLab Wed 09:00 - 11:00 xA
Sem 1 w2-5,7-12 Lab LAMB LambLab Wed 11:00 - 13:00 xB
Sem 1 w2-5,7-12 Examples LF15 :00 - 1:00 xB
Sem 1 w2-5,7-12 Examples LF17 :00 - 1:00 xB
Sem 1 w7-12 Lab LAMB LambLab Fri 10:00 - 11:00 -
Sem 1 w7-12 Lab LAMB LambLab Tue 13:00 - 14:00 -
Sem 2 w19-25,29-32 Lecture 1.5 Fri 09:00 - 11:00 -
Sem 2 w19-25,29-32 Lab LAMB LambLab Wed 09:00 - 11:00 xB
Sem 2 w19-25,29-32 Lab LAMB LambLab Wed 11:00 - 13:00 xA
Sem 2 w19-25,29-32 Examples LF15 Thu 12:00 - 13:00 -
Sem 2 w19-25,29-32 Examples LF17 Thu 12:00 - 13:00 -
Sem 2 w19-25,29-32 Lab LAMB LambLab Tue 13:00 - 14:00 -
Assessment Breakdown
Exam: 50%
Coursework: 50%
Lab: 0%


The aim of this course is to introduce you to object-oriented programming using the Java programming language, to give you an understanding of the object-oriented approach to software development, and to introduce the tools needed for effective software construction.


The unit introduces students to object-oriented programming and gives them experience of writing programs ranging from simple to moderate difficulty level. Students on the degree programmes Computing for Business Applications and Internet Computing develop this material further in the second year in Object-Oriented Programming 2.

Assessment of Learning outcomes

Assessment is via a combination of examination (50%) and coursework (50%). The coursework will consist of regular short laboratory exercises, an extended programming exercise and short tests including multiple choice questions and programming problem.

Academic knowledge

Understand and explain the basic constructs and syntax of the chosen object-oriented programming language.
State the ways in which complex relationships among objects may be modelled in an object-oriented program.
Describe the programming constructs available for the construction of simple graphical user interfaces and access to external data.

Intellectual skills

Demonstrate a basic understanding of the key object-oriented concepts of encapsulation, inheritance and polymorphism and explain how these are implemented in the chosen language.
Match programming language constructs to the needs of a programming problem of moderate complexity involving collections of objects.

Subject practical skills

Apply an object-oriented approach to program development.
Demonstrate an ability to design, implement and test a data processing program with a user interface.
Devise, implement and test program solutions from a well-defined problem specification or object-oriented design.

Transferable Skills

Demonstrate problem-solving ability, including the diagnosis and correction of defects and limitations in the proposed solution to a problem.
Demonstrate a competent level of self-management appropriate to the undertaking of an individual project of moderate difficulty.


Introduction to programming.
Simple overview of program development
Stepwise refinement and pseudocode
Overview of program structure.

Variable declaration and basic data types.
Simplified input and output in Java.

Precedence and associativity
Type conversion
Simple statements
Relational and logical operators

Flow of control
Compound statements, if, loops, switches.

Basic data types
Arrays, single dimension arrays

Collection classes.

Class and instance methods
Using built-in classes and methods
Java documentation
Definition of methods.
Public, private, static and final variables and methods.

Class definition
Constructors, variables and methods
Scope, private variables
Public getter and setter methods.
Extending classes with inheritance.

Introduction to graphics and event driven programming
Simple graphical user interfaces
Containers and components
Layout managers, event listeners.

Review of good programming practice
General points
Style and structure
Software quality
Testing and debugging.

Packages and name-spaces.

Exception handling.

Abstraction, inheritance and interfaces.

Accessing and updating data in files.

Design of programs for sequential data processing.

Reading List

It is essential that students purchase the textbook "Java in Two Semesters" by Q. Charatan and A. Kans.

Title: Java: how to program (7th edition)
Author: Deitel, H.M. and P.J. Deitel
ISBN: 9780132222204
Publisher: Prentice Hall
Edition: 7th
Year: 2007

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

Title: Introduction to Object-Oriented Programming with Java, 4th ed
Author: Wu, C.T.
ISBN: 007111680X
Publisher: McGraw-Hill
Year: 2005

Title: Objects First with Java, 2nd ed
Author: Barnes, D.J. and Kolling, M.
ISBN: 0131249339
Publisher: Prentice Hall
Year: 2004