COURSE OUTLINE

Session 5

Laboratory 1 / Exam 1

Session 6

Classes 1:
Introduction to Classes
Constructors/Destructors
Non-Static Members
Static Members

Session 1  

Introduction:
Basics
Data Types
Control Flow
Operators
Basic I/O

Session 3

Pointers:
Pointers
References
Dynamic Memory Allocation

Session 2

Compound Data Types:
Arrays
Strings
Structures
Unions
Enumerations

Session 4

Functions:
Functions
Recursion
Function Pointers

Session 10

Laboratory 2 / Exam 2

Session 9

Templates:
Function Templates
Template Classes

Session 8

Object-Oriented Programming:
Friendship
Inheritance
Polymorphism
Encapsulation

Session 7  

Classes 2:
Operator Overloading
Copy Constructor
Shallow and Deep Copying
Object Relationships

Session 12

Design Patterns 1:
Creational Design Patterns
Structural Design Patterns

Session 11

Standard Libraries:
Containers
Utilities
Algorithms
I/O

Session 13

Design Patterns 2
Behavioural Design Patterns
Anti-Patterns

Session 14

Advanced Topics:
Lambda Calculus Basics
Using Function Programming 
in C++ 
C++17 and C++20 Features
Template Metaprogramming
Macros

Session 15

Laboratory 3 / Exam 3