| Week | Topics |
| 1 | Overview of Software Development. The programming languages and their relationships in the family of the C heritage. Console vs. visual compilation, the C++ Builder IDE. Visual Component Library (VCL). |
| 2 | Basic C++ command structures. C features and their evolution in C++. Basic I/O commands and formatting. Macros, the C Preprocessor. Chapter 2. |
| 3 | C++ program structure, header files. Namespaces. C++ streams and basic file I/O. C++ data types, implicit and explicit type conversions. Enumerations. |
| 4 | C++ functions. Pass and return by value, by reference and by constant reference. Function pointers. Chapter 3. |
| 5 | Overview of C++ control flow. Chapters 4 and 5. Reference types and aliases. Pointers and pointer arithmetic. |
| 6 | Static arrays in C++. Multidimensional arrays. Scope and life time of variables. Static variables. Chapter 6. |
| 7 | Overview of object-oriented programming concepts. C++ struct and class. Nested classes. |
| 8 | Constructors and destructors in C++. Public and private access, class scope, static class members. Chapter 7. Midterm Exam (Chapters 1-7). |
| 9 | Aggregation, pointer members. Default, conversion and copy constructor. Shallow and deep copy. Containers and iterators. |
| 10 | First class objects. Operator overloading. Friend functions and classes. Chapter 8. |
| 11 | Storage Management. Dynamic arrays. New and delete operators. Destructors with pointer members. Defaulted operations. |
| 12 | Memory allocation problems: memory leak, dangling and uninitialized pointers. Pointers vs. references. Chapter 9. |
| 13 | Inheritance and class hierarchies in C++. Protected data members, contructor and destructor invocation in class hierarchies. |
| 14 | Compile-time polymorphism. C++ streams and built-in inheritance. Multiple inheritance. Chapter 10. |
| 15 | Run-time polymorhism. Virtual functions. Abstract base classes. Chapter 11. Review. Final Exam. |