CS 61B Data Structures, Spring 2019
Instructor: Josh Hug
Lecture: MWF 3-4 PM, Wheeler 150
Announcements [View All]
  • Week 4 Announcements
    [posted February 12, 2019]

    Links to the Study Guide Lecture threads will be contained in the Piazza index now.

    CSM Sign Ups: There are a lot of available sections on Friday: http://scheduler.csmentors.org/. Computer Science Mentors (CSM) will be running small group discussion sections for CS 61B this semester!

    Project 0 Gold Points: You should have received an email if you submitted Gold Points indicating your score. Email gigi.lu@berkeley.edu if you did not get any emails.

  • Office Hours Policies
    [posted February 11, 2019]

    Office Hours Policies OH Queue: oh.datastructur.es If you add yourself to the OH queue before OH starts, you will be removed from the queue. Example: if you queue up at 10:55 a.m., but OH start at 11:00 a.m., then you will be removed. You must add a good, specific description to your OH ticket (including your question, any errors, and what you have tried already) or else you will be skipped. Begin your description with an appropriate tag from the following: [Logistics], [Git/Setup], [Conceptual], or [Debugging]. We reserve the right to not help you debug until you have shown effort to debug by yourself. This includes writing your own tests and using the IntelliJ debugger.

  • Discussion and Lab Changes
    [posted February 11, 2019]

    Discussion and Lab Permenant Changes

    Discussion 150 (Tuesday 5pm, 9 Evans) will now be taught by Carlo and will be converted from an exam prep section into a regular discussion section. Sam will be teaching exam prep at the same time in B1 Hearst Field Annex.

    Lab 129 (Tuesday 5pm, 277 Soda) will now be taught by Danny and will be converted from a regular lab into a challenge lab.

    Lab 133 (Thursday 5pm, 275 Soda) will now be taught by Eli and will remain a regular lab.

    Lab 145 (Friday 1pm, 271 Soda) will now be taught by Itai and will remain a challenge lab

  • Project 1A walkthrough
    [posted February 6, 2019]

    The project 1A spec now contains a video walkthrough for the trickier constructor for LinkedListDeque and ArrayDeque. See https://piazza.com/class/jqr7hfmf4v74e?cid=1010 for more details.

  • Mentor GSIs, extensions, week 2 survey
    [posted February 2, 2019]
    1. The mentor GSI selection system is now live. You can request your mentor GSI by going to https://registration.datastructur.es and using the drop down menu at the top of the page. Your mentor GSI will keep an eye on your progress, approve extension requests, and direct you to resources if it seems like you might be struggling. The system is first-come, first-served. Once a GSI has 35 mentees, the system will no longer let you add that person as a mentor GSI. You’ll be free to switch whenever you want during week 3, but we’ll require manual approval for switching starting week 4. If the person you want is already taken, pick someone else for now, and if you really want a particular person, we can manually add them as your mentor GSI during week 4.

    2. The week 2 survey is posted to the site. Reminder that it will close at 11:59 on February 3rd.

    3. If you need an extension request for project 0 or lab 2, please use the extension request system at https://registration.datastructur.es. Since the deadlines have already passed, your extension will have to be approved manually, but we’ll be pretty friendly. We’re requiring manual approval because we want to keep track of folks who look like they’re running behind for whatever reason, even if it’s just that you forgot to submit before the deadline. It’s easy to get lost at Berkeley, especially in a class of 1700 people.

  • Pre-semester Advising Sessions
    [posted January 29, 2019]

    We are opening up early semester advising to give students a chance to talk to TA’s one-on-one about concerns about the course, declaring majors, and more. We have a wide range of experiences and backgrounds represented by the CS61B staff, so if you want to talk about life beyond CS61B (i.e. internship recruiting, research, co-curricular clubs/activities, etc.), you’re welcome to sign-up for a one-on-one as well. This will also be a great chance to get to know the course staff before indicating your preferences for your Mentor GSI! You can see information about each staff member here.

    You can claim an appointment slot through here. Please be courteous of your classmates and only sign up for one appointment slot. Also, if you need to cancel, please delete the event off of your own Google Calendar so that another student may claim that slot. You may sign up for a slot with any TA you desire. The location will be listed on the particular slot, or the TA will reach out to you once they have found a place. If you want to meet with a TA who doesn’t have any slots available, you can try sending them an email! Please do not use one-on-ones for the purpose of homework/project/lab help, debugging, specific conceptual questions, etc.

  • Weekly Survey 1 Out
    [posted January 27, 2019]

    The first weekly survey is out, and can be found here. It is due on 1/27/2019 at 11:59 P.M.!

  • First Lecture at 7 PM in Zellerbach
    [posted January 23, 2019]

    The first lecture will be in 7 PM on 1/23 in Zellerbach Auditorium. There will be no lecture in Wheeler at 3 PM on 1/23. Lectures will move to Wheeler starting on 1/25.

    Also to clarify pacing points: To be eligible for pacing points for a given lecture, you should either attend or watch by the end of the same day as the live lecture. It doesn’t have to be at the exact same time. Watching on a previous day is OK as well.

  • Pre Semester Survey
    [posted January 21, 2019]

    The pre-semester survey is now available, sorry it’s a day late. Fill it out at https://goo.gl/forms/v2aZJLLZwA52lcQJ2. This will add 8 extra credit points to your total score (see about page on the website for more about points in the course).

    We’ll accept responses until roughly the first midterm, but an earlier response is welcome so we can reach those of you have specific requests or needs.

  • Soft Launch
    [posted January 11, 2019]

    The main part of the website is now posted. Calendar subject to change after week 4, though the midterm dates and times are set. If you want to try to get started on assignments, you can try to use the sp18 versions, but official support won’t be provided. Hoping to post the first few assignments by 1/14 for people who want to get started early.

    Course policies and other administrative stuff coming later.

