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 Aug 25 2025 Lec 00 |
Python vs. C++ (C++) |
Lab0 assigned A0 assigned |
|||
Wed Aug 27 2025 Lec 01 |
Imperative Programming: Compiling Hello World (C++ CLI) |
Lab0 due Watch C++ Language & Syntax (7:37) Watch Standard Output (4:02) |
cpp4py: 1.1 - 1.8 cppme: Basics of C++ |
||
Thu Aug 28 2025 | A0 due |
||||
Fri Aug 29 2025 Lec 02 |
Imperative Programming: Variables, Memory (C++ MM) |
Watch Data Types (10:13) Watch Standard Input (3:32) Watch Style Guide - Variable Naming (4:51) |
Lab1A assigned |
cpp4py: 2.1 - 2.4 cppme: Modulus A Tutorial On Two's Complement cppme: Typecasting |
|
[Top] | |||||
Mon Sep 01 2025 | --- NO CLASS --- LABOR DAY --- | ||||
Wed Sep 03 2025 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 |
||
Fri Sep 05 2025 Lec 04 |
Structured Programming: Conditionals & Scope (C++ DE MM) |
Lab1A due Watch if-else (6:06) Watch switch (6:48) |
Lab1B assigned A1 assigned |
cpp4py: 3.1 cppme: if cppme: switch Comparing floats |
|
[Top] | |||||
Mon Sep 08 2025 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 Sep 10 2025 Lec 06 |
Debugging: Print Lines v The Debugger (C++ CLI) |
Lab1B due |
Debugger Cheat Sheet (.pdf) |
||
Thu Sep 11 2025 | A1 due |
||||
Fri Sep 12 2025 Lec 07 |
Procedural Programming: Functions by Value (C++ DE MM) |
Watch Functions (7:30) |
Lab2A assigned |
cpp4py: 4.1, 4.4 cppme: Functions |
|
[Top] | |||||
Mon Sep 15 2025 Lec 08 |
Abstraction & Reuseability: Multifile Programs & Makefiles II (C++ CLI DE) |
||||
Wed Sep 17 2025 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 Sep 19 2025 Lec 10 |
Procedural Programming: Functions by Pointer (C++ DE MM) |
Lab2A due Watch Pointers + Free Store (27:59) |
Lab2C assigned A2 assigned |
||
[Top] | |||||
Mon Sep 22 2025 Lec 11 |
Exam I Review (C++ CLI DE MM) |
||||
Wed Sep 24 2025 Lec 12 |
Exam I (C++ CLI DE MM) |
Structured & Procedural Programming Exam |
|||
Fri Sep 26 2025 Lec 13 |
Reference v Pointing (C++ MM OOP) |
Lab2B due |
w3s: References |
||
[Top] | |||||
Mon Sep 29 2025 Lec 14 |
Object-Oriented Programming: Encapsulating State (C++ MM OOP) |
Lab2C due |
w3s: OOP w3s: Classes/Objects w3s: Methods |
||
Tue Sep 30 2025 | A2 due |
||||
Wed Oct 01 2025 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 |
|
Fri Oct 03 2025 Lec 16 |
Stream Formatting & Data Validation (C++ DE OOP) |
Watch Output Formatting (5:12) |
cppme: iomanip |
||
[Top] | |||||
Mon Oct 06 2025 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: string C++ Reference: vector w3s: Strings w3s: Vectors |
|
Wed Oct 08 2025 Lec 18 |
Object-Oriented Programming: Constructors & Access Modifiers (C++ DE MM OOP) |
A3 assigned |
w3s: Constructors w3s: Access Modifiers w3s: Encapsulation |
||
Fri Oct 10 2025 Lec 19 |
Object-Oriented Programming: Working with Objects (C++ DE MM OOP) |
Lab3B due |
FP Proposal assigned |
||
[Top] | |||||
Mon Oct 13 2025 Lec 20 |
Procedural + Object-Oriented Programming: Objects and Functions (C++ DE MM OOP) |
||||
Wed Oct 15 2025 Lec 21 |
The Effects of const (C++ DE MM OOP) |
Read: Pointers and const |
cppme: const |
||
Fri Oct 17 2025 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 |
||
[Top] | |||||
Mon Oct 20 2025 | --- NO CLASS --- FALL BREAK --- | ||||
Tue Oct 21 2025 | --- FALL BREAK --- | ||||
Wed Oct 22 2025 Lec 23 |
Object-Oriented Programming: Templates (C++ DE OOP) |
Lab4B assigned |
cppme: Templates cppme: Templated Functions |
||
Thu Oct 23 2025 | A3 due |
||||
Fri Oct 24 2025 Lec 24 |
Exam II Review (ADS C++ CLI DE MM OOP) |
||||
[Top] | |||||
Mon Oct 27 2025 Lec 25 |
Exam II (ADS C++ CLI DE MM OOP) |
Object-Oriented Programming Exam |
|||
Wed Oct 29 2025 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 Oct 31 2025 Lec 27 |
Libraries & SFML (CLI DE OOP) |
Lab4B due |
Lab4C assigned A4 assigned |
SFML |
|
[Top] | |||||
Mon Nov 03 2025 Lec 28 |
Inheritance: Compile Time Polymorphism (C++ DE MM OOP) |
Watch Function Pointers (8:17) |
cppme: Multiple Inheritance w3s: Polymorphism cppme: Function Pointers |
||
Wed Nov 05 2025 Lec 29 |
Inheritance: Runtime Polymorphism (C++ DE MM OOP) |
Lab5A assigned |
|||
Fri Nov 07 2025 Lec 30 |
Inheritance: Abstract Classes & Interfaces SOLID Principles I (C++ DE MM OOP) |
Lab4C due |
A5 assigned |
||
[Top] | |||||
Mon Nov 10 2025 Lec 31 |
SOLID Principles II: Designing with Abstraction (C++ DE MM OOP) |
cppme: Class Design |
|||
Tue Nov 11 2025 | A4 due |
||||
Wed Nov 12 2025 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 |
|||
Fri Nov 14 2025 Lec 33 |
Collections: Abstract List Operations & Dynamic Arrays (ADS C++ DE MM) |
Lab5A due |
Lab6A assigned |
||
[Top] | |||||
Mon Nov 17 2025 Lec 34 |
Collections: Linked List (ADS C++ DE MM) |
cppme: Structures cppme: Singly Linked Lists |
|||
Wed Nov 19 2025 Lec 35 |
Exception Handling (C++ DE) |
cpp4py: 7.1 cppme: Exceptions w3s: Exceptions |
|||
Fri Nov 21 2025 Lec 36 |
Collections: Sorting a List Selection / Insertion / Bubble / Merge Sort (ADS C++ DE MM) |
Lab6B assigned |
|||
[Top] | |||||
Mon Nov 24 2025 Lec 37 |
Recursion (DE MM) |
Lab6A due |
cppme: Recursion w3s: Recursion |
||
Tue Nov 25 2025 | A5 due |
||||
Wed Nov 26 2025 | --- NO CLASS --- THANKSGIVING BREAK --- | ||||
Thu Nov 27 2025 | --- THANKSGIVING BREAK --- | ||||
Fri Nov 28 2025 | --- NO CLASS --- THANKSGIVING BREAK --- | ||||
[Top] | |||||
Mon Dec 01 2025 Lec 38 |
Collections: Searching a List via Linear / Binary Search Iteration v Recursion (ADS C++ DE MM) |
||||
Wed Dec 03 2025 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) |
|||
Fri Dec 05 2025 Lec 40 |
Collections: C++ STL - std::vector , std::list , std::stack , std::queue (ADS C++ DE MM) |
||||
[Top] | |||||
Mon Dec 08 2025 Lec 41 |
Collections: Trees & Graphs (ADS C++ DE MM) |
Lab6B due |
AXC assigned |
cppme: Binary Trees |
|
Wed Dec 10 2025 Lec 42 |
Final Exam Review (ADS C++ CLI DE MM OOP) |
Lab6C due |
|||
Thu Dec 11 2025 | LAST DAY TO SUBMIT ASSIGNMENTS FOR CREDIT A6 due FP due AXC due |
||||
[Top] | |||||
Mon Dec 15 2025 | Final Cumulative Exam Time: 08:00 AM - 10:00 AM Rooms: TBA |
||||
[Top] |