1 Survey | Wed Jan 17 | 1. Intro Video / Recording / Pacing | Ch 1 | No Discussion |
Lab 1: Setup
(due 1/19) Slides | Homework 0A
(due 1/19) | |
Fri Jan 19 | 2. Defining and Using Classes Video / Recording / Pacing | Ch 2 | Homework 0B
(due 1/22) | Project 0: 2048
(due 1/29) |
2 Survey | Mon Jan 22 | 3. Lists I: References, Recursion, and Lists Video / Recording / Pacing | Ch 3 | 1. Introduction to Java Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 2: Debugging I
(due 1/26) Slides |
Wed Jan 24 | 4. Lists II: SLLists Video / Recording / Pacing | Ch 4 | Homework 1
(due 1/26) |
Fri Jan 26 | 5. Lists III: DLLists and Arrays Video / Recording / Pacing | Ch 5, Ch 6 |
3 Survey | Mon Jan 29 | 6. Testing Video / Recording / Pacing | 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 II
(due 2/2) Slides | |
Wed Jan 31 | 7. Lists IV: Arrays and Lists Video / Recording / Pacing | Ch 8 | Project 1A: LinkedListDeque61B
(due 2/5) |
Fri Feb 02 | 8. Inheritance I: Interface and Implementation Inheritance Video / Recording / Pacing | Ch 9 |
4 Survey | Mon Feb 05 | 9. Inheritance II: Extends, Casting, Higher Order Functions Video / Recording / Pacing | Ch 10 | 3. Inheritance Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Project 1 Workday
|
Wed Feb 07 | 10. Inheritance III: Subtype Polymorphism, Comparators, Comparable Video / Recording / Pacing | Ch 11 | Project 1B: ArrayDeque61B
(due 2/12) |
Fri Feb 09 | 11. Inheritance IV: Iterators, Object Methods Video / Recording / Pacing | Ch 12 |
5 Survey | Mon Feb 12 | 12. Asymptotics I Video / Recording / Pacing | Ch 13 | 4. Comparators, Iterators Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 4: Git
(due 2/20) Slides |
Wed Feb 14 | 13. Ask Anything: Midterm 1 Recording / Pacing | | Project 1C: Deque61B Enhancements
(due 2/20) |
Thu Feb 15 | Midterm 1 (7-9PM)
| |
Fri Feb 16 | 14. Disjoint Sets Video / Recording / Pacing | Ch 14 | Homework 2
(due 2/26) |
6 Survey | Mon Feb 19 | No Lecture (Academic Holiday)
| | 5. Asymptotics, Disjoint Sets Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 5: Disjoint Sets
(due 2/26) Slides |
Wed Feb 21 | 15. Asymptotics II Video / Recording / Pacing | Ch 15 | Project 2A: NGrams
(due 3/6) |
Fri Feb 23 | 16. ADTs, Sets, Maps, BSTs Video / Recording / Pacing | Ch 16 |
7 Survey | Mon Feb 26 | 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 3/01) Slides |
Wed Feb 28 | 18. Red Black Trees Video / Recording / Pacing | Ch 18 | |
Fri Mar 01 | 19. Hashing Video / Recording / Pacing | Ch 19 |
8 Survey | Mon Mar 04 | 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 3/08) Slides / Video |
Wed Mar 06 | 21. Heaps and Priority Queues Video / Recording / Pacing | Ch 21 |
Fri Mar 08 | 22. Tree and Graph Traversals Video / Recording / Pacing | Ch 22 | Project 2B/2C Checkpoint and Design Doc
(due 3/15) |
9 Survey | Mon Mar 11 | 23. Graph Traversals and Implementations Video / Recording / Pacing | Ch 23 | 8. Graphs, Heaps Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 8: HashMaps
(due 3/15) Slides / Video | Homework 3
(due 3/18) |
Wed Mar 13 | 24. Shortest Paths Video / Recording / Pacing | Ch 24 |
Fri Mar 15 | 25. Minimum Spanning Trees Video / Recording / Pacing | Ch 25 |
10 Survey | Mon Mar 18 | 26. Directed Acyclic Graphs Video / Recording / Pacing | Ch 28 | 9. Shortest Paths, MSTs Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Project 2 Workday
| Project 2B: Wordnet
Project 2C: Enhancements
(due 4/1) |
Wed Mar 20 | 27. Software Engineering I Video / Recording / Pacing | Ch 27 | |
Thu Mar 21 | Midterm 2 (7-9PM)
| |
Fri Mar 22 | 28. Prefix Operations and Tries Video / Recording / Pacing | Ch 26 |
11 | Mon Mar 25 | No Lecture (Spring Break)
| | No Discussion |
No Lab
|
Wed Mar 27 |
Fri Mar 29 |
12 Survey | Mon Apr 01 | 29. Sorting I: Selection Sort, Heapsort Video / Recording / Pacing | Ch 29 | 10. Graphs II, Tries Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 9: Getting Started on Project 3
(due 4/05) Slides |
Wed Apr 03 | 30. Sorting II: Mergesort and Insertion Sort Video / Recording / Pacing | Ch 30 | Project 3A: World Generation
(due 4/15) |
Fri Apr 05 | 31. Software Engineering II Recording / Pacing | Ch 31 |
13 Survey | Mon Apr 08 | 32. Sorting III: Quicksort Video / Recording / Pacing | Ch 32 | 11. Sorting Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Lab 10: Tetris
(due 4/12) Slides |
Wed Apr 10 | 33. Sorting IV: Sorting and Algorithmic Bounds Video / Recording / Pacing | Ch 34 |
Fri Apr 12 | 34. Software Engineering III Recording / Pacing | Ch 33 |
14 Survey | Mon Apr 15 | 35. Sorting V: More Quicksort, Radix Sorts Video / Recording / Pacing | Ch 35 | 12. More Sorting Regular / Solutions / Video / Slides
Exam Prep / Solutions / Video / Slides |
Project 3 Workday
|
Wed Apr 17 | 36. Sorting VI: Radix vs. Comparison Sorting Video / Recording / Pacing | Ch 36 | Project 3B/C: Interactivity + Ambition
(due 4/22) |
Fri Apr 19 | 37. Software Engineering IV Recording / Pacing | Ch 37 |
15 Survey | Mon Apr 22 | 38. Compression Video / Recording / Pacing | Ch 38 | 13. Goodbye, Fun |
Project 3 Checkoffs
|
Wed Apr 24 | 39. Complexity and P=NP? Video / Recording / Pacing | Ch 39 | Homework 4
(due 4/28, extendable to 5/3) | |
Fri Apr 26 | 40. Summary, Fun Recording / Pacing | |
16 | Mon Apr 29 | No Lecture (RRR Week)
| | No Discussion |
No Lab
|
Wed May 01 |
Fri May 03 |
17 | Tue May 07 | Final Exam (May 7th, 8-11AM)
| | |
| |