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
Announcements

Please also check our course Piazza for more announcements.

Date Category Announcement
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.
2/6 Weekly Week 4 Announcements (Piazza)
2/7 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.
2/13 Weekly Week 5 Announcements (Piazza)
2/20 Weekly Week 6 Announcements (Piazza)
2/27 Weekly Week 7 Announcements (Piazza)
3/6 Weekly Week 8 Announcements (Piazza)
3/13 Weekly Week 9 Announcements (Piazza)
3/18 Weekly Week 10 Announcements (Piazza)
3/27 Weekly Week 11 Announcements (Piazza)
4/3 Weekly Week 12 Announcements (Piazza)
4/10 Weekly Week 13 Announcements (Piazza)
Calendar

Legend:

Week Date Reading Lecture Discussion Lab Assignments
1
[Survey]
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
[slides]
Fri 1/21 AJR 1.1-1.9 A Little Programming
[slides][code]
2
[Survey]
Mon 1/24 HFJ 27-36. AJR Chapter 4 Values and Containers
[slides][code]
Intro to Java
[Solution]
[Video] [Slides]
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
[slides][code]
Fri 1/28 HFJ 670 Arrays
[slides][code]
3
[Survey]
Mon 1/31 HFJ 50-62 Developing a Sort, Unit Testing
[slides][code]
Pointers
[Solution]
[Video] [Slides]
Exam Prep

[Solution]
[Video]
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
[slides][code]
Fri 2/4 HFJ 168-191, 236-265, 287-293 Object-oriented Mechanisms
[slides]
4
[Survey]
Mon 2/7 HFJ 200-229 Interfaces and Abstract Classes
[slides]
Objects
[Solution]
[Video] [Slides]
Exam Prep

[Solution]
[Video]
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 Examples, Other Features Supporting Abstraction
[slides][code]
Fri 2/11 HFJ 228-229. 250-256 Examples: Comparable and Reader, OOP Details
[slides][code]
5
[Survey]
Mon 2/14 HFJ 316-348, 587-593, 665-668 Delegation, Exceptions, Assorted Features
[slides]
Test 1 Review
[Solution]
[Video] [Slides]
Exam Prep

[Solution]
[Video]
OOP with Collections, Iterators, and Iterables [HW3 due 2/15]
Project 1
(due 3/4)
HW4: Scanners and Patterns
(due 3/1)
Wed 2/16 Exam Review
Wed 2/16 Test #1, 7-9PM
Fri 2/18 HFJ 154-160, 667-668 Packages, Access Control
[slides]
6
[Survey]
Mon 2/21 No classes Packages & Bits
[Solution]
[Video] [Slides]
Exam Prep

[Solution]
[Video]
Unit Testing and Integration Testing for Enigma [Project 1: Checkpoint due 2/25]
[HW4 due 3/1]
Wed 2/23 AJR 6.3, 6.4, HFJ 274-310 Integers
[slides]
Fri 2/25 DSIJ Chapter 1 Complexity
[slides]
7
[Survey]
Mon 2/28 DSIJ Chapters 2 and 3 Collections, Amortization
[slides]
Algorithmic Analysis
[Solution]
[Video] [Slides]
Exam Prep

[Solution]
[Video]
Project 1 Office Hours
(No lab assignment)
[Project 1 due 3/4]
[HW4 due 3/1]
HW5: Bit Operations, Asymptotic Analysis
(due 3/8)
Wed 3/2 DSIJ Chapter 4 Sequences, Some Design Patterns
[slides][code]
Fri 3/4 Sequences (II)
8
[Survey]
Mon 3/7 DSIJ Chapter 5 Trees
[slides]
More Algorithmic Analysis
[Solution]
[Video] [Slides]
Exam Prep

[Solution]
[Video]
Practical Asymptotic Analysis and TreeMaps [HW5 due 3/8]
Project 2: Ataxx
(due 4/1)
Wed 3/9 DSIJ Chapter 6 Tree searching
[slides][code]
Fri 3/11 DSIJ Chapter 7 Hashing
[slides]
9
[Survey]
Mon 3/14 DSIJ 6.5 Game Trees
[slides]
Binary Trees
[Solution]
[Slides]
Exam Prep

[Solution]
[Video]
Heaps and Priority Queues [Project 2: Checkpoint due 3/18]
HW6: BSTs, Ranges, and Hashing
(due 3/29)
Wed 3/16 DSIJ 6.4 Priority Queues, Range Queries
[slides]
Fri 3/18 AJR Chapter 10 Generics
[slides]
10 Mon 3/21 Spring Break No discussion section
Wed 3/23 Spring Break
Fri 3/25 Spring Break
11
[Survey]
Mon 3/28 DSIJ 8 Sorting
[slides]
Heaps and Hashing
[Solution]
[Slides]
Exam Prep

[Solution]
[Video]
Project 2 Office Hours
(No lab assignment)
[HW6 due 3/29]
[Project 2 due 4/1]
Wed 3/30 Sorting (II)
[slides]
Fri 4/1 Sorting (III)
[slides][code]
12
[Survey]
Mon 4/4 DSIJ 9
balanced-search demos
Balanced Search Structures
[slides]
Test 2 Review
[Solution]

Exam Prep

[Solution]
[Video]
Files and Persistence Project 3
(due 4/29)
HW 7: Sorting
(due 4/12)
Wed 4/6 Review
Wed 4/6 Test #2, 7-9PM
Fri 4/8 Balanced Search Structures (II)
[slides]
13
[Survey]
Mon 4/11 DSIJ 11 Git Internals
[slides]
Sorting
[Solution]
[Slides]
Exam Prep

[Solution]
[Video]
Software Engineering and Design [HW7 due 4/12]
HW8: Red Black Trees
(due 4/19)
Wed 4/13 DSIJ 12 Graphs, Introduction, Traversals
[slides]
Fri 4/15 A* Search, Minimal spanning trees, Union-find
[slides]
14
[Survey]
Mon 4/18 Pseudo-Random Sequences
[slides][code]
Graphs & LLRBs
[Solution]
[Slides]
Exam Prep

[Solution]
[Video]
Union Find and MSTs [Project 3: Checkpoint due 4/22]
[HW8 due 4/19]
HW9: Graphs
(due 4/26)
Wed 4/20 DSIJ 10, HFJ pp. 489-516 Dynamic Programming, Enumeration Types
[slides]
Fri 4/22 Threads
[slides]
15 Mon 4/25 Storage Management
[slides]
Graphs & WQU
[Solution]
[Slides]
Exam Prep

[Solution]
[Video]
Project 3 Office Hours
(No lab assignment)
[HW9 due 4/26]
[Project 3 due 4/29]
Wed 4/27 Compression
[code]
Fri 4/29 Summary, Survey
[slides]
16
[Survey]
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.

Discussions

Labs

Office Hours & Misc. Events Schedule

OH will be held online until (at least) Week 3. Office Hours begins on 1/24.

Online OH can be accessed at oh.datastructur.es at the times listed below on the OH Discord Server.

Prof. Hilfinger's office hours: Tu 1-2, Th 4-5, 787 Soda and Zoom link