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 06 2025 Lec 00 |
Python vs. C++ (C++) |
Slides (.pdf) | Lab0 assigned A0 assigned |
||
Wed Jan 08 2025 Lec 01 |
Imperative Programming: Compiling Hello World (C++ CLI) |
Lab0 due Watch C++ Language & Syntax (7:37) Watch Standard Output (4:02) |
Slides (.pdf) | Complete Lecture 01 Post Class Survey |
cpp4py: 1.1 - 1.8 cppme: Basics of C++ |
Thu Jan 09 2025 | A0 due |
||||
Fri Jan 10 2025 Lec 02 |
Imperative Programming: Variables, Memory (C++ MM) |
Lecture 01 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 13 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 Slides (.pdf) Lecture Example Code |
Complete Random Number Quiz |
|
Wed Jan 15 2025 Lec 04 |
Structured Programming: Conditionals & Scope (C++ DE MM) |
Random Number Quiz Due Lab1A due Watch if-else (6:06) Watch switch (6:48) |
Handout (.pdf) Slides (.pdf) Lecture Example Code |
Lab1B assigned A1 assigned |
cpp4py: 3.1 cppme: if cppme: switch Comparing floats |
Fri Jan 17 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) |
Handout (.pdf) Slides (.pdf) Lecture Example Code |
cpp4py: 3.2 - 3.7 cppme: Loops |
|
[Top] | |||||
Mon Jan 20 2025 | --- NO CLASS --- MARTIN LUTHER KING JR DAY --- | ||||
Wed Jan 22 2025 Lec 06 |
Debugging: Print Lines v The Debugger (C++ CLI) |
Lab1B due |
Debugger Cheat Sheet (.pdf) Slides (.pdf) Lecture Example Code |
Complete Lecture 06 Post Class Survey |
|
Thu Jan 23 2025 | A1 due |
||||
Fri Jan 24 2025 Lec 07 |
Procedural Programming: Functions by Value (C++ DE MM) |
Lecture 06 Post Class Survey Due Watch Functions (7:30) |
Quiz 1: Imperative & Structured Programming |
Lab2A assigned |
cpp4py: 4.1, 4.4 cppme: Functions |
[Top] | |||||
Mon Jan 27 2025 Lec 08 |
Abstraction & Reuseability: Multifile Programs & Makefiles II (C++ CLI DE) |
Lecture Example Code | |||
Wed Jan 29 2025 Lec 09 |
Scope on the Call Stack: Introducing Raw Pointers (C++ MM) |
Lab2A due Watch Pointers + Free Store (27:59) |
Lecture Example Code | Lab2B assigned |
cpp4py: 2.5 cppme: Pointers |
Fri Jan 31 2025 Lec 10 |
Procedural Programming: Functions by Pointer (C++ DE MM) |
Watch Pointers + Free Store (27:59) |
Lab2C assigned A2 assigned |
||
[Top] | |||||
Mon Feb 03 2025 Lec 11 |
Exam I Review (C++ CLI DE MM) |
Exam 1 LOs Exam 1 Extra Credit Questions |
Quiz 2: Procedural Programming |
||
Wed Feb 05 2025 Lec 12 |
Exam I (C++ CLI DE MM) |
Structured & Procedural Programming Exam |
|||
Fri Feb 07 2025 Lec 13 |
Reference v Pointing (C++ MM OOP) |
Lab2B due |
w3s: References |
||
[Top] | |||||
Mon Feb 10 2025 Lec 14 |
Object-Oriented Programming: Encapsulating State (C++ MM OOP) |
Lab2C due |
w3s: OOP w3s: Classes/Objects w3s: Methods |
||
Tue Feb 11 2025 | A2 due |
||||
Wed Feb 12 2025 Lec 15 |
File Input & Output (C++ DE OOP) |
Lab3A assigned |
cpp4py: 6.1 - 6.7 cppme: File I/O w3s: Files |
||
Fri Feb 14 2025 Lec 16 |
Stream Formatting & Data Validation (C++ DE OOP) |
cppme: iomanip |
|||
[Top] | |||||
Mon Feb 17 2025 | --- NO CLASS --- PRESIDENT'S DAY --- | ||||
Wed Feb 19 2025 Lec 17 |
STL Collections & Big-O Notation: std::vector & std::string (ADS C++ DE MM OOP) |
Lab3B assigned |
cpp4py: 5.3 - 5.4 C++ Reference: string C++ Reference: vector w3s: Strings w3s: Vectors |
||
Fri Feb 21 2025 Lec 18 |
Object-Oriented Programming: Constructors & Access Modifiers (C++ DE MM OOP) |
Lab3A due |
A3 assigned |
w3s: Constructors w3s: Access Modifiers w3s: Encapsulation |
|
[Top] | |||||
Mon Feb 24 2025 Lec 19 |
Object-Oriented Programming: Working with Objects (C++ DE MM OOP) |
FP Proposal assigned |
|||
Wed Feb 26 2025 Lec 20 |
Procedural + Object-Oriented Programming: Objects and Functions (C++ DE MM OOP) |
Lab3B due |
|||
Fri Feb 28 2025 Lec 21 |
The Effects of const (C++ DE MM OOP) |
Quiz 3: Streams & STL Collections |
Read: Pointers and const |
cppme: const |
|
[Top] | |||||
Mon Mar 03 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: Function Pointers cppme: Functors cppme: Operator Overloading |
||
Tue Mar 04 2025 | A3 due |
||||
Wed Mar 05 2025 Lec 23 |
Object-Oriented Programming: Templates (C++ DE OOP) |
Quiz 4: OOP & Pointers |
Lab4B assigned |
cppme: Templates cppme: Templated Functions |
|
Fri Mar 07 2025 Lec 24 |
Exam II Review (ADS C++ CLI DE MM OOP) |
Exam 1 LOs |
|||
[Top] | |||||
Mon Mar 10 2025 Lec 25 |
Exam II (ADS C++ CLI DE MM OOP) |
Object-Oriented Programming Exam |
|||
Wed Mar 12 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 Mar 14 2025 Lec 27 |
Libraries & SFML (CLI DE OOP) |
Lab4C assigned A4 assigned |
SFML |
||
[Top] | |||||
Mon Mar 17 2025 | --- NO CLASS --- SPRING BREAK --- | ||||
Wed Mar 19 2025 | --- NO CLASS --- SPRING BREAK --- | ||||
Fri Mar 21 2025 | --- NO CLASS --- SPRING BREAK --- | ||||
[Top] | |||||
Mon Mar 24 2025 Lec 28 |
Inheritance: Compile Time Polymorphism (C++ DE MM OOP) |
Lab4B due |
cppme: Multiple Inheritance w3s: Polymorphism |
||
Wed Mar 26 2025 Lec 29 |
Inheritance: Runtime Polymorphism (C++ DE MM OOP) |
Lab5A assigned |
|||
Fri Mar 28 2025 Lec 30 |
Inheritance: Abstract Classes & Interfaces SOLID Principles I (C++ DE MM OOP) |
Lab4C due |
A5 assigned |
||
[Top] | |||||
Mon Mar 31 2025 Lec 31 |
SOLID Principles II: Designing with Abstraction (C++ DE MM OOP) |
cppme: Class Design |
|||
Tue Apr 01 2025 | A4 due |
||||
Wed Apr 02 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 Apr 04 2025 Lec 33 |
Collections: Abstract List Operations & Dynamic Arrays (ADS C++ DE MM) |
Lab5A due |
Lab6A assigned |
||
[Top] | |||||
Mon Apr 07 2025 Lec 34 |
Collections: Linked List (ADS C++ DE MM) |
cppme: Structures cppme: Singly Linked Lists |
|||
Wed Apr 09 2025 Lec 35 |
Exception Handling (C++ DE) |
Quiz 5: Inheritance & SOLID Design |
cpp4py: 7.1 cppme: Exceptions w3s: Exceptions |
||
Fri Apr 11 2025 | --- NO CLASS --- E-DAYS --- | ||||
[Top] | |||||
Mon Apr 14 2025 Lec 36 |
Collections: Sorting a List Selection / Insertion / Bubble / Merge Sort (ADS C++ DE MM) |
Lab6B assigned |
|||
Wed Apr 16 2025 Lec 37 |
Recursion (DE MM) |
cppme: Recursion w3s: Recursion |
|||
Tue Apr 17 2025 | A5 due |
||||
Fri Apr 18 2025 Lec 38 |
Collections: Searching a List via Linear / Binary Search Iteration v Recursion (ADS C++ DE MM) |
||||
[Top] | |||||
Mon Apr 21 2025 Lec 39 |
Collections: 2D Lists Breadth-First Search v Depth-First Search (ADS C++ DE MM) |
Lab6A due |
Lab6C assigned A6 assigned (For Fun Watch: Micromouse Competition) |
||
Wed Apr 23 2025 Lec 40 |
Collections: C++ STL - std::vector , std::list , std::stack , std::queue (ADS C++ DE MM) |
||||
Fri Apr 25 2025 Lec 41 |
Resource Acquisition Is Initialization (RAII): Smart Pointers and The Rule of 5 (C++ DE MM OOP) |
||||
[Top] | |||||
Mon Apr 28 2025 Lec 42 |
Collections: Trees & Graphs (ADS C++ DE MM) |
Lab6B due |
Quiz 6: Lists |
AXC assigned |
cppme: Binary Trees |
Wed Apr 30 2025 Lec 43 |
Final Exam Review (ADS C++ CLI DE MM OOP) |
Lab6C due Exam 1 LOs Full Course LOs |
|||
Thu May 01 2025 | LAST DAY TO SUBMIT ASSIGNMENTS FOR CREDIT A6 due FP due AXC due |
||||
[Top] | |||||
? May ?? 2025 | Final Cumulative Exam Time: TBA Rooms: Section A (Romig 9am) - TBA Section B (Paone 10am) - TBA Section C (Scholten 10am) - TBA Section D (Scholten 11am) - TBA Section E (Romig 12pm) - TBA |
||||
[Top] |