Summary
There will be two hours of lectures per week, and each student will have a weekly timetabled lab session. In addition, students will be expected to spend further time outside scheduled lab periods, and to read textbooks and review notes. Major topics include the concepts of class, object, method, subclass, inheritance and their use in programming.

Aims
The course aims to improve the programming skills of students and to develop fundamental skills in reading, writing, describing, structuring and reasoning about programs. In particular, the course aims to develop these skills at the level of mid-level structure as seen in the object oriented style of programming.

Syllabus
Classes and objects
instance methods and instance variables
inheritance, subclasses, substitution principle, polymorphism, dynamic dispatch
abstract and final classes, interfaces
collections, including ArrayLists
generics
exceptions
files read and write