Date/Subject | Prep | In Class |
Assignments |
|
|
|
|
|
|
|
|
Tue Jan 18 (#0) Introduction | | slides: presentation pdf
| |
|
|
|
|
Thu Jan 20 (#1) Fork, Join, Computation Graphs | youtube playlist Initial Setup Instructions Initial Setup Results Form Prior Experience Survey video: Fork Join Hypotenuse video: Making Sense of JUnit Output for Exception with Causes
| quiz slides: presentation pdf
| >>> Assign Exercise Half & Half Nucleobase Count
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tue Jan 25 (#2) VoidFork, Race Conditions, Finality, Lambdas, Closures | youtube playlist video: Java Keyword final video: Finality and Lambdas video: Finality, Closures, and the For Index Loop video: Data Race: 2+ Tasks Access, At Least 1 Write. video: ++Data Race video: Transcontinental Railroad video: Mutable Transcontinental Railroad Data Race
| quiz slides: presentation pdf
| >>> Assign Exercise Race Condition - Translation
|
|
|
|
|
Thu Jan 27 (#3) ForkLoop, Overhead, Range, Interfaces, Iterable, Generics | youtube playlist video: Join Fork Loop video: Join Fork Loop Iterable and With Index video: Join Fork Loop Coarsening video: Coarsening: N-Way Split video: Using an Iteratable video: Iterable<E>.iterator() Mistake to Avoid video: ArrayIterable
| slides: presentation pdf
| >>> Assign WarmUp DoubleDeltaRange >>> Assign Exercise Powers Of 2 Iterable >>> Assign Exercise Ranges >>> Assign Exercise Coarsening (N-Way Split) Nucleobase Count
|
|
|
|
|
Sat Jan 29 | | | <<< Submit Exercise Half & Half Nucleobase Count
|
|
|
|
|
|
|
|
|
Tue Feb 1 (#4) Matrix Multiply | youtube playlist (Optional) video: Static Method Invocation video: Synthesizing Information video: Choosing the Right Tool for the Job: which join_fork_loop video: DOM Iterable<NodeList> video: Using Range and Ranges.slice() video: Matrix Multiply (on Khan Academy) video: Matrix Multiply Demo
| quiz slides: presentation pdf
| >>> Assign Exercise Matrix Multiply >>> Extra Credit Matrix Multiply Divide and Conquer
|
|
|
|
|
Thu Feb 3 (#5) Divide and Conquer | youtube playlist video: Merge Sort (CS50) video: Merge Sort (HackerRank) video: Merge Sort Combine
| quiz slides: presentation pdf
| >>> Assign Exercise Divide and Conquer Nucleobase Count >>> Assign WarmUp Comparator >>> Assign WarmUp Insertion Sort >>> Assign Exercise Merge Sort >>> Extra Credit Merge Sort Parallel Combiner
|
|
|
|
|
Sat Feb 5 | | | <<< Submit Exercise Race Condition - Translation <<< Submit Exercise Powers Of 2 Iterable <<< Submit Exercise Ranges <<< Submit Exercise Coarsening (N-Way Split) Nucleobase Count
|
|
|
|
|
|
|
|
|
Tue Feb 8 (#6) X10; Floodfill | youtube playlist video: X10: One Finish To Join Them All video: Floodfill
| quiz slides: presentation pdf
| >>> Assign Exercise Floodfill
|
|
|
|
|
Thu Feb 10 (#7) Work: Always Do Less; Ideal Parallelism; Multiprocessor Scheduling; Parallel Speedup and Amdahl's Law | youtube playlist video: Work, Span, & Ideal Parallelism video: Fork Loop: Work, Span, & Ideal Parallelism video: Divide and Conquer: Work, Span, & Ideal Parallelism video: Ideal Parallelism (Sarkar) video: Multiprocessor Scheduling (Sarkar) video: Parallel Speedup and Amdahl's Law (Sarkar) video: Future Tasks & Functional Parallelism (Sarkar) video: Memoization (Sarkar) video: The Magic of Fibonacci Numbers Read: Poem by Brian Bilston
| quiz slides: presentation pdf
| >>> Assign Exercise Fibonacci
|
|
|
|
|
Sat Feb 12 | | | <<< Submit Exercise Matrix Multiply <<< Submit Exercise Divide and Conquer Nucleobase Count <<< Submit Exercise Merge Sort
|
|
|
|
|
|
|
|
|
Tue Feb 15 (#8) Centralized Work Queue, Threads, Executor Service | youtube playlist video: Threads: Start and Join Short Reading: Threads and Executors video: ExecutorService submit and Future get video: ExecutorService invokeAll
| quiz slides: presentation pdf
| >>> Assign Exercise Thread and Executor Service
|
|
|
|
|
Thu Feb 17 (#9) Higher Order Function: Filter, Abstract Data Type: Hashtable | youtube playlist video: Data Structure: Hash Table (Hacker Rank) video: Higher-order Function: Filter
| quiz slides: presentation pdf
| >>> Assign Exercise Higher Order Function: Filter >>> Assign Exercise Hashtable
|
|
|
|
|
Sat Feb 19 | | | <<< Submit Exercise Floodfill <<< Submit Exercise Fibonacci
|
|
|
|
|
|
|
|
|
Tue Feb 22 (#10) MapReduce | youtube playlist video: For Each Loop video: Array Initialization with the For Index Loop video: Removing From an Iterable with iterator.remove() video: Predicate<T> video: Filter Higher-order Function Registrar Demo video: MapReduce TotalCreditsMapper video: Learn MapReduce with Playing Cards
| quiz slides: presentation pdf
| >>> Assign Exercise Int Sum MR Apps
|
|
|
|
|
Thu Feb 24 (#11) java.util.Collector | Javadoc: Collector<T,A,R>
| quiz slides: presentation pdf
| >>> Assign WarmUp Card Only Sequential Map Reduce Framework >>> Assign Exercise Reducer
|
|
|
|
|
Sat Feb 26 | | | <<< Submit Exercise Thread and Executor Service <<< Submit Exercise Higher Order Function: Filter <<< Submit Exercise Hashtable
|
|
|
|
|
|
|
|
|
Tue Mar 1 (#12) MapReduce: Bottlenecked Framework | Short Reading: Mutual Friends MapReduce
| quiz slides: presentation pdf
| >>> Assign WarmUp Word Count Only Parallel Map Reduce Framework >>> Assign Exercise MutualFriends MR App >>> Assign Exercise Bottleneck MapReduce Framework
|
|
|
|
|
Thu Mar 3 (#13) MapReduce: Matrix Framework | youtube playlist video: Lynne Jiang: Hadoop MapReduce video: Geoffrey Challen: Distributed MapReduce
| quiz slides: presentation pdf
| >>> Assign Exercise Matrix MapReduce Framework
|
|
|
|
|
Sat Mar 5 | | | <<< Submit Exercise Int Sum MR Apps <<< Submit Exercise Reducer
|
|
|
|
|
|
|
|
|
Tue Mar 8 (#14) John Snow and the Cholera Outbreak of 1854 | youtube playlist video: John Snow 1 video: John Snow 2 video: John Snow 3
| quiz slides: presentation pdf
| >>> Assign Exercise Cholera MR App
|
|
|
|
|
Thu Mar 10 (#15) Twitter and Windbags | Short Reading: Why didn't #FreddieGray trend on Twitter? Short Reading: #FreddieGray--is not trending on Twitter? Short Reading: Data Reveals That "Occupying" Twitter Trending Topics is Harder Than it Looks!
| quiz slides: presentation pdf
| >>> Assign Exercise Windbag MR App
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tue Mar 15 Spring Break (No Class) | | | |
|
|
|
|
Thu Mar 17 Spring Break (No Class) | | | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tue Mar 22 (#16) Scan; Pack | youtube playlist video: Hillis & Steele Scan video: Blelloch Scan
| quiz slides: presentation pdf
| >>> Assign Exercise Scan >>> Assign Exercise Pack >>> Extra Credit Blelloch Scan
|
|
|
|
|
Thu Mar 24 (#17) Quicksort | youtube playlist video: Quicksort video: Parallel Quicksort (Sarkar)
| quiz slides: presentation pdf
| |
|
|
|
|
Sat Mar 26 | | | <<< Submit Exercise MutualFriends MR App <<< Submit Exercise Bottleneck MapReduce Framework <<< Submit Exercise Matrix MapReduce Framework <<< Submit Exercise Cholera MR App <<< Submit Exercise Windbag MR App
|
|
|
|
|
|
|
|
|
Tue Mar 29 (#18) Concurrent Data Structures; Determinacy Races; Atomicity Races | youtube playlist video: Isolated Construct (Sarkar) video: Object-based Isolation (Sarkar) video: Parallel Spanning Tree Algorithm (Sarkar) video: ConcurrentHashMap Compute Demo
| quiz slides: presentation pdf
| >>> Assign Exercise Atomicity Races
|
|
|
|
|
Thu Mar 31 (#19) Atomics | youtube playlist video: Atomic Variables (Sarkar) video: Intro To K-Mer Counting
| quiz slides: presentation pdf
| >>> Assign WarmUp String Map K-Mer >>> Assign Exercise K-mer Counting
|
|
|
|
|
Sat Apr 2 | | | <<< Submit Exercise Scan <<< Submit Exercise Pack
|
|
|
|
|
|
|
|
|
Tue Apr 5 (#20) Synchronized; Locks; Read/Write Locks | video: Reader-Writer Isolation (Sarkar) Short Reading: Synchronized Methods Short Reading: Intrinsic Locks Short Reading: Explicit Locks
| quiz slides: presentation pdf
| >>> Assign Exercise Ordered Locks
|
|
|
|
|
Thu Apr 7 (#21) Concurrent Map | Short Reading: Concurrent Locks Short Reading: ConcurrentHashMap get Short Reading: ConcurrentHashMap put Short Reading: ConcurrentHashMap compute
| quiz slides: presentation pdf
| >>> Assign Exercise All Or Nothing Locks >>> Assign Exercise ConcurrentHashTable
|
|
|
|
|
Sat Apr 9 | | | <<< Submit Exercise Atomicity Races <<< Submit Exercise K-mer Counting
|
|
|
|
|
|
|
|
|
Tue Apr 12 (#22) Barriers; Iterative Averaging | youtube playlist video: Barriers in Parallel Loops (Sarkar) video: One-Dimensional Iterative Averaging (Sarkar) video: Single Program Multiple Data (SPMD) pattern (Sarkar)
| quiz slides: presentation pdf
| |
|
|
|
|
Thu Apr 14 (#23) Phasers; Fuzzy Barriers; Point To Point Synchronization | youtube playlist video: Fuzzy Barriers (Sarkar) video: Phasers (Sarkar) video: Iterative Averaging with Point-to-Point Synchronization (Sarkar)
| quiz slides: presentation pdf
| >>> Assign WarmUp Phased Fork Loop Evening Plan Scenario >>> Assign WarmUp Sequential Iterative Averager >>> Assign Exercise Iterative Averaging
|
|
|
|
|
Sat Apr 16 | | | <<< Submit Exercise Ordered Locks <<< Submit Exercise All Or Nothing Locks <<< Submit Exercise ConcurrentHashTable
|
|
|
|
|
|
|
|
|
Tue Apr 19 (#24) Pipelines | youtube playlist video: Pipeline Parallelism (Sarkar)
| quiz slides: presentation pdf
| >>> Assign WarmUp Sequential Legged Race >>> Assign Exercise Legged Races >>> Extra Credit Point To Point Iterative Averaging
|
|
|
|
|
Thu Apr 21 (#25) Work Stealing | youtube playlist video: Work Stealing
| quiz slides: presentation pdf
| >>> Assign Exercise Iced_Cakes_Pipeline >>> Extra Credit Fuzzy Iterative Averaging
|
|
|
|
|
Sat Apr 23 | | | <<< Submit Exercise Iterative Averaging
|
|
|
|
|
|
|
|
|
Tue Apr 26 (#26) NO PREP | | quiz slides: presentation pdf
| >>> Assign WarmUp Scheduler Client >>> Assign WarmUp Sequential Raytracer >>> Assign Exercise Parallel Raytracer >>> Extra Credit Centralized Work Queue >>> Extra Credit Fuzzy Point To Point Iterative Averaging
|
|
|
|
|
Thu Apr 28 (#27) Backtrack Recursion: N-Queens | video: N-Queens Problem
| quiz slides: presentation pdf
| >>> Assign WarmUp Sequential N-Queens >>> Assign Exercise Parallel N-Queens
|
|
|
|
|
Sat Apr 30 | | | <<< Submit Exercise Legged Races <<< Submit Exercise Iced_Cakes_Pipeline
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sat May 7 | | | <<< Submit Exercise Parallel Raytracer <<< Submit Exercise Parallel N-Queens
|