Course Schedule

Unit 1: Fundamental Concepts & Binary Search Trees

Week Topics Text Assignments
1/25 Course Introduction
Arrays, Linked Lists, and Recursion
Ch. 3
Inherited Lecture Slides 1 2
(1/26) Project 0 Assigned
2/01 Stacks & Queues Ch. 5
2/08 Asymptotic Analysis Ch. 4 (2/09) Project 1 Assigned
(2/12) Project 0 Due
2/15 Trees and Binary Search Trees Ch. 7, 10.1 (2/15) HW 1 Assigned
2/22 AVL Trees 10.2 (2/22) HW 1 Due

3/01 Red-Black Trees
AA Trees
10.5
Wikipedia
(3/01) HW 2 Asigned
(3/02) Project 1 Due
(3/02) Project 2 Assigned
3/08 Midterm Exam Review
Exam
(3/08) HW 2 Due

Midterm Exam #1: Wednesday, March 10

Spring Break March 15-19

Unit 2: More Trees, Heaps, & Hashing

Week Topics Text Assignments
3/22 More Red-Black Trees
Splay Trees
10.4
10.3
3/29 Binary Heaps
8.1-8.3
(3/29) HW 3 Assigned
(3/30) Project 2 Due
(3/30) Project 3 Assigned
4/05 Leftist Heaps
Pairing Heaps
Leftist Heap
Pairing Heap
(4/05) HW 3 Due
4/12 Hash Tables 9.2 (4/14) HW 4 Assigned
4/19 Range Queries
Kd-Trees
Midterm Exam Review
(4/20) Project 3 Due
(4/20) Project 4 Assigned
(4/21) HW 4 Due

Midterm Exam #2: Monday, April 26

Unit 3: Advanced Topics

Week Topics Text Assignments
4/26 Midterm Exam
Graphs and Graph Algorithms
Ch 13
5/3 Graphs and Graph Algorithms
Ch 13 (5/05) HW 5 Assigned
5/10 Sorting
Final Exam Review
(5/11) Project 4 Due
(5/12) HW 5 Due

Final Exam: Friday May 14, 1:00-3:00 PM