OXFORD UNIVERSITY COMPUTING LABORATORY

Object-Oriented Programming II


BA in Computer Science, Paper CS4
BA in Mathematics & Computer Science, Paper CS4
MEng in Engineering & Computing Science, Section ECS4
MSc in Computer Science, Schedule A
16 HT
Mr B Sufrin

Prerequisites

Apart from reasonable fluency in the Java language, the main prerequisite for this course is a thorough understanding of the material presented in OOP-I. Students taking the M.Sc. in Computer Science who wish to take this course without having taken OOP-I are advised to familiarise themselves with that material in preparation.

Overview

This two-term module starts with an introduction to the basic concepts and techniques of Object Oriented Programming (OOP) and modular program construction. It continues with a number of modest-sized case-studies that introduce a wide variety of OOP programming idioms (Design Patterns) in realistic settings, and closes with a case study of significant size in which many of the idioms are deployed.

Learning Outcomes

Students taking this course with appropriate prerequisites are expected by the end of the course
  • to have a practical understanding of the main principles of modular program construction, including (in particular) the principles of program and data abstraction;
  • have an understanding of the principal design patterns used to clarify the structure of large systems built in object-oriented languages; and
  • to be able to recognise and use these patterns in appropriate situations.

Supplementary Remarks

  • Neither OOP-I&II are specifically about programming in Java, but over the years we have met people who believe they understand Object-Oriented programming because they have done a little programming in Java. In our experience they have rarely been right.
  • This course is being given for the last time this year. It was originally designed as part of a two-course module on Object-Oriented Programming that was presented as an organic whole over two terms as OOP-I and OOP-II. One consequence of this history is that some of the material we will present will repeat from a different perspective a small amount of the material now presented in OOP-I.
  • Originally the Java GUI model was presented in OOP-I as an exemplar of the Model-View-Controller and Composite patterns, and in response to the expressed needs of our students. That material is now presented entirely in OOP-II.



[Oxford Spires]



Oxford University Computing Laboratory Courses Research People About us News