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 |
|||||