Date/Subject Mandatory Prep Optional Prep In Class Studios Assigned Lab Assigned Assignments Due
             
Tue Jan 16: Introduction Slides: [presentation], [pdf]
DEMO: Student Ages Sum Unplugged: LowerUpper Split, Coarsening, DivideAndConquer
             
Thu Jan 18: Task Creation and Termination (Async, Finish) Initial Setup
Topic 1.1: Lecture, Demo, Quiz
Finish & Async: Lower Upper Split
Dealing With Final: Using Array Slots
Dealing With Final: IntegerRange
Coarsening: N-Way Split
Finish & Async Coarsening: N-Way Split
Form: [Questions & Synthesis]
Topic 1.1: Reading
Preview Lab: Async/Finish: Nucleobase Counting
Quiz: Session #2
Slides: [presentation], [pdf]
Async/Finish: Nucleobase Counting
             
             
Tue Jan 23: Divide and Conquer PLUS Computation Graphs Survey
Topic 1.2: Lecture, Demo, Quiz
Divide and Conquer: Array Sum Example
Form: [Questions & Synthesis]
Topic 1.2: Reading
Preview Studio: Slices
Quiz: Session #3
Slides: [presentation], [pdf]
Slices
             
Thu Jan 25: Interfaces, Generics, Data Structures, PLUS Ideal Parallelism; Multiprocessor Scheduling; Parallel Speedup and Amdahl's Law Topic 1.3: Lecture, Demo, Quiz
Topic 1.4: Lecture, Demo, Quiz
Topic 1.5: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 1.3: Reading
Topic 1.4: Reading
Topic 1.5: Reading
Preview Lab: Iterator, Collection, and Map
Quiz: Session #4
Slides: [presentation], [pdf]
Iterator, Collection, and Map
Fri Jan 26: LAB DUE: Async/Finish: Nucleobase Counting
             
Tue Jan 30: Parallel Quicksort Topic 1.6: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 1.6: [No Reading]
Preview Studio: Merge Sort
Quiz: Session #5
Slides: [presentation], [pdf]
Merge Sort
             
Thu Feb 1: Floodfill Floodfill
Using an Iteratable
ArrayIterator
Note: No Q&S Form
Preview Studio: Floodfill
Quiz: Session #6
Slides: [presentation], [pdf]
Floodfill
Fri Feb 2: LAB DUE: Iterator, Collection, and Map
STUDIO DUE: Slices
             
Tue Feb 6: Future Tasks & Functional Parallelism; Memoization Topic 2.1: Lecture, Demo, Quiz
Topic 2.2: Lecture, Demo, Quiz
Futures: Upper Lower Split Example
Form: [Questions & Synthesis]
Topic 2.1: Reading
Topic 2.2: Reading
Preview Studio: Fibonacci
Quiz: Session #7
Slides: [presentation], [pdf]
Fibonacci
Wed Feb 7: LAB REVISIONS DUE: Async/Finish: Nucleobase Counting
Thu Feb 8: Threads and Executors Short Reading: Threads and Executors
Short Video: Quicksort
Threads: Start and Join
Executors: Submit and Future Get
Executors: InvokeAll
Form: [Questions & Synthesis]
Preview Lab: Threads and Executors
Quiz: Session #8
Slides: [presentation], [pdf]
WARM-UP: Join All
Threads and Executors
Fri Feb 9: STUDIO DUE: Merge Sort
STUDIO DUE: Floodfill
             
Tue Feb 13: Data Races; Functional & Structural Determinism Topic 2.5: Lecture, Demo, Quiz
Topic 2.6: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 2.5: Reading
Topic 2.6: Reading
Preview Studio: Race Conditions
Quiz: Session #9
Slides: [presentation], [pdf]
Race Conditions
             
Thu Feb 15: Loop-Level Parallelism; Parallel Matrix Multiplication; Iteration Grouping Topic 3.1: Lecture, Demo, Quiz
Topic 3.2: Lecture, Demo, Quiz
Topic 3.3: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 3.1: Reading
Topic 3.2: Reading
Topic 3.3: Reading
Preview Studio: Matrix Multiply
Quiz: Session #10
Slides: [presentation], [pdf]
Matrix Multiply
LAB REVISIONS DUE: Iterator, Collection, and Map
Fri Feb 16: LAB DUE: Threads and Executors
STUDIO DUE: Fibonacci
             
Tue Feb 20: Map Reduce Video (10 minutes): Learn MapReduce with Playing Cards
Topic 2.4: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 2.4: Reading
Preview Studio: Int Sum MR Apps
Quiz: Session #11
Slides: [presentation], [pdf]
Int Sum MR Apps
             
Thu Feb 22: Collector<T,A,R> Javadoc: Collector<T,A,R>
Form: [Questions & Synthesis]
Preview Studio: Collector
Quiz: Session #12
Slides: [presentation], [pdf]
Collector
Fri Feb 23: STUDIO DUE: Race Conditions
STUDIO DUE: Matrix Multiply
             
Tue Feb 27: MapReduce: Simple Framework Short Reading: Mutual Friends MapReduce
Form: [Questions & Synthesis]
Preview Studio: MutualFriends MR App
Preview Lab: MapReduce Frameworks
Quiz: Session #13
Slides: [presentation], [pdf]
MutualFriends MR App
WARM-UP: Concrete Static MapReduce
MapReduce Frameworks
             
Thu Mar 1: Map Reduce: Matrix Framework Preview Studio: Cholera MR App
Quiz: Session #14
Slides: [presentation], [pdf]
Cholera MR App
Fri Mar 2: STUDIO DUE: Int Sum MR Apps
STUDIO DUE: Collector
             
