Announcements
[Past Announcements]
Date | Category | Announcement |
---|---|---|
10/22 | Projects | Project 2 (Tablut) has been released. |
8/28 | Lectures | Because the class is bigger than Wheeler will hold, we do not require lecture attendance. Feel free to use the screencasts and posted slides (linked to from the website) instead. After the first few sessions, enough people will use these resources exclusively that there will be room in Wheeler for all who prefer to attend in person. |
6/29 | Misc | The git-bug command (available on the instructional machines and in cs61b-software) will send us a useful bug report that includes all your code and a message about what problem you are having with it. It requires that you commit and push your work (as you should be doing anyway) and that you provide a text file (which you don't have to commit) containing a description of the problem you are seeing. Please use this instead of screenshots, emails of code snippets, etc., which are almost never sufficient for debugging purposes. You can find some additional documentation here.. |
8/28 | Admin | Announcements from outside groups will now 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. |
6/29 | Admin |
Tests will be as follows:
|
6/29 | Admin | For those of you with conflicts with tests #1 or #2, we will be addressing this issue closer to the time of the exams. Please do not mail us with conflicts at this time, but watch for further announcements. We do not offer accommodation to those with conflicting finals as a result of taking two courses with the same lecture time. |
6/29 | Admin | To join the Piazza page for CS 61B, head over to this this link. The access code is 61bfa19. |
6/29 | Admin | The Scores tab above will show you what you have submitted and any logs produced by the autograder. |
6/29 | Lectures | Lectures are screencast (with audio) and all slides are online. Attendance is not mandatory. In fact, we do not all fit into Wheeler, so I recommend that those of you who are so inclined stay home and watch them. Experience indicates that after the initial week or so, there will be plenty of space in lecture for those who prefer live attendance. |
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 8/26 | No classes | No discussion section | javac, java, git | HW0: A Few Java Exercises (due 9/6) |
|
Wed 8/28 | HFJ 1-26 | Intro, Hello World Java [slides] |
||||
Fri 8/30 | AJR 1.1-1.9 | A Little Programming [slides][code] |
||||
2 | Mon 9/2 | No classes |
Intro to Java
[Solution] |
IntelliJ and IntLists | [HW0 due 9/6] HW1: JUnit testing, basic syntax, and linked lists (due 9/11) Project 0: Signpost (due 9/23) |
|
Wed 9/4 | HFJ 27-36. AJR Chapter 4 | Values and Containers [slides][code] |
||||
Fri 9/6 | Simple Pointer Manipulation [slides][code] |
|||||
3 | Mon 9/9 | HFJ 670 | Arrays [slides][code] |
Pointers
[Solution] |
IntDLists and Debugging | [HW1 due 9/11] HW2: Arrays and Lists of Lists (due 9/18) |
Wed 9/11 | HFJ 50-62 | Developing a Sort, Unit Testing [slides][code] |
||||
Fri 9/13 | HFJ 73-87 | Object-Based Programming [slides][code] |
||||
4 | Mon 9/16 | HFJ 168-191, 236-265, 287-293 | Object-oriented Mechanisms [slides] |
More objects and arrays
[Solution] |
Mostly Proj0 | [HW2 due 9/18] Project 1: The Enigma (due 10/21) HW3: OOP, Interfaces, and Inheritance (due 9/27) |
Wed 9/18 | HFJ 200-229 | Interfaces and Abstract Classes [slides] |
||||
Fri 9/20 | HFJ 73-87 | Interfaces and Abstract Classes [slides][code] |
||||
5 | Mon 9/23 | Examples: Comparable and Reader [slides][code] |
Inheritance
[Solution] |
Collections, Iterators, and Iterables | [Project 0 (Signpost) due 9/23] [HW3 due 9/27] |
|
Wed 9/25 | HFJ 228-229. 250-256, 316-348 | Additional OOP Details, Exceptions [slides] |
||||
Fri 9/27 | HFJ 154-160, 587-593, 665-668 | Packages, Access, Loose Ends [slides] |
||||
6 | Mon 9/30 | AJR 6.3, 6.4, HFJ 274-310 | Integers [slides] |
Test review
[Solution] |
Office Hours | HW4: Scanners and Patterns (due 10/14) |
Wed 10/2 | DSIJ Chapter 1 | Integers | ||||
Thur 10/3 | Test #1, 7-9PM | |||||
Fri 10/4 | Complexity [slides] |
|||||
7 | Mon 10/7 | DSIJ Chapters 2 and 3 | Collections, Amortization [slides] |
Bits and Algorithmic Analysis
[Solution] |
Asymptotic Analysis | [HW4 due 10/14] HW5: Bit Operations, Asymptotic Analysis (due 10/23) |
Wed 10/9 | DSIJ Chapter 4 | Sequences, Some Design Patterns [slides][code] |
||||
Fri 10/11 | Sequences (II) | |||||
8 | Mon 10/14 | DSIJ Chapter 5 | Trees [slides] |
More Algorithmic Analysis
[Solution] |
Project 1 Workday | Project 2: Tablut (due 11/15) Project 2 milestone (due 11/8) |
Wed 10/16 | DSIJ Chapter 6 | Tree searching [slides][code] |
||||
Fri 10/18 | Game trees [slides] |
|||||
9 | Mon 10/21 | DSIJ 6.4, 6.5 | Priority Queues, Range Queries [slides] |
Binary Trees
[Solution] |
Heaps and Priority Queues | [Project 1 (Enigma) due 10/21] [HW5 due 10/23] HW6: Searching: BSTs, Ranges, and Hashing (due 10/30) |
Wed 10/23 | DSIJ Chapter 7 | Hashing [slides] |
||||
Fri 10/25 | AJR Chapter 10 | Generics [slides] |
||||
10 | Mon 10/28 | DSIJ 8 | Sorting [slides] |
Heaps and Hashing
[Solution] |
Debugging | [HW6 due 10/30] HW7: Sorting and Searching (due 11/12) |
Wed 10/30 | Sorting (II) [slides] |
|||||
Fri 11/1 | sorting demos | Sorting (III) [slides] |
||||
11 | Mon 11/4 | DSIJ 9 balanced-search demos |
Balanced Search Structures [slides] |
Sorting
[Solution] |
Testing Project | [Project 2 checkpoint due 11/8] |
Wed 11/6 | Review | |||||
Wed 11/6 | Test #2, 7-9PM | |||||
Fri 11/8 | Balanced Search Structures (II) [slides] |
|||||
12 | Mon 11/11 | Veterans Day: No classes |
Balanced Search
[Solution] |
Project Office Hours | [HW7 due 11/12] [Project 2 (Tablut) due 11/15] HW8: Graphs (due 11/26) |
|
Wed 11/13 | DSIJ 11 | Pseudo-Random Sequences [slides] |
||||
Fri 11/15 | DSIJ 12 | Graphs, Introduction, Traversals [slides] |
||||
13 | Mon 11/18 | A* Search, Minimal spanning trees, Union-find [slides] |
Graphs
[Solution] |
Graphs | Project 3: Gitlet (due 12/11) Project 3 milestone (due 12/4) |
|
Wed 11/20 | Dynamic Programming, Git internals [slides] |
|||||
Fri 11/22 | DSIJ 10, HFJ pp. 489-516 | Enumeration Types, Threads (extra material; no lecture) [slides] |
||||
14 | Mon 11/25 | Garbage Collection [slides] |
A* Search
[Solution] |
No labs | [HW8 due 10/26] |
|
Wed 11/27 | No lecture | |||||
Fri 11/29 | Thanksgiving Holiday | |||||
15 | Mon 12/2 | Slides from Josh Hug | Compression (extra material; see 11/14 slides) [slides] |
Fun and Review
[Solution] |
Proj3 Work Day | [Project 3 checkpoint due 12/4] |
Wed 12/4 | (See 11/19 slides) |
|||||
Fri 12/6 | Summary, Survey [slides] |
|||||
16 | Mon 12/9 | RRR week | No discussion section | No labs | [Project 3 (Gitlet) due 12/11] |
|
Mon 12/11 | RRR week | |||||
Mon 12/13 | RRR week |
Discussion and Lab Schedule
-
Professor Hilfinger's office hours are in 787 Soda Hall. Feel free to drop by whenever the door is open. All other office hours are located in 109 Morgan.