University of Oxford Logo University of OxfordSoftware Engineering - Home
On Facebook
Follow us on twitter
Linked in
Linked in
Google plus
Google plus
Stumble Upon
Stumble Upon

Object Orientation

This is a general course in object orientation, offering an introduction for complete beginners and a wider perspective for experienced users of object technology. This course provides a `big picture', rather than presenting many little details.

Course dates

Future courses yet to be planned.


At the end of the course, students will have a solid foundation in object-oriented concepts. They will know the history of object-oriented languages, and appreciate the advantages that object orientation brings. They will have a little experience in object-oriented programming (using Java) and design (using UML).

They will be able to make educated assessments of the benefits of object orientation, and will have a framework on which to build deeper knowledge of the concepts.


Object orientation in context:
structured programming; abstract data types;
driving applications (discrete event simulation, GUI toolkits);
languages (Simula, Smalltalk, C++, Eiffel, Self, Visual Basic, Java).
Essential object-oriented concepts:
abstraction and encapsulation; design by contract; classes and objects;
inheritance; polymorphism.
Introduction to object-oriented programming:
Java design considerations; support for object-oriented concepts;
programming in Java; case study.
Introduction to object-oriented design:
unified modelling language; class, state and sequence diagrams;
invariants, assertions, snapshots and filmstrips; semantics of diagrams;
case study.


Some familiarity with programming (in any language) will be helpful. No experience with object-oriented concepts is necessary or expected.