Refer to this page daily for updates. This is a dynamic schedule (except for the labs); only the past is certain.
Week | Day | Date | Topic | Reading Due | Assignment Due |
---|---|---|---|---|---|
1 | Mon | Aug 22 | Introduction | ||
Wed | Aug 24 | Python warm-up | Chapter 2 | ||
Thu | Aug 25 | Lab 1: Linux and Python Review | |||
Fri | Aug 26 | Simple OOP examples | 3.1-3.2 | Python warm-up | |
2 | Mon | Aug 29 | More classes; Epidemic simulation | Handout (thru p. 482) | |
Wed | Aug 31 | Epidemic simulation, cont. | 3.3 | HW 1 | |
Thu | Sep 1 | Lab 2: Class Design, Inheritance, and Exceptions | |||
Fri | Sep 2 | Quiz 1: Python classes Algorithm Analysis: Basics | 5.1-5.5 | ||
3 | Mon | Sep 5 | Recursion | 9.2-9.4 | |
Wed | Sep 7 | Recursion | HW 2 | ||
Thu | Sep 8 | Lab 3: Recursion | |||
Fri | Sep 9 | Recursion | DCS 10.1 | ||
4 | Mon | Sep 12 | Linear & Binary Search | ||
Wed | Sep 14 | Algorithm Analysis & Big O | 5.6-5.8 | HW 3 | |
Thu | Sep 15 | Project 1 work day | |||
Fri | Sep 16 | Quiz 2: Recursion | |||
5 | Mon | Sep 19 | Selection and insertion sorts | DCS 10.2-10.3 | |
Wed | Sep 21 | Quicksort | 13.2 | ||
Thu | Sep 22 | Lab 4: Quicksort and Efficiency | |||
Fri | Sep 23 | Merge Sort | DCS 10.4 | Project 1 | |
6 | Mon | Sep 26 | Abstract data types (ADTs) | 6.1 | |
Wed | Sep 28 | Deque ADT (using a list) | 7.1 | HW 4 | |
Thu | Sep 29 | Lab 5: List ADT (using Array) | |||
Fri | Sep 30 | Quiz 3: Sorting and big O | |||
7 | Mon | Oct 3 | No class | ||
Wed | Oct 5 | Stacks | 6.2 | ||
Thu | Oct 6 | Lab 6: Stack ADT (using Array) | |||
Fri | Oct 7 | Queues | 6.3 | ||
8 | Mon | Oct 10 | NO CLASS — FALL BREAK | ||
Wed | Oct 12 | Introduce Project 2 | |||
Thu | Oct 13 | Project 2 work day | HW 5 | ||
Fri | Oct 14 | Quiz 4: Stacks and Queues | |||
9 | Mon | Oct 17 | Linked lists | 7.2-7.5 | |
Wed | Oct 19 | Linked lists – append | |||
Thu | Oct 20 | Lab 7: Queue ADT (with a LL) | |||
Fri | Oct 21 | Linked lists – insert | Project 2 Phase 1 Replit link | ||
10 | Mon | Oct 24 | Linked lists – delete | ||
Wed | Oct 26 | Priority Queue ADT | 19.1-19.2 | ||
Thu | Oct 27 | Lab 8: Priority Queue ADT (with an array of queues) | |||
Fri | Oct 28 | Quiz 5: Linked lists | |||
11 | Mon | Oct 31 | Heaps | 19.3-19.9 | Project 2 Phase 2 |
Wed | Nov 2 | Hash Tables Intro | 15.1-15.5 | HW 6 | |
Thu | Nov 3 | Lab 9: Map ADT (hash table with backup hash function) | |||
Fri | Nov 4 | Hash Tables (probing) | |||
12 | Mon | Nov 7 | Hash Tables (chaining) | HW 7 | |
Wed | Nov 9 | Implementing a priority queue with a heap | |||
Thu | Nov 10 | Project 3 work day | |||
Fri | Nov 11 | Binary search trees | |||
13 | Mon | Nov 14 | Quiz 6: Hash tables and priority queues | ||
Wed | Nov 16 | Binary search trees | 16.1-16.5, 17.1-17.4 | ||
Thu | Nov 17 | Lab 10: Binary Tree ADT (Braille) | |||
Fri | Nov 18 | Binary search trees | Project 3 Phase 1 Replit | ||
Nov 21-25 | NO CLASS — THANKSGIVING BREAK | ||||
14 | Mon | Nov 28 | Graphs; BFS and DFS | 20.1, 20.3 | |
Wed | Nov 30 | Dijkstra’s shortest path algorithm | |||
Thu | Dec 1 | Lab 11: Graph ADT (contact tracing) | |||
Fri | Dec 2 | Review | Project 3 Phase 2 | ||
Mon | Dec 5 | Quiz 7: Binary search trees and graphs | |||
Fri | Dec 9 | Final Exam (11:45 in BRKI 066) |