Go To Today
Modules
- ADS: Algorithms and Data Structures
- C++: C++ Programming
- CLI: Command Line Interface
- DE: Design Elements
- MM: Memory Management
- OOP: Object-Oriented Programming
| Date | Topic | Before Class | In Class | After Class | Resources |
| [Top] | |||||
| Mon Jan 12 2026 Lec 00 |
Python vs. C++ (C++) |
Slides (.pdf) | Lab0 assigned A0 assigned |
||
| Wed Jan 14 2026 Lec 01 |
Imperative Programming: Compiling Hello World (C++ CLI) |
Lab0 due Watch C++ Language & Syntax (7:37) Watch Standard Output (4:02) |
Slides (.pdf) Lecture Example Code |
Complete Lecture01 Post Class Survey |
cpp4py: 1.1 - 1.8 cppme: Basics of C++ |
| Thu Jan 15 2026 | A0 due |
||||
| Fri Jan 16 2026 Lec 02 |
Imperative Programming: Variables, Memory (C++ MM) |
Lecture01 Post Class Survey Due Watch Data Types (10:13) Watch Standard Input (3:32) Watch Style Guide - Variable Naming (4:51) |
Handout (.pdf) Slides (.pdf) |
Lab1A assigned |
cpp4py: 2.1 - 2.4 cppme: Modulus A Tutorial On Two's Complement cppme: Typecasting |
| [Top] | |||||
| Mon Jan 19 2026 | --- NO CLASS --- MARTIN LUTHER KING JR. DAY --- | ||||
| Wed Jan 21 2026 Lec 03 |
Random Values & The Command Line Interface and Makefiles I: Compiler Directives & Targets (CLI) |
First read cppme: Random Values Then watch rand() Considered HarmfulWatch C++11 Random Number Generation (2:16) |
CLI Cheat Sheet (.pdf) Makefile Cheat Sheet Lecture Example Code |
||
| Fri Jan 23 2026 Lec 04 |
Structured Programming: Conditionals & Scope (C++ DE MM) |
Lab1A due Watch if-else (6:06) Watch switch (6:48) Watch Short Circuit (4:34) |
Random Numbers Quiz |
Lab1B assigned A1 assigned |
cpp4py: 3.1 cppme: if cppme: switch Comparing floats |
| [Top] | |||||
| Mon Jan 26 2026 Lec 05 |
Structured Programming: Loops & Scope (C++ DE MM) |
Watch Loops (while, do-while, for) (6:25) Watch Loop Flow (break, continue) (3:38) |
cpp4py: 3.2 - 3.7 cppme: Loops |
||
| Wed Jan 28 2026 Lec 06 |
Debugging: Print Lines v The Debugger (C++ CLI) |
Lab1B due |
Debugger Cheat Sheet (.pdf) |
||
| Thu Jan 29 2026 | A1 due |
||||
| Fri Jan 30 2026 Lec 07 |
Procedural Programming: Functions by Value (C++ DE MM) |
Watch Functions (7:30) |
Structured Programming Quiz |
Lab2A assigned |
cpp4py: 4.1, 4.4 cppme: Functions |
| [Top] | |||||
| Mon Feb 02 2026 Lec 08 |
Abstraction & Reuseability: Multifile Programs & Makefiles II (C++ CLI DE) |
||||
| Wed Feb 04 2026 Lec 09 |
Scope on the Call Stack: Introducing Raw Pointers (C++ MM) |
Watch Pointers + Free Store (27:59) |
Lab2B assigned |
cpp4py: 2.5 cppme: Pointers |
|
| Fri Feb 06 2026 Lec 10 |
Procedural Programming: Functions by Pointer (C++ DE MM) |
Lab2A due Watch Pointers + Free Store (27:59) |
Lab2C assigned A2 assigned |
||
| [Top] | |||||
| Mon Feb 09 2026 Lec 11 |
Exam I Review (C++ CLI DE MM) |
||||
| Wed Feb 11 2026 Lec 12 |
Exam I (C++ CLI DE MM) |
Structured & Procedural Programming Exam |
|||
| Fri Feb 13 2026 Lec 13 |
Reference v Pointing (C++ MM OOP) |
Lab2B due |
w3s: References |
||
| [Top] | |||||
| Mon Feb 16 2026 | --- NO CLASS --- PRESIDENT'S DAY --- | ||||
| Wed Feb 18 2026 Lec 14 |
Object-Oriented Programming: Encapsulating State (C++ MM OOP) |
Lab2C due |
w3s: OOP w3s: Classes/Objects w3s: Methods |
||
| Thu Feb 19 2026 | A2 due |
||||
| Fri Feb 20 2026 Lec 15 |
File Input & Output (C++ DE OOP) |
Watch Using Objects (2:55) Watch File Input (5:07) Watch File Output (3:06) |
Lab3A assigned |
cpp4py: 6.1 - 6.7 cppme: File I/O w3s: Files |
|
| [Top] | |||||
| Mon Feb 23 2026 Lec 16 |
Stream Formatting & Data Validation (C++ DE OOP) |
Watch Output Formatting (5:12) |
cppme: iomanip |
||
| Wed Feb 25 2026 Lec 17 |
STL Collections & Big-O Notation: std::vector & std::string(ADS C++ DE MM OOP) |
Lab3A due Watch STL Vector (3:48) Watch STL String (3:22) |
Lab3B assigned |
cpp4py: 5.3 - 5.4 C++ Reference: stringC++ Reference: vectorw3s: Strings w3s: Vectors |
|
| Fri Feb 27 2026 Lec 18 |
Object-Oriented Programming: Constructors & Access Modifiers (C++ DE MM OOP) |
A3 assigned |
w3s: Constructors w3s: Access Modifiers w3s: Encapsulation |
||
| [Top] | |||||
| Mon Mar 02 2026 Lec 19 |
Object-Oriented Programming: Working with Objects (C++ DE MM OOP) |
Lab3B due |
FP Proposal assigned |
||
| Wed Mar 04 2026 Lec 20 |
Procedural + Object-Oriented Programming: Objects and Functions (C++ DE MM OOP) |
||||
| Fri Mar 06 2026 Lec 21 |
The Effects of const(C++ DE MM OOP) |
Read: Pointers and const |
cppme: const |
||
| [Top] | |||||
| Mon Mar 09 2026 Lec 22 |
Object-Oriented Programming: The Big 3 Shallow Copy v Deep Copy (C++ DE MM OOP) |
FP Proposal due at midnight Lab4A assigned |
cpp4py: 4.2 cppme: Functors cppme: Operator Overloading |
||
| Wed Mar 11 2026 Lec 23 |
Object-Oriented Programming: Templates (C++ DE OOP) |
Lab4B assigned |
cppme: Templates cppme: Templated Functions |
||
| Thu Mar 12 2026 | A3 due |
||||
| Fri Mar 13 2026 Lec 24 |
Exam II Review (ADS C++ CLI DE MM OOP) |
||||
| [Top] | |||||
| Mon Mar 16 2026 Lec 25 |
Exam II (ADS C++ CLI DE MM OOP) |
Object-Oriented Programming Exam |
|||
| Wed Mar 18 2026 Lec 26 |
Object-Oriented Programming: Inheritance (C++ DE MM OOP) |
Lab4A due |
w3s: Inheritance cppme: Inheritance cppme: Inheritance II cppme: Object Lifetime cppme: Inheritance |
||
| Fri Mar 20 2026 Lec 27 |
Libraries & SFML (CLI DE OOP) |
Lab4B due |
Lab4C assigned A4 assigned |
SFML |
|
| [Top] | |||||
| Mon Mar 23 2026 | --- NO CLASS --- SPRING BREAK --- | ||||
| Wed Mar 25 2026 | --- NO CLASS --- SPRING BREAK --- | ||||
| Fri Mar 27 2026 | --- NO CLASS --- SPRING BREAK --- | ||||
| [Top] | |||||
| Mon Mar 30 2026 Lec 28 |
Inheritance: Compile Time Polymorphism (C++ DE MM OOP) |
Watch Function Pointers (8:17) |
cppme: Multiple Inheritance w3s: Polymorphism cppme: Function Pointers |
||
| Wed Apr 01 2026 Lec 29 |
Inheritance: Runtime Polymorphism (C++ DE MM OOP) |
Lab5A assigned |
|||
| Fri Apr 03 2026 Lec 30 |
Inheritance: Abstract Classes & Interfaces SOLID Principles I (C++ DE MM OOP) |
Lab4C due |
A5 assigned |
||
| [Top] | |||||
| Mon Apr 06 2026 Lec 31 |
SOLID Principles II: Designing with Abstraction (C++ DE MM OOP) |
cppme: Class Design |
|||
| Wed Apr 08 2026 Lec 32 |
Collections: Static Arrays & Big-O Analysis (ADS C++ DE MM) |
cpp4py: 4.3, 5.1 - 5.2, 6.8 cppme: Arrays cppme: C-Strings cppme: string cppme: Command Line Arguments |
|||
| Thu Apr 09 2026 | A4 due |
||||
| Fri Apr 10 2026 Lec 33 |
Collections: Abstract List Operations & Dynamic Arrays (ADS C++ DE MM) |
Lab5A due |
Lab6A assigned |
||
| [Top] | |||||
| Mon Apr 13 2026 Lec 34 |
Collections: Linked List (ADS C++ DE MM) |
cppme: Structures cppme: Singly Linked Lists |
|||
| Wed Apr 15 2026 Lec 35 |
Exception Handling (C++ DE) |
cpp4py: 7.1 cppme: Exceptions w3s: Exceptions |
|||
| Fri Apr 17 2026 | --- NO CLASS --- E-DAYS --- | ||||
| [Top] | |||||
| Mon Apr 20 2026 Lec 36 |
Collections: Sorting a List Selection / Insertion / Bubble / Merge Sort (ADS C++ DE MM) |
Lab6B assigned |
|||
| Wed Apr 22 2026 Lec 37 |
Recursion (DE MM) |
cppme: Recursion w3s: Recursion |
|||
| Thu Apr 23 2026 | A5 due |
||||
| Fri Apr 24 2026 Lec 38 |
Collections: Searching a List via Linear / Binary Search Iteration v Recursion (ADS C++ DE MM) |
Lab6A due |
|||
| [Top] | |||||
| Mon Apr 27 2026 Lec 39 |
Collections: 2D Lists Breadth-First Search v Depth-First Search (ADS C++ DE MM) |
Lab6C assigned A6 assigned (For Fun Watch: Micromouse Competition) |
|||
| Wed Apr 29 2026 Lec 40 |
Collections: C++ STL - std::vector, std::list, std::stack, std::queue(ADS C++ DE MM) |
||||
| Fri May 01 2026 Lec 41 |
Collections: Trees & Graphs (ADS C++ DE MM) |
Lab6B due |
AXC assigned |
cppme: Binary Trees |
|
| [Top] | |||||
| Mon May 04 2026 Lec 42 |
Resource Acquisition Is Initialization (RAII): The Rule Of The Big 5 and Smart Pointers (C++ DE MM OOP) |
Lab6C due |
The Rule Of The Big Five |
||
| Wed May 06 2026 Lec 43 |
Final Exam Review (ADS C++ CLI DE MM OOP) |
Full Course LOs |
|||
| Thu May 07 2026 | LAST DAY TO SUBMIT ASSIGNMENTS FOR CREDIT A6 due FP due AXC due |
||||
| [Top] | |||||
| Mon May 11 2026 | Final Cumulative Exam Time: 08:00 AM - 10:00 AM Rooms: Section A: TBA Section B: TBA Section C: TBA Section D: TBA |
||||
| [Top] | |||||