- Overview and ADTs Review 01/07/2024 - 01/13/2024
- Part I 01/07/2024 - 02/17/2024
- Orientation 01/11/2024, 5:00PM EST
- Lab 1: Setting Up Your Programming Environment 01/13/2024
- Templates and Iterators 01/14/2024 - 01/20/2024
- Working with classes Due: 01/18/2024
- Lab 2: Working with Iterators & Templates Due: 01/20/2024
- Algorithm Analysis 01/21/2024 - 01/27/2024
- Quiz: Worst Case Complexity (in Canvas) Due: 01/27/2024
- Sequences 01/28/2024 - 02/03/2024
- Lab 3: Working with Vectors Due: 02/01/2024
- Lists & Iterators Due: 02/03/2024
- Review the exam procedures and set up your proctoring for the Part I exam. 02/04/2024
- Generic Programming 02/04/2024 - 02/10/2024
- Lab 4: Generic Programming Due: 02/10/2024
- Stacks and Queues 02/11/2024 - 02/17/2024
- Lab 5: Recursion Due: 02/14/2024
- Stacks/Queues Due: 02/17/2024
- Exam 1 (on Canvas) 02/18/2024 - 02/19/2024
- Average Case Complexity 02/18/2024 - 02/24/2024
- Part II 02/18/2024 - 03/31/2024
- Lab 6: Average Case Analysis (in Canvas) Due: 02/24/2024
- Sorting 02/25/2024 - 03/02/2024
- Timing Due: 02/29/2024
- Lab 7: Sorting (in Canvas) Due: 03/02/2024
- Trees 03/10/2024 - 03/16/2024
- Trees Due: 03/16/2024
- Review the exam procedures and set up your proctoring for the Part 2 exam. 03/17/2024
- Sets and Maps 03/17/2024 - 03/23/2024
- Lab 8: Sets and Maps Due: 03/23/2024
- Hashing 03/24/2024 - 03/30/2024
- Lab 9: Unordered Sets Due: 03/27/2024
- Hashing Due: 03/30/2024
- Exam 2 03/31/2024 - 04/01/2024
- Algorithm Design Techniques 03/31/2024 - 04/06/2024
- Part III 03/31/2024 - 04/22/2024
- Heaps and Priority Queues 04/07/2024 - 04/13/2024
- Dynamic Programming Due: 04/09/2024
- Review the exam procedures and set up your proctoring for the Final exam. 04/12/2024
- Graphs 04/14/2024 - 04/22/2024
- Lab 10: Graphs Basics (in Canvas) Due: 04/18/2024
- Graphs Due: 04/22/2024
- Final exam (cumulative) 04/29/2024 - 04/30/2024