Object Oriented Software Development


To provide a deep and systematic understanding of the software development process from initial specification and design to final system testing using sound software engineering methods and techniques following the Object Oriented paradigm.


Defining creating and using objects (2 lectures)

Communicating with objects (methods) (2 Lectures)

Data and operators (2 Lectures)

Control structures and recursion (2 Lectures)

Strings and string processing (2 Lectures).

Arrays and array processing (2 Lectures)

The UML approach to software engineering (2 Lectures)

GUIs (2 Lectures)

Exceptions handling (2 Lectures)

Files, streams and I/O techniques (2 Lectures)

Data structures: Lists, Stacks and Queues (2 Lectures)


Recommended Texts

Morelli, Object-Oriented Problem Solving: Java, Java, Java

Learning Outcomes

At the end of the module students should:

  1. Be able to design, implement and test reasonably complicated software systems.
  2. Have a critical understanding of the Object Oriented Programming (OOP) paradigm.
  3. Be able to analyse critically reasonably complex software systems.
  4. Be able to demonstrate sound programming skills.

The module addresses learning outcome 1 for the MSc in Computer Science programme with respect to the entry route for students without a CS first degree.

Learning Strategy

Formal Lectures: Students will be expected to attend two hours of formal lectures in a typical week plus two hours of supervised tutorial. Much of the material will be presented in the form of "do-it-yourself" work sheets.

Private study: In a typical week students will be expected to devote seven hours of unsupervised time to private study. The time allowed per week for private study will typically include three hours of time for reflection and consideration of lecture material and background reading, and four hours for completion of "do-it-yourself" worksheets and practical exercises.