Class Schedule and Lecture Slides
[7/15/2004: subject to change]
Most of the slides are based on previous lecture notes of this course as given in University of Washington by Tami Tamir (Winter 2004), which in turn are based on lecture notes of Linda Shapiro (Spring 2003), Jean-Loup Baer (Winter 2003), Richard Ladner (Autumn 2002), Raj Rao (Spring 2001) and Doug Johnson (Spring 2002). The slides by Tami also draw on previous lecture notes as given in the Technion, Israel , by her with Alon Itai and Dan Gaiger. In addition, slides developed by Ashish Sabarwal (August 2003) are used this quarter.
The slides initially (6/21/2004) linked here are exactly the ones used in Winter 2004. Over the course of the summer, updated and changed slides will be posted, generally after the lecture in which they are presented.
Please let me know if you have any remarks / suggestions, or if you find errors in the slides which have been presented.
The schedule below is subject to change!
Unit 1 (6/21): Introduction.
Reading: Chapters 1, 2
Unit 1b (6/23): Analyzing Algorithms.
Reading: Chapters 2
Unit 2 (6/25): Pointers and Lists.
Reading: Chapter 3.1, 3.2
Unit 2b (6/25-6/28): The Java Collections API.
Reading: Appendix B. Reference: The Java
API Documentation
Unit 3 (6/28, 6/30): Stacks and Queues.
Reading: Chapters 3.3, 3.4
Unit 4 (7/1-7/7): Trees, Binary Trees, Search
Trees.
Reading: Chapters 4.1, 4.2, 4.3
Midterm Exam #1
(7/9)
Will include everything covered though 7/8. Midterm
exam as given. Exam
with answers and notes. Java
code for last problem. Photos
of weighted trees.
Unit 5 (7/7-7/12): AVL Trees.
Reading: Chapter 4.4
Unit 6 (7/14): Splay Trees.
Reading: Chapters 4.5-4.6
Unit 7 (7/14): B Trees and Rank Trees. We may come
back to pick up this topic later
Slides in PDF Demo
of B-tree insertion 1 2
Reading
: Chapter 4.7
Unit 8 (7/16): Binary Heaps.
Reading : Chapters
6.1-6.4
Unit 9 (7/19): Binomial Queues.
Reading
: Chapter 6.8
Unit 10 (7/21-7/23): Hashing.
Slides in PDF ,
Open
Addressing examples
Reading
: Chapter 5
Unit 11 (7/26-7/28): Graph Algorithms – Introduction
and
Topological Sort.
Reading
: Chapters 9.1 and 9.2
Midterm Exam #2 (7/30)
Will include everything covered though 7/28.
Unit 12 (8/2): Graph Algorithms – BFS, DFS,
Shortest path
algorithms.
Slides in PDF (colored
printing is
recommended, or bring a non-black pen with you to the lecture).
Reading
: Chapters 9.3, 9.6,
10.3.4
Unit13 (8/4-8/6): Disjoint Union/Find.
Reading
: Chapter 8
Unit 14 (8/9): Graph Algorithms - Minimum
Spanning Tree.
Slides in PDF (colored
printing is
recommended, or bring blue and red pens with you to the lecture).
Reading
: Chapters 9.5
Unit15 (8/11-8/16): Sorting.
Reading
: Chapter 7
Catch up (8/18)
Final Exam
(8/20). Emphasis on last three weeks of course. Full
topic list.
-----------------------------------------------------------------------------------------------------------
Note: the lecture notes are grouped here in topics (units). We might cover one unit in more than one lecture.