CS 61B Data Structures
Prof. Jonathan Shewchuk |
Please congratulate Kevin Casey, Kara Gieseking, and Serena Liu, who as the team DERPARCHER slaughtered the opposition and drank the blood of their enemies in the Network Tournament! They win gift certificates to Amoeba Records.
The Final Exam took place Friday, May 17 at 11:30 am in 100 Haas Pavilion. Students in the Disabled Students' Program who requested extra time reported to 320 Soda Hall at the same time.
The exam is open book, open notes, and closed electronics: if we catch you with electronic devices such as cell phones, laptops, or iPods on your person, you will get zero on the exam. Leave them at the front of the room. If your cell phone rings at the front of the room, you lose a point. Please keep your notes under your seat so people passing in front of you don't trip over them.
Review questions for the Final Exam are available. Here are the solutions.
Labs, homeworks, and projects that are currently available can be accessed by clicking on them. Sadly, there will be no webcasts this semester, but you can access the webcasts from my Autumn 2006 offering of CS 61B through the Webcast Berkeley page provided by Berkeley's Educational Technology Services.
Some lecture notes can be obtained by clicking on the lecture titles
(for ASCII) or the PostScript
or PDF
links (which save paper).
Please understand that they are lecture notes,
and that they were written so that I would have something to say in class.
I write them for me, not you,
and I make them available as a courtesy to you.
I edit them after class to make sure
they say the same thing I said in class.
If I receive complaints that my lectures and lecture notes do not differ,
I will stop making lecture notes available.
For related reasons, I will not make the lecture notes for a class available
until after the class has taken place.
Topic | Reading | Due | |
1: January 23 | Course overview | Sierra & Bates, pp. 1–9, 18–19, 84 | . |
2: January 25 | Using objects | S & B, Chapter 2; pp. 54–58, 154–160, 661, 669 | . |
3: January 28 | Defining classes | S & B, pp. 71–74, 76, 85, 240–249, 273–281, 308–309 | . |
4: January 30 | Types; conditionals | S & B, pp. 10–14, 49–53, 75, 78–79, 86, 117, 286–287, 292, 660 | Lab 1 |
5: February 1 | Iteration & arrays I | S & B, pp. 59–62, 83, 114–116, 293–300, 670 | Homework 1 |
6: February 4 | Iteration & arrays II | S & B, pp. 282–285 | . |
7: February 6 | Linked lists I | Goodrich & Tamassia, Section 3.2 | Lab 2 |
8: February 8 | Linked lists II | G & T, Section 3.3 | Homework 2 |
9: February 11 | Stack frames | Sierra & Bates, pp. 77, 235–239, 258–265, 663 | . |
10: February 13 | Testing | S & B, pp. 95–109, 662 | Lab 3 |
11: February 15 | Inheritance | S & B, Chapter 7; pp. 28–33, 250–257 | Homework 3 |
February 18 | President's Day | . | . |
12: February 20 | Abstract classes | S & B, Chapter 8 | Lab 4 |
13: February 22 | Java packages | S & B, pp. 154–160, 587–591, 667–668 | Project 1 |
14: February 25 | MIDTERM I | covers Lectures 1–12 | . |
15: February 27 | Exceptions | S & B, pp. 315–338 | Lab 5 |
16: March 1 | More Java | S & B, pp. 189, 283 | Homework 4 |
17: March 4 | Game Trees | . | . |
18: March 6 | Encapsulation | S & B, pp. 80–84 | Lab 6 |
19: March 8 | Encapsulated lists | S & B, p. 664 | Homework 5 |
20: March 11 | Asymptotic analysis | Goodrich & Tamassia, Chapter 4 | . |
21: March 13 | Algorithm analysis | G & T, Chapter 4 | Lab 7 |
22: March 15 | Dictionaries & hash tables | G & T, Sections 9.1, 9.2, 9.5–9.5.1 | . |
23: March 18 | Hash codes; Stacks & queues | G & T, Chapter 5 | . |
24: March 20 | Trees and traversals | G & T, Chapter 7 | Lab 8 |
25: March 22 | Priority queues | G & T, Sections 8.1–8.3 | Homework 6 |
March 25–29 | Spring Recess | ||
26: April 1 | Binary search trees | G & T, Section 10.1 | . |
27: April 3 | Balanced search trees | G & T, Section 10.4 | Lab 9 |
28: April 5 | Graphs | G & T, Sections 13.1–13.3 | Project 2 |
29: April 8 | Weighted graphs | G & T, Sections 13.5.1, 13.6–13.6.1 | . |
30: April 10 | Four sorting algorithms | G & T, Sections 8.2.2, 8.3.5, & 11.1 | Lab 10 |
31: April 12 | Quicksort | G & T, Section 11.2 | Homework 7 |
32: April 15 | MIDTERM II | covers Lectures 1–29 | . |
33: April 17 | Disjoint Sets | G & T, Section 11.4 | Lab 11 |
34: April 19 | Sorting & selection | G & T, Section 11.3.1 & 11.5 | Homework 8 |
35: April 22 | Radix sort | G & T, Section 11.3.2 | . |
36: April 24 | Splay trees | G & T, Section 10.3 | Lab 12 |
37: April 26 | Amortized analysis | . | Homework 9 |
38: April 29 | Randomized analysis | . | . |
39: May 1 | Garbage collection | G & T, Sections 14.1.2–14.1.3 | Lab 13 |
40: May 3 | Augmenting data structures | . | Project 3 |
41: May 6 | Sorting video | . | . |
42: May 8 | Review | . | Lab 14 |
May 10 | . | . | Homework 10 |
The FINAL EXAM will take place on Friday, May 17, from 11:30 am to 2:30 pm in 100 Haas Pavilion. (CS 61B is in Exam Group 18.)
Prerequisites: CS 61A or Engineering 7. (The catalogue says “with a grade of B– or better,” but I've never seen this rule enforced.)
|