| Lecture | Date | Topic | Reading/Comments | Assignments | Criteria a-k | |
| 1. | Aug. 20 | Introduction. Mathematical Induction, Fibonacci numbers, recurrences (review). | Chapters 1-4 (review) | a,b,i | ||
| 3. | Aug. 22 | Fibonacci numbers and the Euclidean Algorithm | Chapters 1-4 (review) | a,b,i | ||
| 4. | Aug. 27 | Euclidean Algorithm, Asymptotics, Master Theorem | Chapters 1-4 (review) | a,b,g,i | ||
| 5. | Aug. 29 | Master Theorem, Dynamic Programming (Knapsack Problem) | Especially 4-3 and 4-4 | A hard copy of homework 0 is due in class. | a,b,e,i | |
| null | Sep. 3 | Labor Day Holiday: No Class | ||||
| 6. | Sep. 5 | Dynamic Programming: Knapsack problem and Sequence comparisons | 15-3 for Dynamic Programming overview and 15-1, 15-2 for extra examples | a,b,e,i,k | 7. | Sep. 10 | Dynamic programming, continued. Start of Greedy algorithms. Greedy Sheduling problem, design and proof of optimality. | pp. 382-392 + class notes | a,b,e,i |
| 8. | Sep. 12 | Dynamic Scheduling problem. Huffman encoding (greedy data compression): design. | pp. 382-392 + class notes | a,b,e,i | ||
| 9. | Sep. 17 | Huffman encoding: implementation and proof of correctness. | pp. 183-185 and class notes | a,b,g, i | ||
| 10. | Sep. 19 | Begin Graph Theory and Graph Algorithms | pp. 923-931 and class notes | a,b,e,i | ||
| 11. | Sep. 24 | Graph Theory and Algorithms: the party problem | class notes and pp 1080-1084 | |||
| 12. | Sep. 26 | Graph theory: basics and begin planar graphs; adjacency matrix versus adjacency list | class notes and pp 528-529 | |||
| 13. | Oct. 1 | Graph Coloring: chromatic number; scheduling and map coloring; history of the Four Color Problem (now Four Color Theorem) | class notes | |||
| 14. | Oct. 3 | Euler's formula and average degree; Proof of the six color theorem; Proof of the five color theorem; Proof of the four color theorem. Greedy coloring algorithm is in assignment 3, problem 5. | class notes | |||
| 15. | Oct. 7 | Chromatic number, M-Pire graphs, and thickness-two graphs: an open problem. | class notes | |||
| 16. | Oct. 9 | Earth-Moon graphs and PCB testing. Begin shortest path algorithms | class notes and pp 580-588 | |||
| 17. | Oct. 15 | Single Source Shortest Paths. Dijkstra's Algorithm; Bellman-Ford Algorithm | class notes and pp 580-588 and pp 591-601 | |||
| 18. | Oct. 17. | Dijkstra example, Bellman-Ford Algorithm, and begin Network Flows; side trip to Linear Programming | 24-1,24-2,24-3, class notes and pp 643-647 | |||
| 17. | Oct. 22 | In-class closed-book mid-term exam: material covered to be determined. | You may bring one page of notes (both sides) to class to use during the exam. | |||
| 20. | Oct. 24 | Network Flows, continued. Network Flow hall of fame. Ford-Fulkerson | class notes and pp 643-647 | |||
| 21. | Oct. 29 | Application of the Network Flow problem: Max Flow/Min Cut Theorem | class notes | |||
| 22. | Oct. 31 | Number Theoretic Algorithms | pp. 923-931 and class notes; free pdf files from Discrete Mathematics with Algorithms by Albertson and Hutchinson can be found here. | |||
| 23. | Nov. 5 | Number Theoretic Algorithms | ||||
| 24. | Nov. 7 | RSA | 31-7 and class notes | |||
| 25. | Nov. 12 | RSA continued. Quantum Cryptography and the breakage of RSA. | class notes | |||
| 26. | Nov. 14 | Fast Fourier Transform and Polynomial Multiplication | class notes | |||
| null | Nov. 19-25 | Fall Break | Happy Thanksgiving | |||
| 27. | Nov. 26 | NP Completeness explained by way of 3SAT and (graph) 3-colorability | ||||
| 28. | Nov. 28 | Computational Aspects of Escher Tilings | ||||
| 29. | Dec. 3 | Yet Another Look at the Four Color Theorem | ||||
| 30. | Dec. 5 | TBA | ||||
| 31. | To be decided | Last office hour session | ||||
| 32. | To be decided | FINAL EXAM date and time to be determined by registrar. You may bring one page of notes (both sides) to class to use during the exam. |