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