Week Date Reading Lecture Discussion Lab Assignments/Exams
Wed 01/23


1. Intro, Hello World Java
[vid1] ‌[vid2] ‌[slides] ‌[guide] ‌
Intro to Java
Setting Up Your Computer
javac, java, git (due 2/1)
HW 0: Basic Java Programs (optional)
Fri 01/25


2. Defining and Using Classes
[video] ‌[slides] ‌[guide] ‌
Mon 01/28


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


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

2.3, 2.4

5. DLLists, Arrays
[video] ‌[slides] ‌[guide] ‌
Mon 02/04


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

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

7. Testing
[video] ‌[slides] ‌[guide] ‌
Fri 02/08


8. Inheritance, Implements
[video] ‌[slides] ‌[guide] ‌
Mon 02/11


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


10. Subtype Polymorphism vs. HoFs
[video] ‌[slides] ‌[guide] ‌
Fri 02/15

6.1, 6.2, 6.3, 6.4

11. Exceptions, Iterators, Object Methods
[video] ‌[slides] ‌[guide] ‌
Mon 2/18: Academic Holiday Iterators, Iterables
Exceptions, Iterators, Iterables Exam Prep
HugLife (due 2/22)
Wed 02/20


12. Coding in the Real World, Review
[slides] ‌
Midterm 1 (Date 2/20, 8-10PM)
Material up to 2/15
Fri 02/22

XX, 5.2

13. Asymptotics I
[video] ‌[slides] ‌[guide] ‌
HW 1: Java Syntax and Sound Synthesis (due 2/27)
Mon 02/25

6.1, 6.2, 6.3

14. Disjoint Sets
[video] ‌[slides] ‌[guide] ‌
Disjoint Sets and Asymptotics (new)
Disjoint Sets and Asymptotics Exam Prep (new)
Disjoint Sets (due 3/1) (new)
Wed 02/27

7.1, 7.2

15. Asymptotics II
[video] ‌[slides] ‌[guide] ‌
Fri 03/01


16. Sets, Maps, Trees, BSTs
[video (sp17)] ‌[slides] ‌[guide] ‌
HW2: Percolation (due 3/5)
Mon 03/04

8.2, Algs 170-198 (top paragraph)

17. 2-3 Trees, 2-3-4 Trees (new)
[video] ‌[slides] ‌[guide] ‌
More Asymptotics, Search Trees (new)
More Asymptotics, Search Trees Exam Prep (new)
TreeMap (due 3/8)
Wed 03/06

8.3, Algs 170-198

18. Rotation Based Trees (new)
[video] ‌[slides] ‌[guide] ‌
Fri 03/08

8.4, Algs 170-198

19. Hashing
[video] ‌[slides] ‌[guide] ‌
HW3: Hashing (due 3/11)
Mon 03/11

Algs 216-233

20. Heaps and PQs
[video] ‌[slides] ‌[guide] ‌
LLRBs, Hashing, Heaps (new)
LLRBs, Hashing, Heaps Exam Prep (new)
HashMap (due 3/15)
Wed 03/13

Algs 396-406

21. Prefix Operations / Tries
[video] ‌[slides] ‌[guide] ‌
Proj2A: HeapPQ (due 3/18)
Fri 03/15

