Course Schedule

Unit 1: Fundamental Concepts & Binary Search Trees

Week Topics Text Assignments
8/30 Course Introduction
Arrays, Linked Lists, and Recursion
Ch. 3
Inherited Lecture Slides 1 2
(8/31) Project 0 Assigned
9/6 Stacks & Queues Ch. 5
9/13 Asymptotic Analysis Ch. 4 (9/14) Project 1 Assigned
(9/14) Project 0 Due
9/20 Trees and Binary Search Trees Ch. 7, 10.1 (9/20) HW 1 Assigned
9/27 AVL Trees 10.2 (9/27) HW 1 Due

10/04 Red-Black Trees
AA Trees
10.5
Wikipedia
(10/04) HW 2 Asigned
(10/05) Project 1 Due
(10/05) Project 2 Assigned
10/11 Midterm Exam Review
Exam
(10/11) HW 2 Due

Midterm Exam #1: Wednesday, October 13

Unit 2: More Trees, Heaps, & Hashing

Week Topics Text Assignments
10/18 More Red-Black Trees
Splay Trees
10.4
10.3
10/25 Binary Heaps
8.1-8.3
(3/29) HW 3 Assigned
(10/26) Project 2 Due
(10/26) Project 3 Assigned
11/01 Leftist Heaps
Pairing Heaps
Leftist Heap
Pairing Heap
(4/05) HW 3 Due
11/08 Hash Tables 9.2 (11/10) HW 4 Assigned
11/15 Range Queries
Kd-Trees
Midterm Exam Review
(11/16) Project 3 Due
(11/16) Project 4 Assigned
(11/17) HW 4 Due

Midterm Exam #2: Monday, November 22

Unit 3: Advanced Topics

Week Topics Text Assignments
11/22 Midterm Exam
Graphs and Graph Algorithms
Ch 13
11/29 Graphs and Graph Algorithms
Ch 13
12/06 Sorting
(12/07) Project 4 Due
(5/05) HW 5 Assigned
12/13 Final Exam Review
(12/13) HW 5 Due

Final Exam: Friday Dec 17, 1:00-3:00 PM