CS 61B Data Structures, Spring 2022
Instructor: Paul Hilfinger. Office hours Tu 1-2, Th 4-5, 787 Soda and Zoom link
Lecture: MWF 1-2PM, Dwinelle 155 as capacity allows. Online for first 2 weeks.
Zoom Webinar Link

Please also check our course Piazza for more announcements.

Date Category Announcement
1/12 Misc This website is under construction. The schedule is tentative, and many of the documents and pages contain obsolete and inaccurate information.
1/12 Misc For at least the first two weeks, this class (lectures, discussion and lab sections, and office hours) will be entirely online, as per University policy.
1/12 Lectures Because the class is bigger than Dwinelle will hold, and because of considerations imposed by the current pandemic, we do not require lecture attendance in person. Feel free to use the Zoom webinars, screencasts, and posted slides (linked to from the website) instead.
1/17 Admin To join the Piazza page for CS 61B, head over to this this link.


Week Date Reading Lecture Discussion Lab Assignments/Exams
1 Mon 1/17 No classes No discussion section javac, java, git HW0: Being a Good Classmate and A Few Java Exercises
(due 1/28)
Wed 1/19 HFJ 1-26 Intro, Hello World Java
Fri 1/21 AJR 1.1-1.9 A Little Programming
2 Mon 1/24 HFJ 27-36. AJR Chapter 4 Values and Containers
Intro to Java
IntelliJ and IntLists [HW0 due 1/28]
HW1: JUnit testing, basic syntax, and linked lists
(due 2/1)
Project 0: Blocks
(due 2/11)
Wed 1/26 Simple Pointer Manipulation
Fri 1/28 HFJ 670 Arrays
Mon 1/31 HFJ 50-62 Developing a Sort, Unit Testing
IntDLists and Debugging
[HW1 due 2/1]
HW2: Arrays and Lists of Lists
(due 2/8)
Wed 2/2 HFJ 73-87 Object-Based Programming
Fri 2/4 HFJ 168-191, 236-265, 287-293 Object-oriented Mechanisms
Mon 2/7 HFJ 200-229 Interfaces and Abstract Classes
Exam Prep
[Solution] [Slides]
Project 0 Office Hours
(No lab assignment)
[Project 0 due 2/11]
[HW2 due 2/8]
HW3: OOP, Interfaces, and Inheritance
(due 2/15)
Wed 2/9 HFJ 73-87 Interfaces and Abstract Classes
Fri 2/11 HFJ 228-229. 250-256 Examples: Comparable and Reader, OOP Details
Mon 2/14 HFJ 316-348, 587-593, 665-668 Delegation, Exceptions, Assorted Features
Exam Prep
[Solution] [Slides]
OOP with Collections, Iterators, and Iterables [HW3 due 2/15]
Project 1
(due 3/3)
Wed 2/16 Test #1, 7-9PM
Fri 2/18 HFJ 154-160, 667-668 Packages, Access Control
Mon 2/21 AJR 6.3, 6.4, HFJ 274-310 Integers
Test Review
Exam Prep
Unit Testing and Integration Testing for Enigma [Project 1: Checkpoint due 2/21]
HW4: Scanners and Patterns
(due 3/1)
Wed 2/23 DSIJ Chapter 1 Integers.
Fri 2/25 Complexity
Mon 2/28 DSIJ Chapters 2 and 3 Collections, Amortization
Bits and Algorithmic Analysis
Exam Prep
[Solution] [Slides]
Project 1 Office Hours
(No lab assignment)
[Project 1 due 3/3]
[HW4 due 3/1]
HW5: Bit Operations, Asymptotic Analysis
(due 3/8)
Wed 3/2 DSIJ Chapter 4 Sequences, Some Design Patterns
Fri 3/4 Sequences (II)
Mon 3/7 DSIJ Chapter 5 Trees
More Algorithmic Analysis
Exam Prep
Practical Asymptotic Analysis and TreeMaps [HW5 due 3/8]
HW6: BSTs, Ranges, and Hashing
(due 3/15)
Project 2
(due 3/31)
Wed 3/9 DSIJ Chapter 6 Tree searching
Fri 3/11 DSIJ Chapter 7 Hashing
Mon 3/14 DSIJ 6.5 Game Trees
Binary Trees
Exam Prep
Heaps and Priority Queues [HW6 due 3/15]
Wed 3/16 DSIJ 6.4 Priority Queues, Range Queries
Fri 3/18 AJR Chapter 10 Generics
10 Mon 3/21 Spring Break No discussion section
Trees ETS
Wed 3/23 Spring Break
Fri 3/25 Spring Break
Mon 3/28 DSIJ 8 Sorting
Heaps and Hashing
Exam Prep
Project 2 Office Hours
(No lab assignment)
[Project 2: Checkpoint due 3/28]
[Project 2 due 3/31]
Wed 3/30 Sorting (II)
Fri 4/1 Sorting (III)
Mon 4/4 DSIJ 9
balanced-search demos
Balanced Search Structures
Exam Prep
Files and Persistence Project 3
(due 4/29)
HW 7: Sorting
(due 4/12)
Wed 4/6 Review
Wed week Test #2, 7-9PM
Fri 4/8 Balanced Search Structures (II)
Mon 4/11 DSIJ 11 Git Internals
Balanced Search
Exam Prep
Software Engineering and Design [HW7 due 4/12]
HW8: Red Black Trees
(due 4/19)
Wed 4/13 DSIJ 12 Graphs, Introduction, Traversals
Fri 4/15 A* Search, Minimal spanning trees, Union-find
Mon 4/18 Pseudo-Random Sequences
Graphs & MSTs
Exam Prep
Union Find and MSTs [HW8 due 4/19]
(due 4/26)
Wed 4/20 DSIJ 10, HFJ pp. 489-516 Dynamic Programming, Enumeration Types
Fri 4/22 Threads, Garbage Collection
15 Mon 4/25 Continued from Friday Shortest Paths
Exam Prep
Project 3 Office Hours
(No lab assignment)
[HW9 due 4/26]
[Project 3: Checkpoint due 4/25]
[Project 3 due 4/29]
Wed 4/27 TBA
Fri 4/29 Summary, Survey
16 Mon 5/2 RRR week No discussion section No labs
Wed 5/4 RRR week
Fri 5/6 RRR week

Discussion and Lab Schedule

Section attendance is optional but highly encouraged in CS61B.

Lab, Discussion, and Office Hours will be held remotely at least until 1/31. Look out for more information on Piazza regarding a change to in person sections.