CS 61B Data Structures, Fall 2017
Instructor: Paul Hilfinger
Lecture: MWF 9-10 AM, Wheeler 150
Announcements [Past Announcements]
Date Category Announcement
12/21 Misc Grades now posted. We hope you enjoyed the journey. Have a nice break!
Calendar
Legend:
Week Date Reading Lecture Discussion Lab Assignments/Exams
1 Mon 8/21 No classes No discussion section javac, java, git HW0: A Few Java Exercises
(due 9/1)
Wed 8/23 HFJ 1-26 Intro, Hello World Java
[slides]
Fri 8/25 AJR 1.1-1.9 A Little Programming
[slides][code]
2 Mon 8/28 HFJ 50-62 Developing a Sort, Unit Testing
[slides][code]
Intro to Java
[Solution]
IntelliJ and IntLists HW1: JUnit testing, basic syntax, and linked lists
(due 9/8)
Project 0: 2048
(due 9/18)
Wed 8/30 HFJ 27-36. AJR Chapter 4 Values and Containers
[slides][code]
Fri 9/1 Simple Pointer Manipulation
[slides][code]
3 Mon 9/4 No classes Pointers
[Solution]
DblIntLists and Collections (+IntelliJ)
Wed 9/6 HFJ 670 Arrays
[slides][code]
Fri 9/8 HFJ 73-87 Object-Based Programming
[slides][code]
4 Mon 9/11 HFJ 168-191, 236-265, 287-293 Object-oriented Mechanisms
[slides]
More objects and arrays
[Solution]
Mostly Proj0 Project 1: A Simple Database System
(due 10/13)
HW2: Arrays and Lists of Lists
(due 9/22)
Wed 9/13 HFJ 200-229 Interfaces and Abstract Classes
[slides]
Fri 9/15 HFJ 73-87 Interfaces and Abstract Classes
[slides][code]
5 Mon 9/18 Examples: Comparable and Reader
[slides][code]
Inheritance
[Solution]
Collections, Iterators, and Iterables HW3: OOP, Interfaces, and Inheritance
(due 10/2)
Wed 9/20 HFJ 316-348 Exceptions
[slides]
Fri 9/22 HFJ 154-160, 587-593, 665-668 Packages, Access, Etc.
[slides]
6 Mon 9/25 AJR 6.3, 6.4, HFJ 274-310 Integers
[slides]
Test review
[Solution]
Getting started on Proj1
Wed 9/27 DSIJ Chapter 1 Integers
Fri 9/29 Complexity
[slides]
7 Mon 10/2 DSIJ Chapters 2 and 3 Collections, Amortization
[slides]
Bits and Algorithmic Analysis
[Solution]
Asymptotic Analysis HW4: Scanners and Patterns
(due 10/9)
Wed 10/4 DSIJ Chapter 4 Sequences, Some Design Patterns
[slides][code]
Fri 10/6 Sequences (II)
8 Mon 10/9 DSIJ Chapter 5 Trees
[slides]
More Algorithmic Analysis
[Solution]
Competition Problems Project 2: Qirkat
(due 11/9 (milestone due 11/6))
HW5: Bit Operations, BSTs, and Asymptotic Analysis
(due 10/20)
Wed 10/11 DSIJ Chapter 6 Tree searching
[slides][code]
Fri 10/13 Game trees
[slides]
9 Mon 10/16 DSIJ 6.4, 6.5 Priority Queues, Range Queries
[slides]
Binary Trees
[Solution]
Priority Queues and Debugging
Wed 10/18 DSIJ Chapter 7 Hashing
[slides]
Fri 10/20 AJR Chapter 10 Generics
[slides]
10 Mon 10/23 DSIJ 8 Sorting
[slides]
Heaps and Hashing
[Solution]
More Debugging HW6: Hashing and Ranges
(due 11/3)
Wed 10/25 Sorting (II)
[slides]
Fri 10/27 sorting demos Sorting (III)
[slides]
11 Mon 10/30 DSIJ 9
balanced-search demos
Balanced Search Structures
[slides]
Sorting
[Solution]
Testing Qirkat
Wed 11/1 Review
Fri 11/3 Balanced Search Structures (II)
[slides]
12 Mon 11/6 DSIJ 11 Pseudo-Random Sequences
[slides]
Balanced Search
[Solution]
Balanced Search Trees HW7: Sorting
(due 11/21)
Wed 11/8 DSIJ 12 Graphs, Introduction, Traversals
[slides]
Fri 11/10 Veterans Day: No classes
13 Mon 11/13 A* Search, Minimal spanning trees, Union-find
[slides]
Graphs
[Solution]
Graphs Project 3: Gitlet
(due 12/6)
Wed 11/15 Dynamic Programming, Git internals
[slides]
Wed 11/17 DSIJ 10, HFJ pp. 489-516 Enumeration Types, Threads
[slides]
14 Mon 11/20 Garbage Collection
[slides]
A* Search
[Solution]
HW8: Graphs
(due 12/1)
Wed 11/22 No lecture
Fri 11/24 Thanksgiving Holiday
15 Mon 11/27 Slides from Josh Hug Compression
[slides]
Fun and Review
[Solution]
Proj3 Work Day
Wed 11/29 Review
Fri 12/1 Summary, Survey
[slides]

Lab/Discussion Schedule

Office Hour Schedule