C++ is an excellent language to introduce object-oriented programming as well as procedural programming. After commencing with procedural programming (including the C struct and the writing of functions in which parameters are passed by value and by reference) the course moves swiftly onto the object oriented paradigm. During the course we will cover: the creation of classes, overloading constructors and functions, polymorphism, encapsulation, the public, protected and private interfaces as well as inheritance.
The course will also introduce pointers, dynamic memory allocation, aspects of the software engineering process including the software development life cycle. The course will also include a lecture on the standard template library manipulating vectors and lists.