Lectures

DateDescription
March 30 L1: Intro; ADTs; List, Stacks, and Queues
Weiss 3.1-3.7
Slides
April 1 L2: Set and Dictionary ADTs; Tries
Weiss 2.1-2.4
Slides
April 3 L3: Algorithm Analysis I: Asymptotics
Weiss 1.1-1.6
Slides
April 6 L4: Algorithm Analysis I, concl.; Priority Queue ADT
Weiss 6.4-6.5
Slides
April 8 L5: Priority Queue ADT: Heaps
Weiss 6.4-6.5
Slides
April 10 L6: Priority Queue ADT: buildHeap; Algorithm Analysis II: Amortization
Weiss 2.1-2.4
Slides
April 13 L7: Algorithm Analysis III: Recurrences
Weiss 2.1-2.4
Slides, Useful Summations
April 15 L8: Set and Dictionary ADTs: BSTs
Weiss 4.1-4.3, 4.6
Slides
April 17 L9: Set and Dictionary ADTs: AVL Trees
Weiss 4.4
Slides; Autumn 2019 recordings: 45:55-end and begin-41:28 (sorry for the busted video recording!)
April 20 L10: Set and Dictionary ADTs: AVL Trees (cont.); Memory Hierarchy
Weiss 4.7
Slides
April 22 L11: Set and Dictionary ADTs: B-Trees
Weiss 4.7
Slides
April 24 L12: Set and Dictionary ADTs: B-Trees (cont.); Hashing
Weiss 5.1-5.5
Slides
April 27 L13: Set and Dictionary ADTs: Hash Tables and Collision Resolution
Weiss 5.1-5.5
Slides
April 29 L14: Set and Dictionary ADTs: Hash Tables (cont.); Sorting 1: Comparison Sorts
Weiss 7.1-7.3, 7.5-7.7
Slides
May 1 L15: Sorting 1 Comparison Sorts (cont); Sorting 2: Beyond Comparison Sorts
Weiss 7.8, 7.11
Comparison Sorts Slides, Beyond Comparison Sorts Slides
May 4 L16: Parallelism 1: Intro to Multithreading
Parallelism Notes 2, 3.1-3.4
Slides
May 6 L17: Parallelism 2: ForkJoin and Its Analysis
Parallelism Notes 3.5-4.3
Slides
May 8 L18: Parallelism 3: Parallel Prefix
Parallelism Notes 5.1-5.4
Slides, Worksheet
May 11 L19: Parallelism 4: Partial Sorting
Parallelism Notes 5.1-5.4
Slides
May 13 L20: Synchronization 1: Concurrency and Mutual Exclusion
Parallelism Notes 6
Slides
May 15 L21: Synchronization 2: Race Conditions
Parallelism Notes 7.1, 8, 9
Slides, Handout
May 18 L22: Synchronization 3: Deadlocks
Parallelism Notes 7.1, 8, 9
Slides
May 20 L23: Graphs 1: Definitions and Representations
Weiss 9.1
Slides
May 22 L24: Graphs 2: Traversals and Topological Sort
Weiss 9.2
Slides, Worksheet, TopoSort Demo
May 27 L25: Graphs 3: Single-Source Shortest Paths
Weiss 9.3
Slides, Worksheet
May 29 L26: Graphs 4: Minimum Spanning Trees (and animal rescue tour!)
Weiss 9.5
Slides, Worksheet
June 1 L27: Union Find
Weiss 8
Slides
June 3 L28: P vs NP 1
Weiss 9.6.3, 9,7
Slides, Worksheet
June 5 L29: P vs NP 2; Farewell
Have a great summer!

Slides, Worksheet