CS61B: Data Structures and Programming Methodology
David Sun (davidsun-At-cs)
Lectures Times: Mon/Tue/Wed/Thur 11:00am - 12:30pm
Location: 306 Soda Hall
David: Mon/Wed 2-4pm, 360 Hearst Memorial Mining Building
Ben: Mon 4-5pm, Tue 2-3pm, 611 Soda Hall
Adam: Tue 4-5pm, Wed 5-6pm, 611 Soda Hall
George: Thur 4-5pm, Fri 2-3pm, 611 Soda Hall
Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language.
- 8/13: Mock final2 is here here; the solution is available here.
- 8/13: Mock final1 and solutions are available here.
- 8/11: Midterm 2 solution is available here.
Please submit any regrade requests by Thursday 8/14.
- 7/29: Mock exam is available here, solution is available here.
- 7/29: Midterm 2 will be held from 11:00am - 1:00pm on 7/30. The exam is open book like last time. You may consult any books, notes, or other paper-based inanimate objects available to you.
- 7/21: Midterm 1 solution is available here. Please submit any regrade requests by Thursday 7/31.
- 7/15: Project 2 is available. The due date is 7/28. Please start now!
- 7/8: Midterm 1 is to be held on from 11:00am - 1:00pm on 7/9. The exam is open book. You may consult any books, notes, or other paper-based inanimate objects available to you.
- 7/2: Project 1 is available. The due date is 7/15. Please start early!
- 6/23: Welcome to CS61B. Please check this page regularly for announcements, lecture notes, and other resouces.
Reading assignment for each lecture is indicated. HFJ stands for Head First Java; OADSA stands for Objects, Abstractions, Data Structures and Design using Java Version 5.0; PUT stands for Pragmatic Unit Testing in Java with JUnit
- 6/23 Course Introduction, HFJ chapters 1-2
- 6/24 Objects and Classes (code), HFJ chapters 3, 4, and 9 (except pages 250-255)
- 6/25 Primitive types and Arrays (code), HFJ chapter 10, OADSD A.8, PUT Chapters 1 and 2
- 6/26 Lists , OADSD, Chapter 4
- 6/30 More Lists, Loops and Invariants
- 7/1 Inheritance, Polymorphism, Dynamic Binding(pdf),HFJ chapter 7
- 7/2 Interfaces and Abstract classes(pdf) HFJ chapter 8
- 7/3 Object, equals(), packages(pdf)HFJ pp 154-160, 587-591, 667-668
- 7/7 Exceptions (pdf), HFJ pp 315-338
- 7/8 Nested and Inner Classes, Loose ends(pdf), HFJ pp 376-386, 671-672
- 7/9 Midterm I
- 7/10 Asymptotic Analysis(pdf), OADSD, 112-117
- 7/14 More on Asymptotic Analysis (pdf).
- 7/15 Collections and Generics, trees(pdf)OADSD, Chapter 4 pp197-199, Chapter 8 pp397-416
- 7/16 Trees, Binary search trees (pdf)OADSD Chapter 8 pp408-433
- 7/17 More Bineary search trees, Maps and Hashing (pdf)OADSD Chapter 8 pp472-476, pp479-480
- 7/21 More Hashing, Stacks, Queues(pdf)OADSD Chapter 5 pp257-277, Chapter 6 pp313-317
- 7/22 Priority Queues (pdf) OADSD pp 434 - 440
- 7/23 Sorting (pdf)OADSD Chapter 10 pp519 - 522 pp525 - 529 pp535 - 545
- 7/24 Sorting (pdf)OADSD Chapter 10 pp545 - 554
- 7/28 Sorting (pdf)No reading
- 7/29 Revision
- 7/30 Midterm II
- 7/31 Project 3 (pdf)No reading
- 8/4 Radix Sort, Graphs(pdf).
- 8/5 Graph Algorithm(pdf).OADSD Chapter 12
- 8/6 More Graph Algorithms(pdf).
- 8/7 Balanced search structures (pdf).
- 8/11 Balanced search structures(pdf). OADSD Chapter 11
- 8/12 Review
- 8/13 Review
- 8/14 Final
- Kathy Sierra and Bert Bates, Head First Java, O'Reilly, 2005 (Amazon).
- Elliot Koffman and Paul Wolfgang, Objects, Abstraction, Data Structures and Design Using Java Version 5.0(Amazon).
- Andrew Hunt and David Thomas, Pragmatic Unit Testing in Java with JUnit(Amazon)
- 15% for the homeworks.
- 35% for three projects.
- 12.5% for Midterm I
- 12.5% for Midterm II
- 25% for the Final Exam
Last updated: July 11, 2008