CS 61B Data Structures, Spring 2020
Instructor: Paul Hilfinger
Lecture: MWF 3-4PM, Wheeler 150
Announcements [Past Announcements]

Please also check our course Piazza for more announcements.

Date Category Announcement
1/10 Misc This website is under construction. Do not rely on this information, as it is out of date and changing.
2/1 Projects Project 0 (Signpost) released! You can find a link to the spec in the calendar below. Due 2/18.
1/21 Lectures The first two lectures for this course (Wednesday and Friday) will be in Zellerbach Auditorium. Subsequent lectures will be in Wheeler, as on the class schedule.
1/21 Lectures Because the class is bigger than Wheeler will hold, we do not require lecture attendance. Feel free to use the screencasts and posted slides (linked to from the website) instead. After the first few sessions, enough people will use these resources exclusively that there will be room in Wheeler for all who prefer to attend in person.
1/21 Admin Announcements from outside groups will be kept on Piazza in the outside_postings folder. You can narrow your view to this category using the tab on the folder bar at the top of the Piazza page.
1/21 Admin Tests will be as follows:
  • Test #1: Thursday, 27 February 2020
  • Test #2: Wednesday 1 April 2020
  • Final: Wednesday, 13 May 2020 7:00PM-10PM
1/21 Admin To join the Piazza page for CS 61B, head over to this this link.
1/21 Admin The Scores tab above will show you what you have submitted and any logs produced by the autograder.
Calendar
Legend:
Week Date Reading Lecture Discussion Lab Assignments/Exams
1 Mon 1/20 No classes No discussion section javac, java, git HW0: A Few Java Exercises
(due 1/31)
Wed 1/22 HFJ 1-26 Intro, Hello World Java
[slides]
Fri 1/24 AJR 1.1-1.9 A Little Programming
[slides][code]
2 Mon 1/27 HFJ 27-36. AJR Chapter 4 Values and Containers
[slides][code]
Intro to Java
[Solution]
IntelliJ and IntLists [HW0 due 1/31]
HW1: JUnit testing, basic syntax, and linked lists
(due 2/7)
Project 0: Signpost
(due 2/18)
Wed 1/29 Simple Pointer Manipulation
[slides][code]
Fri 1/31 HFJ 670 Arrays
[slides][code]
3 Mon 2/3 HFJ 50-62 Developing a Sort, Unit Testing
[slides][code]
Pointers
[Solution]
IntDLists and Debugging
(due 2/10)
[HW1 due 2/7]
HW2: Arrays and Lists of Lists
(due 2/14)
Wed 2/5 HFJ 73-87 Object-Based Programming
[slides][code]
Fri 2/7 HFJ 168-191, 236-265, 287-293 Object-oriented Mechanisms
[slides]
4 Mon 2/10 HFJ 200-229 Interfaces and Abstract Classes
[slides]
Objects
[Solution]

Exam Prep

[Solution]
Project 0 Office Hours
(No lab assignment)
(Please click through for schedule)
[HW2 due 2/14]
HW3: OOP, Interfaces, and Inheritance
(due 2/21)
Wed 2/12 HFJ 73-87 Interfaces and Abstract Classes
[slides][code]
Fri 2/14 Examples: Comparable and Reader
[slides][code]
5 Mon 2/17 Presidents' Day Inheritance
[Solution]
Exam Prep

