CS 61B Data Structures, Spring 2018
Instructor: Josh Hug
Lecture: MWF 3-4 PM, Wheeler 150
This site is in beta. The spring 2017 site is available at datastructur.es/sp17/.
Announcements [View All]
  • 2018-1-16

    Discussions, Labs, HW0

    Make sure to attend discussion and lab this week. We recommend that you complete the optional HW0 ASAP.

  • 2018-1-4

    Beta Site Release

    The site is currently in a beta state. Feel free to browse around and even start the course early.

Calendar
Week Date Reading Lecture Discussion Lab Assignments/Exams
1Wed 1/17

1.1

1. Intro, Hello World Java
[video] ‌[slides] ‌[guide] ‌
Intro to Java
[Solution]
Setting Up Your Computer
javac, java, git (due 1/26)
HW 0: Basic Java Programs (optional)
Fri 1/19

1.2

2. Defining and Using Classes
[video] ‌[slides] ‌[guide] ‌
2Mon 1/22

2.1

3. References, Recursion, and Lists
[video] ‌[slides] ‌[guide] ‌
Scope, Pass-by-Value, Static IntelliJ Home Setup
IDEs (due 1/26)
Project 0: NBody (due 1/26 @ 11:59PM)
Wed 1/24

2.2

4. SLLists, Nested Classes, Sentinel Nodes
[video] ‌[slides] ‌[guide] ‌
Fri 1/26

2.3, 2.4

5. DLLists, Arrays
[video] ‌[slides] ‌[guide] ‌
3Mon 1/29

2.5

6. ALists, Resizing, vs. SLists
[video] ‌[slides] ‌[guide] ‌
Linked Lists, Arrays Testing, Debugging (due 2/2) Project 1A: Data Structures (due 2/2 @ 11:59 PM)
Wed 1/31

Optional: TDD is dead, Unit Tests Are Waste, Response

7. Testing
[video] ‌[slides] ‌[guide] ‌
Fri 2/2

TBA

8. Inheritance, Implements
[video] ‌[slides] ‌[guide] ‌
4Mon 2/5

TBA

9. Extends, Casting, Higher Order Functions
[video] ‌[slides] ‌[guide] ‌
Inheritance
Inheritance Exam Prep
Peer Code Review (due 2/9) Project 1B: Testing and HoFs (due 2/10 @ 11:59 PM)
Wed 2/7

TBA

10. Subtype Polymorphism vs. HoFs
[video] ‌[slides] ‌[guide] ‌
Fri 2/9

TBA

11. Libraries, Abstract Classes, Packages
[video] ‌[slides] ‌[guide] ‌
5Mon 2/12

TBA

12. Coding in the Real World, Review
[video] ‌[slides] ‌[guide] ‌
Midterm Review Getting Started: Project 2
Partner Form Due Friday
Midterm 1 (Date 2/12, 8-10PM)
Material up to 2/10
Wed 2/14

TBA

13. Generics, Autoboxing
[video] ‌[slides] ‌[guide] ‌
HW 1:
Java Syntax and Sound Synthesis (due 2/21)
Proj 2 Proposal (due 2/21)
Fri 2/16

TBA

14. Exceptions, Iterators, Iterables
[video] ‌[slides] ‌[guide] ‌
6Mon 2/19: Academic Holiday Selecting ADTs
Selecting ADTs Exam Prep
Work on Project 2
Wed 2/21

TBA

15. Packages, Access Control, Objects
[video] ‌[slides] ‌[guide] ‌
Fri 2/23

TBA

16. Encapsulation, Lists, Delegation vs. Extension
[video] ‌[slides] ‌[guide] ‌
Project 2 Implementation (due 3/5)
7Mon 2/26

Algs 170-198 (top paragraph)

17. Asymptotics I
[video] ‌[slides] ‌[guide] ‌
Asymptotic Analysis I
Asymptotic Analysis Exam I Prep
Work on Project 2
Wed 2/28

Algs 170-198

18. Asymptotics II
[video] ‌[slides] ‌[guide] ‌
Fri

Algs 170-198

