Course Schedule

Students are strongly encouraged to READ the related text book chapters/sections BEFORE the class.

Jan
Wed 26 ** Snow **
Mon 31 notes Introduction and Induction (Chap 2)

Feb
Wed 2 notes Induction and Algorithms (Chap 2 & 5)
Mon 7 notes Induction and Algorithms, cont'd (Chap 5)
Wed 9 notes Analysis of Algorithms and the O notation (Chap 3)
Mon 14 notes Recurrence relations (Sec 3.5)
Wed 16 notes Akra-Bazzi (Master) Theorem (Sec 3.5.2)
Mon 21 notes Introduction to Data Structures: Array, Linked List (Sec 4.2)
Wed 23 notes Binary Search and Applications (Sec 6.2)
Mon 28 notes Sorting: Insertion Sort, Selection Sorts, Merge Sort (Sec 6.4)

Mar
Wed 2 MidTerm 1
Mon 7 notes Sorting: Bucket Sort and Radix Sort (Sec 6.4)
Wed 9 notes Quicksort (Sec 6.4.4)
Mon 14 notes Hashing (Sec 4.4)
Wed 16 notes Introduction to Graph Theory (Sec 7.1)
Mon 21 Spring Break
Wed 23 Spring Break
Mon 28 notes Trees and Binary Search Trees (Sec 4.3 and Sec 6.2)
Wed 30 notes Heap and Heapsort (Sec 4.3.2 and Sec 6.4.5)

Apr
Mon 4 notes Greedy and Dynamic Programming (Sec 5.10)
Wed 6 notes DFS, BFS (Sec 7.3.1 and Sec 7.3.2)
Mon 11 notes DAGS and Topological Sorting (Sec 7.4)
Wed 13 MidTerm 2
Mon 18 notes Single-Source Shortest Path (Sec 7.5)
Wed 20 notes All-pair Shortest Path (Sec 7.7)
Mon 25 notes Min. Spanning Tree (Sec 7.6) and the Concept of NP (Chap 11)
Wed 27 notes Reduction and NP Completeness (Chap 11)

May
Mon 2 notes NP Completeness, cont'd (Chap 11)
Wed 4 notes Parallel Algorithms (Chap 12)
Mon 9 notes Parallel Algorithms and Map Reduce
Sat 14 Final Exam