Modules
- ADS: Algorithms and Data Structures
- C++: C++ Programming
- CLI: Command Line Interface
- DE: Design Elements
- MM: Memory Management
- OOP: Object-Oriented Programming
Resources
- Required
- Optional
DOW | Date | Lec ## | Mod | Lecture Subject | Reading | Notes |
M | 5/13/24 | 0 | C++, CLI | Python vs. C++ Imperative Programming: Compiling Hello World |
zyBooks 1.1 - 1.18, 12.13 | Lab0 assigned |
cpp4py: 1.1 - 1.4 | A0 assigned | |||||
cppme: Basics of C++ | ||||||
T | 5/14/24 | 1 | C++ MM | Imperative
Programming: Variables and Memory. Random Values The Command Line Interface and Makefiles Compiler Directives & Targets |
zyBooks 2.1 - 2.21, 2.23, 4.16, 4.30 | Lab1A assigned |
cpp4py: 2.1 - 2.4 | A0 due | |||||
cppme: Typecasting | ||||||
cppme: Modulus | ||||||
cppme: Random Values | ||||||
Makefile Cheat Sheet | ||||||
W | 5/15/24 | 2 | C++ DE MM | Structured Programming: Conditionals & Scope Structured Programming: Loops & Scope |
zyBooks 3.1 - 3.14, 3.16 - 3.24 | Lab1B assigned |
cpp4py: 3.1 | A1 assigned | |||||
cppme: if | ||||||
cppme: switch | ||||||
zyBooks 4.1 - 4.5, 4.8 - 4.15, 4.17 - 4.29 | ||||||
cpp4py: 3.2 - 3.3 | ||||||
cppme: Loops | ||||||
R | 5/16/24 | 3 | C++ DE MM | Debugging: Print Lines v The Debugger Procedural Programming: Functions by Value Quiz 1: Imperative & Structured Programming |
zyBooks 5.1 - 5.4, 5.6 - 5.7, 5.9 - 5.12, 9.7 | Lab2A assigned |
cpp4py: 4.1, 4.4 | ||||||
cppme: Functions | ||||||
F | 5/17/24 | Set1 due A1 Lab1A Lab1B zyBooks 1 |
||||
M | 5/20/24 | 4 | C++ CLI DE MM | Abstraction & Reuseability: Multifile
Programs & Makefiles II Scope on the Call Stack: Introducing Pointers |
Lecture Example Code | A2 assigned |
zyBooks 5.5, 9.14 | Lab2B assigned | |||||
Lecture Example Code | ||||||
Pointers Video (27:58) | ||||||
Pointers Slides (.pdf) | ||||||
zyBooks 5.8, 5.13, 7.1, 7.10 - 7.13 | ||||||
cpp4py: 2.5 | ||||||
cppme: Pointers | ||||||
T | 5/21/24 | 5 | C++ CLI DE MM | Procedural Programming: Functions by Pointer | Lab2C assigned | |
W | 5/22/24 | C++ MM OOP | Object-Oriented Programming: Encapsulating State | zyBooks 9.1 - 9.2, 9.5 | FP Proposal assigned | |
cppme: Classes | ||||||
R | 5/23/24 | 7 | C++ DE OOP | File Input & Validation File Output & Formatting Quiz 2: Procedural Programing |
zyBooks 3.15, 4.6 - 4.7, 8.1 - 8.3 | |
cpp4py: 6.1 - 6.7 | ||||||
cppme: File I/O | ||||||
zyBooks 2.22, 8.4, 8.8 - 8.19 | ||||||
cppme: iomanip | ||||||
F | 5/24/24 | Set2 due A2 Lab2A Lab2B Lab2C zyBooks 2 |
||||
M | 5/27/24 | Memorial Day - No Class | ||||
T | 5/28/24 | 8 | ADS C++ DE MM OOP | Collections & Big-O Notation: std::vector & std::string Object-Oriented Programming: Constructors & Access Modifiers |
zyBooks 2.13, 8.5 - 8.7, 6.14, 6.24 | A3 assigned |
cpp4py: 5.3 - 5.4 | Lab3A assigned | |||||
zyBooks 9.3 - 9.4, 9.6, 9.8 - 9.13 | Lab3B assigned | |||||
W | 5/29/24 | 9 | C++ DE MM OOP | Procedural
+ Object-Oriented Programming: Passing Objects to Functions Procedural + Object-Oriented Programming: Returning Objects from Functions via the Free Store |
zyBooks 9.15 - 9.24 | |
R | 5/30/24 | 10 | C++ DE MM OOP | The Effects of const Reference v Pointing Quiz 3: File I/O & Collections I |
Pointers and const | FP Proposal due |
cppme: const | ||||||
zyBooks 13.5 | ||||||
F | 5/31/24 | Set3 due A3 Lab3A Lab3B zyBooks 3 |
||||
M | 6/3/24 | 11 | Midterm | |||
T | 6/4/24 | 12 | C++ DE MM OOP | Object-Oriented Programming: The Big 3 Shallow Copy v Deep Copy Object-Oriented Programming: Templates |
zyBooks
5.14 - 5.15, 5.18 - 5.25, 7.2, |
A4 assigned |
zyBooks 13.1 - 13.4, 13.7 - 13.10 , 13.11 - 13.15 | Lab4A assigned | |||||
cpp4py: 4.2 | Lab4B assigned | |||||
cppme: Function Pointers | ||||||
cppme: Templates | ||||||
cppme: Templated Functions | ||||||
cppme: Functors | ||||||
cppme: Operator Overloading | ||||||
W | 6/5/24 | 13 | C++ DE MM CLI DE OOP | Object-Oriented Programming: Inheritance Libraries & SFML |
SFML | Lab4C assigned |
zyBooks 10.1 - 10.3 | ||||||
cppme: Inheritance | ||||||
cppme: Inheritance II | ||||||
cppme: Object Lifetime | ||||||
R | 6/6/24 | 14 | C++ DE MM OOP | Inheritance: Compile Time Polymorphism Inheritance: Runtime Polymorphism Quiz 4: OOP & Pointers |
cppme: Multiple Inheritance | |
zyBooks 10.4 - 10.16, 13.6 | ||||||
F | 6/7/24 | Set4 due A4 Lab4A Lab4B Lab4C zyBooks 4 |
||||
M | 6/10/24 | 15 | C++ DE MM OOP | Inheritance: Abstract Classes &
Interfaces SOLID Principles |
cppme: Class Design | A5 assigned |
Lab5A assigned | ||||||
T | 6/11/24 | 16 | ADS C++ DE MM | Collections: Static Arrays & Big-O
Analysis Collections: Abstract List Operations & Dynamic Arrays |
zyBooks 6.1 - 6.3, 6.6 - 6.11, 12.4 | |
cpp4py: 4.3, 5.1 - 5.2, 6.8 | ||||||
cppme: Arrays | ||||||
cppme: C-Strings | ||||||
cppme: string | ||||||
cppme: Command Line Arguments | ||||||
zyBooks 7.3 - 7.9 | ||||||
W | 6/12/24 | 17 | ADS C++ DE MM | Collections: Linked List Exception Handling |
zyBooks 7.14 - 7.20, 14.1, 14.6 | |
cppme: Structures | ||||||
cppme: Singly Linked Lists | ||||||
cpp4py: 7.1 | ||||||
cppme: Exceptions | ||||||
R | 6/13/24 | 18 | ADS C++ DE MM | Collections: Sorting a List Searching a List: Linear / Binary Search Recursion Iteration v Recursion Selection / Insertion / Bubble / Merge Sort Quiz 5: Inheritance |
zyBooks 6.4, 12.1 - 12.3, 12.8, 12.10 - 12.12 | Lab6A assigned |
zyBooks 5.16 - 5.17, 5.26, 11.1 - 11.16 | Lab6B assigned | |||||
cppme: Recursion | ||||||
zyBooks 6.5, 12.9, 12.15 - 12.19 | ||||||
F | 6/14/24 | Set5 due A5 Lab5A zyBooks 5 |
||||
M | 6/17/24 | 19 | ADS C++ DE MM | Collections: 2D Lists Breadth-First Search v Depth-First Search |
zyBooks 6.12 - 6.13, 14.2 - 14.4 | Lab6C assigned |
A6 assigned | ||||||
T | 6/18/24 | 20 | ADS C++ DE MM | Collections: C++ STL - std::vector, std::list,
std::stack, std::queue Collections: Trees & Graphs Quiz 6: Lists |
zyBooks 6.15 - 6.23, 14.7 - 14.9 | LabXC assigned |
zyBooks 16.1 - 16.12 | AXC assigned | |||||
cppme: Binary Trees | ||||||
W | 6/19/24 | 21 | Juneteenth: No Class | |||
T | 6/20/24 | 22 | Final Project DueSet6 due A6 Lab6A Lab6B Lab6C zyBooks 6 SetXC due AXC LabXC |
|||
Final Exam |