[Solution]
OOP with Collections, Iterators, and Iterables [Project 0 (Signpost) due 2/18]
[HW3 due 2/21]
Project 1: The Enigma
(due 3/10)
Wed 2/19 HFJ 228-229. 250-256, 316-348 Additional OOP Details, Exceptions
[slides]
Fri 2/21 HFJ 154-160, 587-593, 665-668 Packages, Access, Loose Ends
[slides]
6 Mon 2/24 AJR 6.3, 6.4, HFJ 274-310 Integers
[slides]
Test Review
[Solution]
Testing and Debugging HW4: Scanners and Patterns
(due 3/6)
Wed 2/26 DSIJ Chapter 1 Integers
Thur 2/27 Test #1, 8-10PM
Fri 2/28 Complexity
[slides]
7 Mon 3/2 DSIJ Chapters 2 and 3 Collections, Amortization
[slides]
Bits and Algorithmic Analysis
[Solution]
Exam Prep
[Solution]
Project 1 Office Hours [HW4 due 3/6]
HW5: Bit Operations, Asymptotic Analysis
(due 3/13)
Wed 3/4 DSIJ Chapter 4 Sequences, Some Design Patterns
[slides][code]
Fri 3/6 Sequences (II)
8 Mon 3/9 DSIJ Chapter 5 Trees
[slides]
More Algorithmic Analysis
[Solution]
Exam Prep
[Solution]
Asymptotic Analysis [HW5 due 3/13]
[Project 1 (Enigma) due 3/10]
HW6: Searching: BSTs, Ranges, and Hashing
(due 3/20)
Project 2: TBA
(due 4/6)
Project 2 milestone
(due 4/3)
Wed 3/11 DSIJ Chapter 6 Tree searching
[slides][code]
Fri 3/13 Game trees
[slides]
9 Mon 3/16 DSIJ 6.4, 6.5 Priority Queues, Range Queries
[slides]
Binary Trees
[Solution]
Exam Prep
[Solution]
Priority Queues, Debugging [HW6 due 3/20]
Wed 3/18 DSIJ Chapter 7 Hashing
[slides]
Fri 3/20 AJR Chapter 10 Generics
[slides]
10 3/23 Spring Break No discussion section
3/25 Spring Break
3/27 Spring Break
11 Mon 3/30 DSIJ 8 Sorting
[slides]
Heaps and Hashing
[Solution]
Exam Prep
[Solution]
Project 2 Office Hours [Project 2 milestone due 4/3]
HW7: Sorting
(due 4/10)
Wed 4/1 Review
Wed 4/1 Test #2, 8-10PM
Fri 4/3 Sorting (II)
[slides]
12 Mon 4/6 sorting demos Sorting (III)
[slides]
Sorting
[Solution]
Exam Prep
[Solution]
Files in Java [HW7 due 4/10]
[Project 2 due 4/6]
HW8: Balanced Search
(due 4/17)
Project 3: Gitlet
(due 5/1)
Project 3 milestone
(due 4/27)
Wed 4/8 DSIJ 9
balanced-search demos
Balanced Search Structures
Fri 4/10 Balanced Search Structures (II)
[slides]
13 Mon 4/13 DSIJ 11 Pseudo-Random Sequences
[slides]
Balanced Search
[Solution]
Exam Prep
[Solution]
Software Engineering [HW8 due 4/17]
HW9: Graphs
(due 4/24)
Wed 4/15 DSIJ 12 Graphs, Introduction, Traversals
[slides]
Fri 4/17 A* Search, Minimal spanning trees, Union-find
[slides]
14 Mon 4/20 Git internals
[slides]
Graphs
[Solution]
Exam Prep
[Solution]
Lambdas, Streams, Functional Programming [HW9 due 4/24]
Wed 4/22 DSIJ 10, HFJ pp. 489-516 Dynamic Programming, Enumeration Types
[slides]
Fri 4/24 Threads, Garbage Collection
[slides]
15 Mon 4/27 Slides from Josh Hug Compression (extra material; see ? slides)
[slides]
A* Search
[Solution]
Exam Prep
[Solution]
Project 3 Office Hours [Project 3 milestone due 4/27]
[Project 3 (Gitlet) due 5/1]
Wed 4/29 (See previous slides)
Fri 5/1 Summary, Survey
[slides]
16 Mon 5/4 RRR week No discussion section No labs
Mon 5/6 RRR week
Mon 5/8 RRR week

Discussion and Lab Schedule

Feel free to attend any discussion and lab you want. If the room is full, priority seating will go to students who signed up for that section.
Discussions:

Office Hour Schedule

Note that office hours are subject to change by week, so please check here often for the most up-to-date office hours.

TA Office Hours: Professor Office Hours: