Lectures

DateDescription
March 29 L01: Intro; Lists, Stacks, and Queues
Weiss 3.1-3.7
Slides
March 31 L02: Set and Dictionary ADTs; Tries
Weiss 2.1-2.4
Slides, Supplemental video recording (sorry for the screwed up recording!)
April 2 L03: Algorithm Analysis I: Asymptotics
Weiss 2.1-2.4; (optional math review: Weiss 1.1-1.6)
Slides
April 5 L04: Algorithm Analysis I: Asymptotics (cont.); Algorithm Analysis II: Amortization
Weiss 11.0 (introduction)
Slides
April 7 L05: Algorithm Analysis III: Recurrences
Weiss 2.1-2.4
Slides
April 9 L06: Priority Queue ADT; Heaps
Weiss 6.1-6.5
Slides
April 12 L07: Heaps (cont.)
Weiss 6.1-6.5 (heaps); Weiss 4.1-4.3 (BSTs)
Slides
April 14 L08: Dictionary ADT: BST
Weiss 4.4
Slides
April 16 L09: AVL trees
Weiss 4.4
Slides
April 19 L10: Dictionary ADT: B+-Trees
Weiss 4.7
Slides, Supplemental video recording (sorry for the screwed up recording!)
April 21 L11: B+-Trees (cont.)
Weiss 4.7
Slides
April 23 L12: ; Hashing; Dictionary ADT: Hash Tables
Weiss 5.1-5.5
Slides
April 26 L13: Hash Tables (cont.); Iterative Comparison Sorts
Weiss 5.1-5.5 (hashing); Weiss 7.1-7.3, 7.5-7.7 (sorting)
Slides
April 28 L14: Comparison Sorts
Weiss 7.1-7.3, 7.5-7.7
Slides, Worksheet
April 30 L15: QuickSort
Weiss 7.8, 7.11
Slides
May 3 L16: Beyond Comparison Sorts; Parallelism I: Introduction to Multithreading
Grossman 2, 3.1-3.4
Slides
May 5 L17: Parallelism I: Introduction to Multithreading; Parallelism II: ForkJoin
Grossman 3.5-4.3
Slides
May 7 L18: Parallelism II: ForkJoin
Grossman 5.1
Slides
May 10 L19: Parallelism III: Parallel Prefix
Grossman 5.2-5.4
Slides
May 12 L20: Parallelism IV: Parallel Pack and Sort
Grossman 6
Slides
May 14 L21: Synchronization I: Concurrency and Mutual Exclusion
Grossman 7
Slides, Worksheet
May 17 L22: Synchronization II: Race Conditions
Grossman 8, 9
Slides, Worksheet
May 19 L23: Synchronization III: Deadlocks
Slides
May 21 L24: Graphs I: Definitions and Representations; TopoSort; Traversals
Weiss 9.1-2, Pre-lecture Reading
slides, demo
May 24 L25: Graphs II: Single-Source Shortest Paths
Weiss 9.3
Slides, worksheet
May 26 L26: Graphs III: Minimum Spanning Trees
Weiss 9.5
Slides, worksheet
May 28 L27: Kruskal's Algorithm; Disjoint Sets
Weiss 8
Slides, worksheet
June 2 L28: P vs NP
Weiss 9.6.3, 9.7
Slides, worksheet
June 4 L29: NP-Completeness
Weiss 9.6.3, 9.7
Slides, worksheet