Main | CS 61B Spring 2022 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: TBA Main Course Info Staff Screencasts Beacon GitBugs Resources Piazza Announcements 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. Calendar Legend: HFJ: Head First Java AJR: A Java Reference DSIJ: Data Structures (Into Java) 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 [Solution] 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 3 [Survey] Mon 1/31 HFJ 50-62 Developing a Sort, Unit Testing Pointers [Solution] 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 4 [Survey] Mon 2/7 HFJ 200-229 Interfaces and Abstract Classes Objects [Solution] 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 5 [Survey] Mon 2/14 HFJ 316-348, 587-593, 665-668 Delegation, Exceptions, Assorted Features Inheritance [Solution] 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 6 [Survey] Mon 2/21 AJR 6.3, 6.4, HFJ 274-310 Integers Test Review [Solution] Exam Prep [Solution] 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 7 [Survey] Mon 2/28 DSIJ Chapters 2 and 3 Collections, Amortization Bits and Algorithmic Analysis [Solution] 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) 8 [Survey] Mon 3/7 DSIJ Chapter 5 Trees More Algorithmic Analysis [Solution] Exam Prep [Solution] 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 9 [Survey] Mon 3/14 DSIJ 6.5 Game Trees Binary Trees [Solution] Exam Prep [Solution] 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 11 [Survey] Mon 3/28 DSIJ 8 Sorting Heaps and Hashing [Solution] Exam Prep [Solution] 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) 12 [Survey] Mon 4/4 DSIJ 9 balanced-search demos Balanced Search Structures Sorting [Solution] Exam Prep [Solution] 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) 13 [Survey] Mon 4/11 DSIJ 11 Git Internals Balanced Search [Solution] Exam Prep [Solution] 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 14 [Survey] Mon 4/18 Pseudo-Random Sequences Graphs & MSTs [Solution] Exam Prep [Solution] Union Find and MSTs [HW8 due 4/19] Graphs (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 [Solution] Exam Prep [Solution] 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 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. Discussions Labs 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.