1 Survey | Wed Jan 22 | 1. Intro, Instance Variables Video / Recording / Pacing | Ch 1 | No Discussion |
Lab 1: Setup, Git
(due 1/24) Slides | Homework 0A
(due 1/24) | |
Fri Jan 24 | 2. Defining and Using Classes. Lists, Sets and Maps Video / Recording / Pacing | Ch 2 | Mini-Project 0: 2048
(due 2/3) |
2 Survey | Mon Jan 27 | 3. References, Recursion, IntLists Video / Recording / Pacing | Ch 3 | 1. Introduction to Java Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 2: Debugging
(due 1/31) Slides | Homework 0B
(due 1/29) |
Wed Jan 29 | 4. SLLists, Nested Classes, Sentinel Nodes Video / Recording / Pacing | Ch 4 | Homework 1
(due 02/7) |
Fri Jan 31 | 5. DLLists, Arrays Video / Recording / Pacing | Ch 5, Ch 6 |
3 Survey | Mon Feb 03 | 6. Testing Video / Recording / Pacing
Bonus Video
| Ch 7, TDD is dead, Unit Tests Are Waste, Response | 2. Scope, Static, Linked Lists, Arrays Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 3: Debugging (Part 2)
(due 2/07) Slides |
Wed Feb 05 | 7. ArrayLists, Resizing Video / Recording / Pacing
Bonus Video
| Ch 8 | Project 1A: LinkedListDeque
(due 2/10) |
Fri Feb 07 | 8. Interface and Implementation Inheritance Recording / Pacing | Ch 9, |
4 Survey | Mon Feb 10 | 9. Subtype Polymorphism, Comparators, Comparables, Generic Functions Recording / Pacing | Ch 10 | 3. Interface Inheritance, Comparables/Comparators, Generic Functions Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 4: Git
(due 2/14) Slides | |
Wed Feb 12 | 10. Iterators, Object Methods Video / Recording / Pacing | Ch 12 | Project 1B: ArrayDeque, Deque
(due 2/19) |
Fri Feb 14 | 11. Asymptotics I Video / Recording / Pacing | |
5 Survey | Mon Feb 17 | No Lecture (President’s Day)
| | 4. Iterators, Iterables, Asymptotics Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
No Lab
|
Wed Feb 19 | 12. Ask Anything (midterm prep) | |
Thu Feb 20 | Midterm 1 (8pm - 10pm)
| | |
Fri Feb 21 | 13. Asymptotics II Recording / Pacing | Ch 13 |
6 Survey | Mon Feb 24 | 14. Asymptotics III Video / Recording / Pacing | Ch 15 | 5. Asymptotics II Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 5: Project 1 Review
(due 02/28)
|
Wed Feb 26 | 15. Disjoint Sets Video / Recording / Pacing | Ch 14 | Homework 2
(due 03/07) |
Fri Feb 28 | 16. Extends, Sets, Maps, and BSTs Video / Recording / Pacing | Ch 16 | Project 2A: NGrams
(due 3/12) |
7 Survey | Mon Mar 03 | 17. B-Trees (2-3, 2-3-4 Trees) Video / Recording / Pacing | Ch 17 | 6. Disjoint Sets, ADTs, BSTs Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 6: BSTMap
(due 03/07) Slides |
Wed Mar 05 | 18. Red Black Trees Video / Recording / Pacing | Ch 18 |
Fri Mar 07 | 19. Hashing I Video / Recording / Pacing | Ch 19 |
8 Survey | Mon Mar 10 | 20. Hashing II Video / Recording / Pacing | Ch 20 | 7. B-Trees, LLRBs, Hashing Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 7: HashMaps
(due 3/14) Slides | Homework 3
(due 04/04) |
Wed Mar 12 | 21. Heaps and Priority Queues Video / Recording / Pacing | Ch 21 |
Fri Mar 14 | 22. Tree and Graph Traversals Video / Recording / Pacing | Ch 22 | Project 2B: Checkpoint
(due 3/21) |
9 Survey | Mon Mar 17 | 23. Graph Traversals and Implementations Video / Recording / Pacing | Ch 23 | 8. Graphs, Heaps Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 8: LLRBs
(due 3/21) Slides |
Wed Mar 19 | 24. Shortest Paths Video / Recording / Pacing | Ch 24 |
Fri Mar 21 | 25. Minimum Spanning Trees Video / Recording / Pacing | Ch 25 |
10 Survey | Mon Mar 24 | Spring Break
| | No Discussion |
No Lab
| Project 2B: Wordnet
(due 4/4) |
Wed Mar 26 |
Fri Mar 28 |
11 Survey | Mon Mar 31 | 26. Directed Acyclic Graphs Video / Recording / Pacing | Ch 28 | 9. Shortest Paths, MSTs Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 9: TBD
|
Wed Apr 02 | 27. Prefix Operations and Tries | Ch 26 |
Wed Apr 02 | Midterm 2 (8pm - 10pm)
| |
Fri Apr 04 | 28. Basic Sorts | Ch 29 |
12 Survey | Mon Apr 07 | 29. Software Engineering I [Optional] | | 10. Graphs II, Tries |
Lab 10: TBD
| | Project 3A: World Generation
(due 4/18) |
Wed Apr 09 | 30. Quick Sort | Ch 30 |
Fri Apr 11 | 31. Software Engineering II [Optional] | |
13 Survey | Mon Apr 14 | 32. Software Engineering III [Optional] | Ch 32 | 11. Sorting |
Project 3 Workday
| Homework 4
(due 05/04) |
Wed Apr 16 | 33. More Quicksort, Quick Select, Stability | Ch 32 |
Fri Apr 18 | 34. Sorting and Algorithmic Bounds | Ch 34 |
14 Survey | Mon Apr 21 | 35. Software Engineering IV [Optional] | | 12. Sorting II |
Project 3 Workday
| Project 3B: Interactivity
(due 4/27) |
Wed Apr 23 | 36. Radix Sorts | Ch 35 |
Fri Apr 25 | 37. Sorting Conclusion, Algorithm Design Practice | Ch 36 |
15 | Mon Apr 28 | 38. Compression [Optional] | Ch 38 | 13. Goodbye, Fun |
Project 3 Demos
| |
Wed Apr 30 | 39. Compression, Complexity, and P=NP? [Optional] | Ch 39 |
Fri May 02 | 40. Summary, Fun [Optional] | |
16 | Mon May 05 | No Lecture (RRR Week)
| | No Discussion |
No Lab
|
Wed May 07 | |
Fri May 09 |
17 | Tue May 13 | Final Exam (Tue, May 13, 8–11am)
| | |
|