This document provides an overview of an Object Oriented Programming course taught by Dr. Robert Harle at the University of Cambridge. The course covers four main parts: computer fundamentals, object-oriented concepts, the Java platform, and design patterns. It will teach object-oriented programming principles using the Java language, but will also discuss other languages to illustrate concepts. The course complements practical Java labs and is meant to help students understand both OOP concepts and how to implement them in Java.