|
Week
|
Date
|
Topic and/or Event
|
Readings (Sedgewick)
|
Lab
|
Homeworks & Tests
|
Notes
|
|
1
|
1/16, 1/18 | Overview of Course & Course Policies; Motivational Lecture: Searching an Array, Analysis of algorithms; Linked lists, Elementary list processing | 1.1, 2.6, 2.7; 3.1-3.4 | Lab 0: Introduction to Unix & Editors | ||
|
2
|
1/23, 1/25 | Elementary list processing; Compound data structures; | 3.4, 3.5, 3.7, 2.4 | Lab 1: Eclipse | ||
|
3
|
1/30, 2/01 | Abstract data types; Stacks and queues | Ch. 4 | Lab 2: Eclipse | Last day to add classes: M 1/29 | |
|
4
|
2/06, 2/08 |
Recursion; Divide and conquer; Recursive algorithms on linked lists | 5.1-5.2 | |||
|
5
|
2/13, 2/15 |
Trees; Tree traversals; Recursive tree algorithms |
5.4-5.7 | Last day to drop without W: 2/16 | ||
|
6
|
2/22 | Symbol tables; Searching; Binary search trees | Parts of Ch. 12. | Substitute M 2/19 schedule on T 2/20 | ||
|
7
|
2/27, 3/01 | Introduction to sorting; Elementary sorting methods; Quicksort | 6.1-6.6; 7.1,7.2 | 1st midterm: T 2/27 | ||
|
9
|
3/06, 3/08 | Mergesort; Comparison of sorting algorithms. | 8.1-8.3,8.6 | Last day to drop with W: 3/09 | ||
|
8
|
3/13, 3/15 | Spring Recess! | ||||
|
10
|
3/20, 3/22 | Priority queues; Heaps; Heapsort. | 9.1-9.4 | |||
|
11
|
3/27, 3/29 | Balanced trees: Randomized BSTs; 2-3-4 Trees | 12.8, 13.1, 13.3 | |||
|
12
|
4/03, 4/05 | Red-Black Trees. Skip Lists. | 13.4, 13.5 | |||
|
13
|
4/10, 4/12 | Hashing | Ch.14 | 2nd midterm: R 4/12 | ||
|
14
|
4/17, 4/19 | Graph ADT; Graph representations; Graph problems. | 17.1-17.4, 17.8 | |||
|
15
|
4/24, 4/26 | Graph search, minimum spanning trees. |
18.1-18.2, 18.7, 20.1-20.4 | |||
|
16
|
5/01, 5/03 | Shortest paths and connections to networking. Conclusions and course evaluation | 21.1-21.2 | Instruction ends: W 5/3 | ||
| 5/08 | Final Exam: 9-11AM |