Schedule

Week
Monday Lecture
Wednesday Lecture
Friday Lecture
1
No Lab First week of class Jan 24: Algorithms 1.1,
Overview of the syllabus, Chapter 1
Jan 26: Pseudocode 1.2
2
Jan 29: Math Review 2.1, Induction Review 2.2
Student should be ready to complete HW1
Jan 31: Big-O, Omega & Theta 2.3
Definitions pp 42-43
Feb 2: HW1 DUE
Big-O, Omega & Theta continued..
3
Feb 5: Big-O, Omega & Theta continued.. Feb 7: Recurrence Relations 2.4
Main Recurrence Theorem pp 58-59
Feb 9: Graphs 2.5
Recurrence Relations continued...
4
Feb 12: Graphs continued...
Students should be ready to complete HW2
Feb 14:
Feb 16: HW2 DUE
5
Feb 19:
Exam 1 Review
Feb 21: EXAM 1
Topics covered 1.1, 1.2, 2.1, 2.2, 2.3. 2.4
Feb 23: No Class Spring Break
6
Feb 26: No Class Spring Break Feb 28: No Class Spring Break Mar 2: No Class Spring Break
7
Mar 5: Binary Trees 3.4
Linked Lists vs Arrays 3.3
Mar 7: Priority Queues & Heaps 3.5 Mar 9: More about heaps
Heapsort 3.5,
8
Mar 12: HW3 DUE
Heapsort 3.5 and Sorting with BST's
Mar 14: Insertion Sort 6.1
Mergesort 5.2
Mar 16: Divide & Conquer, Sorting
Mergesort 5.2 and Quicksort 6.2
9
Mar 19: Quicksort continued.. Mar 21: Closest Pair Divide & Conquer 5.3 Mar 23: HW4 DUE
Sort Data
10
Mar 26: Divide & Conquer vs. Reduce & Conquer
AVL Trees
Mar 28: AVL Trees continued... Mar 30: Recap & Review
11
Apr 2: EXAM 2 Apr 4: No Class Easter Break Apr 6: No Class Easter Break
12
Apr 9: No Class Easter Break Apr 11: Exam Post-mortem Apr 13: HW 5/6 out
Greedy Algorithms: Chapter 7
Knapsack Problem p. 313-317
13
Apr 16: Apr 18: Minimum Spanning Tree Problem
Kruskal's 7.2
Apr 20: Brute Force
Generating All Subsets
14
Apr 23: Prim's Algorithm 7.3
Dijkstra's Algorithm 7.4
Apr 25: Dijkstra's Algorithm 7.4 Apr 27:
15
Apr 30: Dynamic Programming: Chapter 7
Floyd's 8.5
May 2: LCS Problem 8.4
Edit Distance
May 4: Polynomial vs. NP
16
May 7: Review Sheet
HW5/6 DUE
May 9: Final Exams May 11: Final Exams
17