Introduction to Object Oriented Programming

Module code: CO1105

Programming and programming skills build part of the foundation of every computer science degree, with many of the ideas and concepts being shared between different programming languages. In this module we focus on Java, which is an object-oriented language. The object-oriented concepts build the backbone of this module, and starting with the fundamental ideas of classes, attributes and methods – we develop many practical examples. Throughout the module we will focus on the implementation and the design techniques of OOP software products and step by step we use the UML notations and diagrams to represent and reason about different design options.

In this module, you will:

  • Define, discuss and explain classes and objects, inheritance, abstraction and interfaces; write simple programs
  • Define and explain topics such as dynamic despatch, message passing, encapsulation, information hiding and polymorphism; write simple programs
  • Analyse program behaviour using exceptions and testing. Write programs using integrated development environments, tool support and debuggers
  • Solve small scale computing problems that are suited to OO development by designing solutions and then coding the design