Schedule
| Week | Link | Date | Topic | Reading and Assignments |
|---|---|---|---|---|
| 1 | T 8/25 | Introduction | ||
| Lec 01 | R 8/27 | Python Review & Pseudocode | DSP Ch. 2 (review) | |
| 2 | M 8/31 | Lab 00: Getting Started | Lab Assessment 00 Due | |
| T 9/1 | Object Oriented Programming | DSP Ch. 3 | ||
| R 9/3 | Software Testing | DSP Ch. 4 | ||
| 3 | M 9/7 | No lab (Labor Day) | ||
| T 9/8 | Greedy Algorithms | |||
| R 9/10 | Empirical Running Time | DSP Ch. 5.1-5.3 | ||
| 4 | M 9/14 | Lab 01: Benchmarking Algorithms | Lab Exercise & Assessment 01 Due | |
| T 9/15 | Theoretical Running Time | DSP 5.4-5.10 | ||
| R 9/17 | Theoretical Running Time | |||
| F 9/18 | Project 1 Proposal Due | |||
| 5 | M 9/21 | Lab 02: Big-O Notation | Lab Exercise & Assessment 02 Due | |
| T 9/22 | Theoretical Running Time | |||
| R 9/24 | Stacks & Queues | DSP Ch. 6 | ||
| F 9/25 | Project 1 Evaluation Due | |||
| 6 | M 9/28 | Lab 03: Stacks & Queues | Lab Exercise & Assessment 03 Due | |
| T 9/29 | Graphs | DSP Ch. 20 | ||
| R 10/1 | Graphs | DSP Ch. 21 | ||
| F 10/2 | Project 1 Report Due | |||
| 7 | M 10/5 | Lab 04: Dijkstra’s algorithm | Lab Exercise & Assessment 04 Due | |
| T 10/6 | Midterm Exam | |||
| R 10/8 | No class (Fall Break) | |||
| 8 | M 10/12 | Project 1 Presentations | ||
| T 10/13 | Linked Lists | DSP Ch. 7 | ||
| R 10/15 | Linked Lists | DSP Ch. 8 | ||
| 9 | M 10/19 | Lab 05: Linked Lists | Lab Exercise & Assessment 05 Due | |
| T 10/20 | Recursion | DSP Ch. 9 | ||
| R 10/22 | Dynamic Programming | DSP Ch. 10 | ||
| F 10/23 | Project 2 Proposal Due | |||
| 10 | M 10/26 | Lab 06: Recursion | Lab Exercise & Assessment 06 Due | |
| T 10/27 | Dynamic Programming | |||
| R 10/29 | Dynamic Programming | |||
| F 10/30 | Project 2 Evaluation Due | |||
| 11 | M 11/2 | Lab 07: Dynamic Programming | Lab Exercise & Assessment 07 Due | |
| T 11/3 | Search Algorithms | DSP Ch. 11 | ||
| R 11/5 | Sorting Algorithms | DSP Ch. 12 | ||
| F 11/6 | Project 2 Report Due | |||
| 12 | M 11/9 | Project 2 Presentations | ||
| T 11/10 | Sorting Algorithms | DSP Ch. 13 | ||
| R 11/12 | Hash Tables | DSP Ch. 15 | ||
| F 11/13 | Project 3 Proposal Due | |||
| 13 | M 11/16 | Lab 08: Search & Sort | Lab Exercise & Assessment 08 Due | |
| T 11/17 | Trees | DSP Ch. 16 | ||
| R 11/19 | Trees | DSP Ch. 17, 18 | ||
| F 11/20 | Project 3 Evaluation Due | |||
| 14 | M 11/23 | Lab 09: Trees | Lab Exercise & Assessment 09 Due | |
| T 11/24 | Priority Queues | DSP Ch. 19 | ||
| R 11/26 | No class (Thanksgiving) | |||
| 15 | M 11/30 | Project 3 Workshop | ||
| T 12/1 | Project 3 Presentations | |||
| R 12/3 | Project 3 Presentations | |||
| F 12/4 | Project 3 Report Due |
All assigned reading is from A First Course on Data Structures in Python (DSP).