UC Berkeley: CS 61B 2020 Data Structures

Calendar

Week Date Reading Lecture Discussion Lab Assignments/Exams
1survey Wed 08/26 1.1 1. Intro, Hello World Java
[vid1] ‌[vid2] ‌[slides] ‌[guide] ‌
Intro to Java[video] ‌[solution] Setting Up Your Computer

javac, java, git (due 9/4) | HW 0: Basic Java Programs (optional) | | | | Fri 08/28 | 1.2 | 2. Defining and Using Classes
[video] ‌[slides] ‌[guide] ‌ | | | |

| 2survey | Mon 08/31 | 2.1 | 3. References, Recursion, and Lists
[video] ‌[slides] ‌[guide] ‌ | Scope, Pass-by-Value, Static[slides] ‌[video] ‌[solution] | IntelliJ Home Setup

IDEs (due 9/11) | Project 0: NBody (due 9/4) | | | | Wed 09/02 | 2.2 | 4. SLLists, Nested Classes, Sentinel Nodes
[video] ‌[slides] ‌[guide] ‌ | | | | | | Fri 09/04 | 2.3, 2.4 | 5. DLLists, Arrays
[video] ‌[slides] ‌[guide] ‌ | | | |

| 3survey | Mon 09/07: Academic Holiday | | | Linked Lists, Arrays[slides] ‌[video] ‌[solution]

Linked Lists, Arrays Exam Prep[slides] ‌[video] ‌[solution] | Testing, Debugging (due 9/11) | Project 1A: Data Structures (due 9/14) | | | | Wed 09/09 | 2.5 | 6. ALists, Resizing, vs. SLists
[video] ‌[slides] ‌[guide] ‌ | | | | | | Fri 09/11 | 3.1, Optional: TDD is dead, Unit Tests Are Waste, Response | 7. Testing
[video] ‌[slides] ‌[guide] ‌ | | | |

| 4survey | Mon 09/14 | 4.1 | 8. Inheritance, Implements
[video] ‌[slides] ‌[guide] ‌ | Inheritance[slides] ‌[video] ‌[solution]

Inheritance Exam Prep[slides] ‌[video] ‌[solution] | Peer Code Review (due 9/18) | | | | Wed 09/16 | 4.2 | 9. Extends, Casting, Higher Order Functions
[video] ‌[slides] ‌[guide] ‌ | | | Project 1B: Testing and HoFs (due 9/18) | Project 1 Gold: Autograding (due 9/18) | | | Fri 09/18 | 4.3 | 10. Subtype Polymorphism vs. HoFs
[video] ‌[slides] ‌[guide] ‌ | | | | |

| 5survey | Mon 09/21 | 6.1, 6.2, 6.3, 6.4 | 11. Exceptions, Iterators, Object Methods
[video] ‌[slides] ‌[guide] ‌ | Iterators, Iterables[slides] ‌[video] ‌[solution]

Exceptions, Iterators, Iterables Exam Prep[slides] ‌[video] ‌[solution] | Randomized and Timing Testing (due 9/25) | Midterm 1 Practice Assessment | | | | Wed 09/23 | None | 12. Coding in the Real World, Review
[slides] ‌[live QA] ‌ | | | Midterm 1 (9/23)
| | | | Fri 09/25 | 8.1, 8.2, Algs 170-198 (top paragraph) | 13. Asymptotics I
[video] ‌[slides] ‌[guide] ‌ | | | HW 1: Java Syntax and Sound Synthesis (due 9/28) | |

| 6survey | Mon 09/28 | 9.1, 9.2, 9.3, 9.4, 9.5, Algs 216-233 | 14. Disjoint Sets
[video] ‌[slides] ‌[guide] ‌ | Disjoint Sets and Asymptotics[slides] ‌[video] ‌[solution]

Disjoint Sets and Asymptotics Exam Prep[slides] ‌[video] ‌[solution] | Disjoint Sets (due 10/02) | | | | Wed 09/30 | 8.3, 8.4 (extra), Algs 170-198 | 15. Asymptotics II
[video] ‌[slides] ‌[guide] ‌ | | | HW2: Percolation (due 10/5) | | | | Fri 10/02 | 10.1, 10.2, Algs 396-406 | 16. ADTs, Sets, Maps, BSTs
[video] ‌[slides] ‌[guide] ‌ | | | |

| 7survey | Mon 10/05 | 11.1, 11.2, 11.3, Algs 424-431, 432-448 (extra) | 17. B-Trees (2-3, 2-3-4 Trees)
[video] ‌[slides] ‌[guide] ‌ | More Asymptotics, Search Trees[slides] ‌[video] ‌[solution]

More Asymptotics, Search Trees Exam Prep[slides] ‌[video] ‌[solution] | TreeMap (due 10/09) | | | | Wed 10/07 | 11.4, 11.5, Algs 424-431, 432-448 (extra) | 18. Red Black Trees
[video] ‌[slides] ‌[guide] ‌ | | | | | | | Fri 10/09 | 16.1, 16.2, 16.3 | 19. Range Searching and Multi-Dimensional Data
[video] ‌[slides] ‌[guide] ‌ | | | Proj2AB: KD-Tree/HeapPQ
KDTree (due 10/16)
HeapPQ (due 10/23)
| HW3: Conceptual Review (due 10/26) |