Tue Mar 6: Barriers in Parallel Loops; One-Dimensional Iterative Averaging; Single Program Multiple Data (SPMD) pattern Topic 3.4: Lecture, Demo, Quiz
Topic 3.5: Lecture, Demo, Quiz
Topic 3.6: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 3.4: Reading
Topic 3.5: Reading
Topic 3.6: Reading
Preview Studio: Iterative Averaging
Quiz: Session #15
Slides: [presentation], [pdf]
Iterative Averaging
             
Thu Mar 8: Fuzzy Barriers; Phasers; Iterative Averaging with Point-to-Point Synchronization Topic 4.1: Lecture, Demo, Quiz
Topic 4.2: Lecture, Demo, Quiz
Topic 4.3: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 4.1: Reading
Topic 4.2: Reading
Topic 4.3: Reading
Preview Studio: Legged Races
Quiz: Session #16
Slides: [presentation], [pdf]
Legged Races
Fri Mar 9: LAB DUE: MapReduce Frameworks
STUDIO DUE: MutualFriends MR App
STUDIO DUE: Cholera MR App
             
Tue Mar 13: Spring Break. No class.
             
Thu Mar 15: Spring Break. No class.
             
             
Tue Mar 20: Midterm Prep Quiz: Session #17
Slides: [presentation], [pdf]
Wed Mar 21: Midterm 6:30-8:30PM McMillan G052
Thu Mar 22: Backtrack Recursion: N-Queens PLUS Finish Accumulators Topic 2.3: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 2.3: Reading
Preview Lab: Backtrack Recursion: N-Queens & Sudoku
Quiz: Session #18
Slides: [presentation], [pdf]
DEMO: Array Sum With Finish Accumulators
Backtrack Recursion: N-Queens & Sudoku
Fri Mar 23: STUDIO DUE: Iterative Averaging
STUDIO DUE: Legged Races
             
Tue Mar 27: Midterm Review PLUS Backtrack Recursion: Sudoku Short Reading: Solving Every Sudoku Puzzle
Form: [Questions & Synthesis]
Quiz: Session #19
Slides: [presentation], [pdf]
             
Thu Mar 29: Minimax, Alpha-Beta, and Connect Four Video (48 minutes): Minimax and Alpha-Beta
Form: [Questions & Synthesis]
Preview Studio: Connect Four (Now Extra Credit)
Quiz: Session #20
Slides: [presentation], [pdf]
Connect Four (Now Extra Credit)
Fri Mar 30: LAB REVISIONS DUE: Threads and Executors
             
Tue Apr 3: Pipeline Parallelism; Data-Driven Tasks Topic 4.4: Lecture, Demo, Quiz
Topic 4.5: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 4.4: Reading
Topic 4.5: Reading
Preview Studio: Iced_Cakes_Pipeline
Quiz: Session #21
Slides: [presentation], [pdf]
Iced_Cakes_Pipeline
Wed Apr 4: LAB REVISIONS DUE: MapReduce Frameworks
Thu Apr 5: Scan Video (2 minutes): Hillis & Steele Scan
Video (4 minutes): Blelloch Scan
Form: [Questions & Synthesis]
Preview Studio: Scan
Quiz: Session #22
Slides: [presentation], [pdf]
Scan
Fri Apr 6: LAB DUE: Backtrack Recursion: N-Queens & Sudoku
             
Tue Apr 10: Semantic Classification of Parallel Programs; Isolated Construct; Object-based Isolation; Parallel Spanning Tree Algorithm Topic 4.6: Lecture, Demo, Quiz
Topic 5.1: Lecture, Demo, Quiz
Topic 5.2: Lecture, Demo, Quiz
Topic 5.3: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 4.6: Reading
Topic 5.1: Reading
Topic 5.2: Reading
Topic 5.3: Reading
Preview Lab: Balance and Contention: k-mer Counting
Quiz: Session #23
Slides: [presentation], [pdf]
Balance and Contention: k-mer Counting
             
Thu Apr 12: Atomicity and Atomic Variables Topic 5.4: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 5.4: Reading
Preview Studio: Atomicity
Quiz: Session #24 BONUS QUIZ
Slides: [presentation], [pdf]
Atomicity
Fri Apr 13: STUDIO DUE: Iced_Cakes_Pipeline
STUDIO DUE: Scan
             
Tue Apr 17: (ICPC) Reader-Writer Isolation Short Reading: Synchronized Methods
Short Reading: Intrinsic Locks
Topic 5.5: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 5.5: Reading
Preview Studio: Ordered Locks
Quiz: Session #25
Slides: [presentation], [pdf]
Ordered Locks
             
Thu Apr 19: (ICPC) Computation Graph & Metrics for Isolation Short Reading: Explicit Locks
Topic 5.6: Lecture, Demo, Quiz
Form: [Questions & Synthesis]
Topic 5.6: Reading
Preview Studio: All Or Nothing Locks
Quiz: Session #26
Slides: [presentation], [pdf]
All Or Nothing Locks
LAB REVISIONS DUE: Backtrack Recursion: N-Queens & Sudoku
Fri Apr 20: LAB DUE: Balance and Contention: k-mer Counting
STUDIO DUE: Atomicity
             
Tue Apr 24: Work Stealing Schedulers Video (78 minutes): Work Stealing
Form: [Questions & Synthesis]
Preview Studio: Raytrace Scheduler (Fun)
Quiz: Session #27
Slides: [presentation], [pdf]
Raytrace Scheduler (Fun)
             
Thu Apr 26: Final Prep Form: [Questions for Final, Course Synthesis, and Feedback For Instructor]
Optional: [Anonymous Form]
Quiz: Session #28
Slides: [presentation], [pdf]
Fri Apr 27: STUDIO DUE: All Or Nothing Locks
STUDIO DUE: Ordered Locks