Please also check our course Piazza for more announcements.
Date | Category | Announcement |
---|---|---|
8/23 | Lectures | Because the class is bigger than Stanley 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. |
8/23 | 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. |
8/23 | Admin |
Tests will be as follows:
|
8/23 | Admin | To join the Piazza page for CS 61B, head over to this this link. |
8/23 | Admin | The Scores tab above will show you what you have submitted and any logs produced by the autograder. |
8/23 | Admin | You will need a CS61B Unix account to hand in your work, among other things. You can get one by clicking here. |
Legend:
- HFJ: Head First Java
- AJR: A Java Reference
- DSIJ: Data Structures (Into Java)
Week | Date | Reading | Lecture | Discussion | Lab | Assignments/Exams |
---|---|---|---|---|---|---|
1 | Mon 8/23 | No classes | No discussion section | javac, java, git | HW0: Being a Good Classmate and A Few Java Exercises (due 9/3) |
|
Wed 8/25 | HFJ 1-26 | Intro, Hello World Java [slides] |
||||
Fri 8/27 | AJR 1.1-1.9 | A Little Programming [slides][code] |
||||
2 [Survey] |
Mon 8/30 | HFJ 27-36. AJR Chapter 4 | Values and Containers [slides][code] |
Intro to Java
[Solution] [Video] [Slides] |
IntelliJ and IntLists | [HW0 due 9/3] HW1: JUnit testing, basic syntax, and linked lists (due 9/7) Project 0: Flood (due 9/17) |
Wed 9/1 | Simple Pointer Manipulation [slides][code] |
|||||
Fri 9/3 | HFJ 670 | Arrays [slides][code] |
||||
3 [Survey] |
Monday, 9/6 | No classes |
Pointers
[Solution] [Video] [Slides] |
IntDLists and Debugging |
[HW1 due 9/7] HW2: Arrays and Lists of Lists (due 9/14) |
|
Wed 9/8 | HFJ 50-62 | Developing a Sort, Unit Testing [slides][code] |
||||
Fri 9/10 | HFJ 73-87 | Object-Based Programming [slides][code] |
||||
4 [Survey] |
Mon 9/13 | HFJ 168-191, 236-265, 287-293 | Object-oriented Mechanisms [slides] |
Objects
[Solution] [Video] [Slides] Exam Prep [Solution] [Video] [Slides] |
Project 0 Office Hours (No lab assignment) |
[Project 0 due 9/17] [HW2 due 9/14] HW3: OOP, Interfaces, and Inheritance (due 9/21) |
Wed 9/15 | HFJ 200-229 | Interfaces and Abstract Classes [slides] |
||||
Fri 9/17 | HFJ 73-87 | Interfaces and Abstract Classes [slides][code] |
||||
5 [Survey] |
Mon 9/20 | HFJ 228-229. 250-256 | Examples: Comparable and Reader, OOP Details [slides][code] |
Inheritance
[Solution] [Video] [Slides] Exam Prep [Solution] [Video] [Slides] |
OOP with Collections, Iterators, and Iterables | [HW3 due 9/21] Project 1 (due 10/7) |
Wed 9/22 | HFJ 316-348, 587-593, 665-668 | Delegation, Exceptions, Assorted Features [slides] |
||||
Fri 9/24 | HFJ 154-160, 667-668 | Packages, Access Control [slides] |
||||
6 [Survey] |
Mon 9/27 | AJR 6.3, 6.4, HFJ 274-310 | Integers [slides] |
Test Review
[Solution] Exam Prep [Solution] |
Unit Testing and Integration Testing for Enigma | [Project 1: Checkpoint due 9/27] HW4: Scanners and Patterns (due 10/5) |
Wed 9/29 | DSIJ Chapter 1 | Integers. Exam review. | ||||
Thur 9/30 | Test #1, 7-9PM | |||||
Fri 10/1 | Complexity [slides] |
|||||
7 [Survey] |
Mon 10/4 | DSIJ Chapters 2 and 3 | Collections, Amortization [slides] |
Bits and Algorithmic Analysis
[Solution] [Video] [Slides] Exam Prep [Solution] [Video] [Slides] |
Project 1 Office Hours (No lab assignment) |
[Project 1 due 10/7] [HW4 due 10/5] HW5: Bit Operations, Asymptotic Analysis (due 10/12) |
Wed 10/6 | DSIJ Chapter 4 | Sequences, Some Design Patterns [slides][code] |
||||
Fri 10/8 | Sequences (II) | |||||
8 [Survey] |
Mon 10/11 | DSIJ Chapter 5 | Trees [slides] |
More Algorithmic Analysis
[Solution] [Video] [Slides] Exam Prep [Solution] [Video] |
Practical Asymptotic Analysis and TreeMaps | [HW5 due 10/12] HW6: BSTs, Ranges, and Hashing (due 10/19) Project 2 (due 10/28) |
Wed 10/13 | DSIJ Chapter 6 | Tree searching [slides][code] |
||||
Fri 10/15 | DSIJ Chapter 7 | Hashing [slides] |
||||
9 [Survey] |
Mon 10/18 | DSIJ 6.5 | Game Trees [slides] |
Binary Trees
[Solution] [Video] [Slides] Exam Prep [Solution] [Video] |
Heaps and Priority Queues | [HW6 due 10/19] |
Wed 10/20 | DSIJ 6.4 | Priority Queues, Range Queries [slides] |
||||
Fri 10/22 | AJR Chapter 10 | Generics [slides] |
||||
10 [Survey] |
Mon 10/25 | DSIJ 8 | Sorting [slides] |
Heaps and Hashing
[Solution] [Video] [Slides] Exam Prep [Solution] [Video] |
Project 2 Office Hours (No lab assignment) |
[Project 2: Checkpoint due 10/25] [Project 2 due 10/28] |
Wed 10/27 | Sorting (II) [slides] |
|||||
Fri 10/29 | Sorting (III) [slides][code] |
|||||
11 [Survey] |
Mon 11/1 | DSIJ 9 balanced-search demos |
Balanced Search Structures [slides] |
Sorting
[Solution] [Video] [Slides] Exam Prep [Solution] [Video] |
Files and Persistence | Project 3 (due 12/3) HW 7: Sorting (due 11/9) |
Wed 11/3 | Review | |||||
Wed 11/3 | Test #2, 7-9PM | |||||
Fri 11/5 | Balanced Search Structures (II) [slides] |
|||||
12 [Survey] |
Mon 11/8 | DSIJ 11 | Git Internals [slides] |
Balanced Search
[Solution] [Video] [Slides] Exam Prep [Solution] [Video] |
Software Engineering and Design | [HW7 due 11/9] HW8: Red Black Trees (due 11/16) |
Wed 11/10 | DSIJ 12 | Graphs, Introduction, Traversals [slides] |
||||
Fri 11/12 | A* Search, Minimal spanning trees, Union-find [slides] |
|||||
13 [Survey] |
Mon 11/15 | Pseudo-Random Sequences [slides][code] |
Graphs & MSTs
[Solution] [Video] [Slides] Exam Prep [Solution] [Video] |
Union Find and MSTs | [HW8 due 11/16] HW 9: Graphs (due 11/30) |
|
Wed 11/17 | DSIJ 10, HFJ pp. 489-516 | Dynamic Programming, Enumeration Types [slides] |
||||
Fri 11/19 | Threads, Garbage Collection [slides] |
|||||
14 | Mon 11/22 | Continued from Friday | No discussion section | No lab assignment | [HW9 due 11/30] [Project 3: Checkpoint due 11/22] |
|
Wed 11/24 | No lecture | |||||
Fri 11/26 | Thanksgiving | |||||
15 | Mon 11/29 | Compression [slides] |
Shortest Paths
[Solution] [Video] [Slides] Exam Prep [Solution] [Video] |
Project 3 Office Hours (No lab assignment) |
[HW9 due 11/30] [Project 3 due 12/3] |
|
Wed 12/1 | Continued from Monday | |||||
Fri 12/3 | Summary, Survey [slides] |
|||||
16 | Mon 12/6 | RRR week | No discussion section | No labs | ||
Wed 12/8 | RRR week | |||||
Fri 12/10 | RRR week |
Discussion and Lab Schedule
Section attendance is optional but highly encouraged in CS61B.
Lab and discussion will be offered both online and in-person. There will be no restrictions on the number of students permitted to attend online sections. We will release in person section signups at 5PM PT on 8/24. Until Week 4, you may only attend an in person section if you are signed up for it. Afterwards, you may attend any section.
Office Hours & Misc. Events Schedule
OH will be held online until (at least) Week 4. Office Hours begins on 8/30.
Online OH (yellow) 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 on Zoom.