Lectures and Assignments

Lectures 1–6 are presented on their own pages, along with the lab exercises and homework assignments that accompanied each lecture. Lectures 7 and 8 are presented below; there were no associated labs and assignments, since students were working on the final project.

Lecture 1: Compilation Pipeline

Lecture 2: Control Structures, Variables, Scope, and Uninitialized Memory

Lecture 3: C Memory Management

Lecture 4: Data Structures, Debugging

Lecture 5: C++ Introduction, Classes, and Templates

Lecture 6: C++ Inheritance

Lecture 7: Parent Destructors, C++ Casts, References, Namespaces, Operator Overloading, Streams (PDF)

Lecture 8: Standard Template Library, Exceptions, Function Pointers, C++11 (PDF - 1.4 MB)