CS 61B Data Structures, Spring 2018
Instructor: Josh Hug
Lecture: MWF 3-4 PM, Wheeler 150
Announcements [View All]
  • 08-20-2018

    Online Course Announcement

    • The autograder is now open to the public. Sign up using entry code MNXYKX at gradescope.com.
  • 04-16-2018

    Week 13 Annoucements

    • Project 3 is due 4/18!
    • HW 5 will be released this week and is due 4/25
    • Lab due Friday 4/20 at 11:59 PM
  • 04-09-2018

    Week 12 Annoucements

    • Project 3 spec is out (Due 4/18)! Please get started on it as soon as possible.
    • Post midterm 2 one-on-ones are still open. (@3258)
    • Remember to fill out the mandatory proj2 partner survey here
    • Lab due Friday 11:59 PM
  • 04-02-2018

    Week 11 Annoucements

    • Midterm II scores are out (@3262)
      • Regrade requests will open on April 4th, at noon
      • Regrade requests will close on April 9th, at noon
      • Special regrade instructions for FLIGHT
    • Algorithm design problems (@3259)
    • HW 4 due 4/4
    • Post Midterm 2 one-on-ones (@3258)
  • 03-10-2018

    Week 9 Annoucements

    • Homework 2 is due Wednesday, March 14
    • Homework 3 is due Monday, March 19
    • Midterm 2 is on Tuesday, March 20
      • Midterm review session Friday 16th 8-10 PM
      • Guerrilla section Saturday 17th 12-2 PM
  • 03-26-2018 week8

    Week 8 Announcements

    • Project 2 Phase 2 due March 5th
    • Labs this week will be Project 2 checkoff
    • HWs 2 and 3 upcoming due 3/14 and 3/19
    • Midterm 2 far in the future on 3/20
    • Nicole’s online discussion: Tuesday 7:30 - 8:30pm
    • Sarah’s LOST section: Tuesday 5 - 6pm in 187 Dwinelle
    • Gigi’s LOST section: Sunday 3 - 4pm in 405 Soda
  • 02-26-2018 week7

    Week 7 Announcements

    • Phase 1 due February 26
    • Phase 2 due March 5th
    • Labs this week will be working on project 2
    • Nicole’s online discussion: Tuesday 7:30 - 8:30pm
    • Nicole’s online lab: Thursday 7:30 - 8:30pm
    • Sarah’s LOST section: Tuesday 5 - 6pm in 187 Dwinelle
    • Gigi’s LOST section: Sunday 3 - 4pm in 405 Soda
  • 02-19-2018 week6

    Week 6 Announcements

    • Midterm scores are out!
    • Regrade requests are Friday the 23rd at noon. No regrades will be accepted later than that.
    • Please format your regrade according to the format specified on Piazza @1502
    • Project 2 final version is out
    • Phase 1 due February 26
    • Phase 2 due March 5th
    • It is highly recommended that you find a partner for this project. Partner forms are linked in the spec.
    • Homework 1 is out and due 2/21
  • 02-11-2018 week5

    Week 5 Announcements

    • Midterm 1 is on Monday, 2/12 @ 8-10PM (details @1105)
    • The deadline to add/drop classes is Friday, 2/16
    • HW 1 is due Wednesday, 2/21
    • Partner Registration Form due Friday 2/16
    • Schedule a one-on-one with a TA (will be up shortly after Midterm 1)
    • Resources page is up
  • 2018-2-6

    Week 4 Announcements

    • Project 1B due on Friday, 2/9, 11:59PM
    • Midterm 1 is on Monday, 2/12, 8-10PM (details @1105
    • Lab 4 has a checkoff, must attend lab for points
    • Midterm 1 Review Session on Friday 2/9, 8-10PM in 155 Dwinelle
    • Midterm 1 Guerilla Section on Saturday 2/10, 12-2PM in 271-275 Soda
    • Sign up for CSM if you want small group tutoring! @934
    • Resources page is up
  • 2018-1-16

    Discussions, Labs, HW0

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

Calendar
Week Date Reading Lecture Discussion Lab Assignments/Exams
1 Wed 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] ‌
2 Mon 1/22

2.1

3. References, Recursion, and Lists
[video] ‌[slides] ‌[guide] ‌
Scope, Pass-by-Value, Static
[slides] ‌[solution]
Scope, Pass-by-Value, Static Exam Prep
[solution]
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] ‌
3 Mon 1/29

2.5

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

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

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

4.1

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

4.2

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

4.3

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

4.4

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

None

12. Coding in the Real World, Review
[slides] ‌
ADTs
[slides] ‌[solution]
ADTs Exam Prep
[solution]
Getting Started:
Drawing in Project 2
Partner Form Due Friday
Midterm 1 (Date 2/12, 8-10PM)
Material up to 2/7

[solution]  [video]
Wed 2/14

5.1, 5.2

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

Proj 2, Phase 1
Fri 2/16

6.1, 6.2, 6.3

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

7.1, 7.2

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

8.1

16. Encapsulation, Lists, Delegation vs. Extension
[video (sp17)] ‌[slides] ‌[guide] ‌
Project 2, Phase 1 (early deadline 2/23)
7 Mon 2/26

8.2, Algs 170-198 (top paragraph)

17. Asymptotics I
[video] ‌[slides] ‌[guide] ‌
Asymptotic Analysis I
[slides] ‌[solution]
Asymptotic Analysis Exam I Prep
[solution]
Work on Project 2 Project 2, Phase 1 (due 2/26)
Wed 2/28

8.3, Algs 170-198

18. Asymptotics II
[video] ‌[slides] ‌[guide] ‌
Project 2, Phase 2 (due 3/5)
Fri

8.4, Algs 170-198

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

Algs 216-233

20. Disjoint Sets
[video] ‌[slides] ‌[guide] ‌
Asymptotic Analysis II
[slides] ‌[solution]
Asymptotic Analysis II Exam Prep
[solution]
Project 2 Demos (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] ‌
9 Mon 3/12

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

23. Hashing
[video] ‌[slides] ‌[guide] ‌
Disjoint Sets, Trees, and Hashing
[slides] ‌[solution]
Hashing Exam Prep
[solution]
Tree vs. 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)
10 Mon 3/19

None

26. Midterm 2 Review
[slides] ‌
Heaps, Traversals & Trees
[slides] ‌[solution]
Heaps and Graphs Exam Prep
[solution]
Heap Min PQ (due 3/23)
Wed 3/21

Algs 515-537

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

[solution]  [video]
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)
11 Mon 4/2

Algs 638-657

29. Shortest Paths
[video] ‌[slides] ‌[guide] ‌
Graphs
[slides] ‌[solution]
Graphs Exam Prep
[solution]
Graphs (due 4/6)
Wed 4/4

Algs 604-630

30. Minimum Spanning Trees
[video] ‌[slides] ‌[guide] ‌
Fri 4/6

None

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

Algs 244-275, 323-327

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

Algs 288-296, 302

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

Algs 341-347

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

Algs 279-282

35. Sorting and Algorithmic Bounds
[video] ‌[slides] ‌[guide] ‌
More Sorting
[slides] ‌[solution]
Sorting Exam Prep
[solution]
Radix Sorts (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)
14 Mon 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
[slides] ‌
Makeup HW 6:
:b:oggle (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 before lecture Monday through Wednesday are in 109 Morgan. Office hours after lecture Wednesday and Friday are in 400 Cory. On Wednesday, Thursday, and Friday, feel free to come to lab with your questions.