[1-2] Introduction to Object-Oriented design - The case for object-oriented design. Abstraction, encapsulation, modularity, reuse of software. Overview of the course.
[3-4] A Refresher Course in C - Overview of C, Procedural Programming, Structures.
[5-8] The C++ Class - Basics of the C++ class, constructors, destructors, memory allocation, operator overloading, friend operators.
[9-12] Inheritance - Inheritance, public/private/protected, member functions/variables, casting, virtual and abstract.
[13-14] Templates - templates and generic programming, design and use.
[15-16] Standard Template Library - namespaces, streams, strings, vectors, lists, iterators, maps and algorithms
[17-18] A Review of C+/strong> - general review of the key components of C++
[19–20] Object Orientated Design Methodology - Design issues and planning
[21–22] Revision