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.

   Slides in PDF

   Reading: Chapters 1, 2

Unit 1b (6/23): Analyzing Algorithms.

   Slides in PDF

   Reading: Chapters 2

Unit 2 (6/25): Pointers and Lists.

   Slides in PDF

   Reading: Chapter 3.1, 3.2

Unit 2b (6/25-6/28): The Java Collections API.

Slides in PDF

   Reading: Appendix B. Reference: The Java API Documentation

Unit 3 (6/28, 6/30): Stacks and Queues.

   Slides in PDF 

   Reading: Chapters 3.3, 3.4

Unit 4 (7/1-7/7): Trees, Binary Trees, Search Trees.

   Slides in PDF 

   Reading: Chapters 4.1, 4.2, 4.3

Midterm Exam #1 (7/9)
Will include everything covered though 7/8.   Midterm exam as givenExam with answers and notesJava code for last problemPhotos of weighted trees.

Unit 5 (7/7-7/12): AVL Trees.

   Slides in PDF 

   Reading: Chapter 4.4

Unit 6 (7/14): Splay Trees.

   Slides in PDF 

   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.

   Slides in PDF 

   Reading : Chapters 6.1-6.4

Unit 9 (7/19): Binomial Queues.

   Slides in PDF 

   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.

   Slides in PDF 

   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.

  Slides in PDF 

   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.

  Slides in PDF 

   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.