Object-Oriented Programming
This is a course in object-oriented programming in Java; however, most of the ideas are applicable in any object-oriented language, and for that matter in any programming context. It will use an interactive development environment called BlueJ.
Course dates
| 18th November 2013 | Oxford University Department of Computer Science | 05 places remaining. |
| 3rd March 2014 | Oxford University Department of Computer Science | 11 places remaining. |
| 3rd November 2014 | Oxford University Department of Computer Science | 18 places remaining. |
Objectives
On completion, students will be able to produce object-oriented solutions to a range of standard programming problems; they will be able to articulate and restructure programming objectives in the object-oriented paradigm. They will be informed with regard to the fundamental concepts and principles of object-oriented programming, and able to apply these in any programming language.
Contents
- Principles of object-oriented programming:
- abstraction and encapsulation; classes and objects; inheritance; polymorphism; object identity.
- Classes:
- declarations and definitions; methods; constructors; access control.
- Inheritance:
- subtyping, interfaces and abstract classes; overloading and overriding; single and multiple inheritance.
- Polymorphism:
- polymorphic methods, dynamic binding, genericity.
- Message-passing:
- the Java event model; threads.
- Implementation techniques:
- automatic memory management; pointers and references; the Java Virtual Machine and Java bytecode.
- Criticisms of Java:
- idiosyncrasies; dynamic binding; overloading, genericity; polymorphism in Java.
Requirements
A basic knowledge of object-oriented concepts (such as classes, inheritance, and polymorphism), including a little UML, will be helpful. The Object orientation course is a suitable introduction.