Algs 424-431, 432-448 (extra)

22. Range Finding Operations / Quadtrees (new)
[video] ‌[slides] ‌[guide] ‌
Mon 03/18

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

23. Tree Traversals, Graphs (new)
[video] ‌[slides] ‌[guide] ‌
Tries, Quadtrees, Tree Traversals (new)
Tries, Quadtrees, Tree Traversals Exam Prep (new)
Tries (due 3/22) (new)
Wed 03/20

Algs 308-320

24. Graph Traversals (new)
[video] ‌[slides] ‌[guide] ‌
Proj 2B: QuadTree (due 3/22)
Fri 03/22


25. Shortest Paths
[video] ‌[slides] ‌[guide] ‌
Spring Break (3/25 - 3/29)
Mon 04/01


26. Minimum Spanning Trees
[video] ‌[video sp18] ‌[slides] ‌[guide] ‌
DFS, BFS, Shortest Paths, MSTs (new)
DFS, BFS, Shortest Paths, MSTs Exam Prep (new)
Exam Review
Wed 04/03

Algs 515-537

27. Reductions and Decomposition
[video] ‌[video sp18] ‌[slides] ‌[guide] ‌
Fri 04/05

Algs 538-542, 566-583

28. Midterm 2 Review
[video] ‌[slides] ‌[guide] ‌
Midterm 2 (Date 4/5, Time 8-10PM)
Material up to 3/16
Mon 04/08

Algs 638-657

29. Basic Sorts
[video] ‌[slides] ‌[guide] ‌
Graphs Exam Prep
Merge and Quicksort (due 4/12) HW 4: Puzzle Solver (due 4/10)
Wed 04/10

Algs 604-630

30. Quick Sort
[video] ‌[slides] ‌[guide] ‌
Fri 04/12


31. Software Engineering I (new)
[video] ‌[slides] ‌[guide] ‌
Proj 2C: Bear Maps (due 4/19)
Mon 04/15

Algs 244-275, 323-327

32. More Quick Sort, Stability, Shuffling
[video] ‌[slides] ‌[guide] ‌
Sorting, ADTs (new)
Sorting, ADTs Exam Prep (new)
TBA (due 4/19)
Wed 04/17

Algs 288-296, 302

33. Sorting and Algorithmic Bounds
[video] ‌[slides] ‌[guide] ‌
Fri 04/19

Algs 341-347

34. Software Engineering II (new)
[video] ‌[slides] ‌[guide] ‌
Proj 3A: BYOW Phase 1(due 4/26)
Mon 04/22

Algs 279-282

35. Radix Sorts
[video] ‌[slides] ‌[guide] ‌
More Sorting
Sorting Exam Prep
Fractal Sound (due 4/26)
Wed 04/24

Algs 702-718

36. Compression
[video] ‌[slides] ‌[guide] ‌
Fri 04/26

Algs 730-752

37. Software Engineering III (new)
[video] ‌[slides] ‌[guide] ‌
Mon 04/29


38. TBA
[video] ‌[slides] ‌[guide] ‌
Goodbye, Fun BYOW Demos Proj 3B: BYOW Phase 2 (due in lab)
Wed 05/01


39. NP Completeness (?)
[video] ‌[slides] ‌[guide] ‌
Fri 05/03


40. Summary, Fun
[slides] ‌
RRR Week (May 1-5) Makeup Lab:
Finals Week (May 8-12), Final exam: TBD
Lab/Discussion Schedule

Each discussion section is now a regular, an exam-prep, or a LOST discussion section.

  1. Regular discussions will focus on reviewing the material and doing foundational questions.
  2. Exam-prep discussions will have less review of concepts and focus on working through exam-level problems.
  3. LOST sections will be special drop-in sections that assume no prior knowledge and will be a safe space for students who are feeling behind.

Each lab section is now either a regular or a challenge lab section.

  1. Regular lab sections will follow closely with course material and applying what you learn in lecture.
  2. Challenge lab sections will focus on interesting collaborative puzzle solving programming challenges that are meant to prepare students for trickier exam problems.

Office Hour Schedule
Note: Office hours before lecture on Monday, Wednesday and Friday are in 109 Morgan. Office hours before 2 P.M. on Tuesday are in 310 Jacobs. Office hours after 5 P.M. on Tuesday and Wednesday are in 400 Cory. On Wednesday, Thursday, and Friday, feel free to come to lab with your questions.

Last built: 2019-02-20 03:32 UTC