19. Asymptotics III
[video] ‌[slides] ‌[guide] ‌
8Mon 3/5

Algs 216-233

20. Disjoint Sets
[video] ‌[slides] ‌[guide] ‌
Asymptotic Analysis II
Asymptotic Analysis II Exam Prep
Tree Maps (due 3/9)
Wed 3/7

Algs 396-406

21. Trees, BSTs
[video] ‌[slides] ‌[guide] ‌
HW 2: Percolation (due 3/14)
Fri 3/9

Algs 424-431, 432-448 (extra)

22. Balanced BSTs
[video] ‌[slides] ‌[guide] ‌
9Mon 3/12

Algs 458-468, 478-479, 468-475 (extra)

23. Hashing
[video] ‌[slides] ‌[guide] ‌
Hashing
Hashing Exam Prep
Hash Maps (due 3/16)
Wed 3/14

Algs 308-320

24. Heaps
[video] ‌[slides] ‌[guide] ‌
Fri 3/16

None

25. Advanced Trees, incl. Geometric
[video] ‌[slides] ‌[guide] ‌
HW 3: Hashing (due 3/19)
10Mon 3/19

None

26. Midterm 2 Review
[video] ‌[slides] ‌[guide] ‌
Heaps and Graphs
Heaps and Graphs Exam Prep
Heap Min PQ (due 3/23)
Wed 3/21

Algs 515-537

27. Graphs
[video] ‌[slides] ‌[guide] ‌
Midterm 2 (Date 3/20, Time 8-10PM)
Material up to 3/16
Fri 3/23

Algs 538-542, 566-583

28. Graph Traversals
[video] ‌[slides] ‌[guide] ‌
HW 4: Puzzle Solver (due 4/4)
Spring Break (3/26 - 3/30)
11Mon 4/2

None

29. Dynamic Programming
[video] ‌[slides] ‌[guide] ‌
Graphs
Graphs Exam Prep
Midterm 2 Review
Wed 4/4

Algs 638-657

30. Shortest Paths
[video] ‌[slides] ‌[guide] ‌
Fri 4/6

Algs 604-630

31. MSTs
[video] ‌[slides] ‌[guide] ‌
Project 3: BearMaps (due 4/18)
12Mon 4/9

Algs 244-275, 323-327

32. Basic Sorting Algorithms
[video] ‌[slides] ‌[guide] ‌
Graphs, Sorting
MST/SP Exam Prep
Merge and Quick Sort (due 4/13)
Wed 4/11

Algs 288-296, 302

33. Basic Sorts, Quick Sort
[video] ‌[slides] ‌[guide] ‌
Fri 4/13

Algs 341-347

34. More Quick Sort, Stability, Shuffling
[video] ‌[slides] ‌[guide] ‌
13Mon 4/16

Algs 279-282

35. Sorting and Algorithmic Bounds
[video] ‌[slides] ‌[guide] ‌
More Sorting
Sorting Exam Prep
Radix Sort (due 4/20)
Wed 4/18

Algs 702-718

36. Radix Sorts
[video] ‌[slides] ‌[guide] ‌
Fri 4/20

Algs 730-752

37. Overview, Tries
[video] ‌[slides] ‌[guide] ‌
HW 5: Seam Carving (due 4/25)
14Mon 4/23

None

38. Compression
[video] ‌[slides] ‌[guide] ‌
Goodbye, Fun Fractal Sound (due 4/27)
Wed 4/25

None

39. Reductions, Algorithmic Bounds, NP Completeness
[video] ‌[slides] ‌[guide] ‌
Fri 4/27

None

40. Summary, Fun
[video] ‌[slides] ‌[guide] ‌
Makeup HW 6:
Boggle (due 5/5)
Makeup HW 7:
Compression (due 5/5)
15 RRR Week (May 1-5) Makeup Lab:
HugLife (due 5/5)
Finals Week (May 8-12), Final exam: TBD
Lab/Discussion Schedule
Office Hour Schedule
Note: Office hours are located in 109 Morgan Hall (map here). On Thursdays and Fridays, feel free to come to lab with your questions.