| 8survey | Mon 10/12 | 12.1, 12.2, 12.3, 12.4, 12.5, Algs 458-468, 478-479, 468-475 (extra) | 20. Hashing
[video] ‌[slides] ‌[guide] ‌ | LLRBs, Hashing[slides] ‌[video] ‌[solution]

LLRBs, Hashing Exam Prep[slides] ‌[video] ‌[solution] | HashMap (due 10/16) | | | | | Wed 10/14 | 13.1, 13.2, 13.3, Algs 308-320 | 21. Heaps and PQs
[video] ‌[slides] ‌[guide] ‌ | | | | | | | Fri 10/16 | 14.1, 15.1, 15.2, 15.3, Algs 730-752 | 22. Prefix Operations and Tries
[video] ‌[slides] ‌[guide] ‌ | | | | |

| 9survey | Mon 10/19 | 17.1, 17.2, 17.3, 17.4, Algs 538-542, 566-583 | 23. Tree and Graph Traversals
[video] ‌[slides] ‌[guide] ‌ | Traversals, Tries, Heaps[slides] ‌[video] ‌[solution]

Heaps and Tries Exam Prep[slides] ‌[video] ‌[solution] | Project 2 Workday | | | | | Wed 10/21 | 18.1, 18.2, Algs 538-542, 566-583 | 24. Graph Traversals and Implementations
[video] ‌[slides] ‌[guide] ‌ | | | | | | | Fri 10/23 | 19.1, 19.2, 19.3, Algs 638-657 | 25. Shortest Paths
[video] ‌[slides] ‌[guide] ‌ | | | | |

| 10survey | Mon 10/26 | 20.1, 20.2, Algs 604-630 | 26. Minimum Spanning Trees
[video] ‌[slides] ‌[guide] ‌ | DFS, BFS, Shortest Paths[slides] ‌[video] ‌[solution]

DFS, BFS, Shortest Paths Exam Prep[slides] ‌[video] ‌[solution] | No Lab | | | | | Wed 10/28 | None | 27. Software Engineering I
[video] ‌[slides] ‌[guide] ‌ | | | Midterm 2 (10/28)
| | | | Fri 10/30 | 21.1, 21.2, 21.3, 21.4 | 28. Reductions and Decomposition
[video] ‌[slides] ‌[check in] ‌ | | | Proj2C: Puzzle Solver (due 11/9) | |

| 11survey | Mon 11/02 | | 29. Basic Sorts
[video (old)] ‌[slides] ‌[guide] ‌ | Graphs[slides] ‌[video] ‌[solution]

Graphs Exam Prep[slides] ‌[video] ‌[solution] | Project 2 Workday | | | | | Wed 11/04 | Algs 288-296, 302 | 30. Quick Sort
[video] ‌[slides] ‌[guide] ‌ | | | | Proj 2D: Bear Maps (due 11/9) | | | Fri 11/06 | None | 31. Software Engineering II
[video] ‌[slides] ‌[guide] ‌ | | | | |

| 12survey | Mon 11/09 | Algs 341-347 | 32. More Quick Sort, Sorting Summary
[video (old)] ‌[slides] ‌[guide] ‌ | Sorting, ADTs[slides] ‌[video] ‌[solution]

Sorting Exam Prep[slides] ‌[video] ‌[solution] | Getting Started on Project 3 (due 11/13) | | | | | Wed 11/11: Academic Holiday | | | | | Proj 3A: BYOW Phase 1 (due 11/20) | | | | Fri 11/13 | None | 33. Software Engineering III
[video (old)] ‌[slides] ‌[guide] ‌ | | | |

| 13survey | Mon 11/16 | Algs 279-28 | 34. Sorting and Algorithmic Bounds
[video] ‌[slides] ‌[guide] ‌ | More Sorting[slides] ‌[video] ‌[solution]

More Sorting Exam Prep[slides] ‌[video] ‌[solution] | Interactivity in Project 3 (due 11/20) | | | | Wed 11/18 | Algs 702-718 | 35. Radix Sorts
[video] ‌[slides] ‌[guide] ‌ | | | | | | Fri 11/20 | None | 36. Sorting and Data Structures Conclusion
[video] ‌[slides] ‌[guide] ‌ | | | | | 14 | Mon 11/23 | None | 37. None (Break)
[video] ‌[slides] ‌[guide] ‌ | No Discussion | No Lab | Proj 3B: BYOW Phase 2 (due 12/01) | | | | Wed 11/25: Academic Holiday | | | | | | | | Fri 11/27: Academic Holiday | | | | | | | 15survey | Mon 11/30 | None | 38. Compression
[video] ‌[slides] ‌[guide] ‌ | Goodbye, Fun | BYOW Demos (due 12/04) | | | | Wed 12/02 | None | 39. Compression, Complexity, and P=NP?
[video] ‌[slides] ‌[check in] ‌ | | | | | | | Fri 12/04 | None | 40. Summary, Fun
[slides] ‌ | | | | | | RRR Week (December 7-11) | | | | | | | | | Finals Week (December 14-18), Final exam: TBD | | | | | | | |