...
Week | Day | Date (2024) | Lecture | Assigned Reading | Assigned Videos (see Canvas site for video links) | In-class Worksheets | Slides | Work Assigned | Work Due | Worksheet Solutions | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Mon | Jan 0908 | Lecture 1: Introduction | worksheet1 | lec1-slides | WS1-solution | |||||||||||
Wed | Jan 1110 | Lecture 2: Functional Programming | worksheet2 | lec02-slides | WS2-solution | ||||||||||||
Fri | Jan 1312 | Lecture 3: Higher order functions | worksheet3 | lec3-slides | WS3-solution | ||||||||||||
2 | Mon | Jan 1615 | No class: MLK | ||||||||||||||
Wed | Jan 1817 | Lecture 4: Lazy Computation | worksheet4 | lec4-slides | WS4-solution | ||||||||||||
Fri | Jan 2019 | Lecture 5: Java Streams | worksheet5 | lec5-slides | Homework 1 | WS5-solution | |||||||||||
3 | Mon | Jan 2322 | Lecture 6: Map Reduce with Java Streams | Module 1: Section 2.4 | Topic 2.4 Lecture, Topic 2.4 Demonstration | worksheet6 | lec6-slides | WS6-solution | |||||||||
Wed | Jan 2524 | Lecture 7: Futures | Module 1: Section 2.1 | Topic 2.1 Lecture , Topic 2.1 Demonstration | worksheet7 | lec7-slides | WS7-solution | ||||||||||
Fri | Jan 2726 | Lecture 8: Async, Finish, Computation Graphs | Module 1: Sections 1.1, 1.2 | Topic 1.1 Lecture, Topic 1.1 Demonstration, Topic 1.2 Lecture, Topic 1.2 Demonstration | worksheet8 | lec8-slides | WS8-solution | ||||||||||
4 | Mon | Jan 3029 | Lecture 9: Ideal Parallelism, Data-Driven Tasks | Module 1: Section 1.3, 4.5 | Topic 1.3 Lecture, Topic 1.3 Demonstration, Topic 4.5 Lecture, Topic 4.5 Demonstration | worksheet9 | lec9-slides | WS9-solution | |||||||||
WedFeb | 01Jan 31 | Lecture 10: Event-based programming model | worksheet10 | lec10-slides | Homework 1 | WS10-solution | |||||||||||
Fri | Feb 0302 | Lecture 11: GUI programming, Scheduling/executing computation graphs | Module 1: Section 1.4 | Topic 1.4 Lecture , Topic 1.4 Demonstration | worksheet11 | lec11-slides | Homework 2 | WS11-solution | |||||||||
5 | Mon | Feb 0605 | Lecture 12: Abstract performance metrics, Parallel Speedup, Amdahl's Law | Module 1: Section 1.5 | Topic 1.5 Lecture , Topic 1.5 Demonstration | worksheet12 | lec12-slides | WS12-solution | |||||||||
Wed | Feb 0807 | Lecture 13: Accumulation and reduction. Finish accumulators | Module 1: Section 2.3 | Topic 2.3 Lecture Topic 2.3 Demonstration | worksheet13 | lec13-slides | WS13-solution | ||||||||||
Fri | Feb 1009 | No class: Spring Recess | |||||||||||||||
6 | Mon | Feb 1312 | Lecture 14: Data Races, Functional & Structural Determinism | Module 1: Sections 2.5, 2.6 | Topic 2.5 Lecture , Topic 2.5 Demonstration, Topic 2.6 Lecture, Topic 2.6 Demonstration | worksheet14 | lec14-slides | WS14-solution | |||||||||
Wed | Feb 1514 | Lecture 15: Limitations of Functional parallelism. | worksheet15 | lec15-slides | Homework 2 | WS15-solution | |||||||||||
Fri | Feb 1716 | Lecture 16: Recursive Task Parallelism | worksheet16 | lec16-slides | Homework 3 | WS16-solution | |||||||||||
7 | Mon | Feb 2019 | Lecture 17: Midterm Review | lec17-slides | |||||||||||||
Wed | Feb 2221 | Lecture 18: Midterm Review | lec18-slides | ||||||||||||||
Fri | Feb 24 23 | Lecture 19: Data-Parallel Programming model. Loop-Level Parallelism, Loop Chunking | Module 1: Sections 3.1, 3.2, 3.3 | Topic 3.1 Lecture, Topic 3.1 Demonstration , Topic 3.2 Lecture, Topic 3.2 Demonstration, Topic 3.3 Lecture, Topic 3.3 Demonstration | worksheet19 | lec19-slides | WS19-solution | ||||||||||
8 | Mon | Feb 2726 | Lecture 20: Barrier Synchronization with Phasers | Module 1: Sections 3.4 | Topic 3.4 Lecture, Topic 3.4 Demonstration | worksheet20 | lec20-slides | WS20-solution | |||||||||
WedMar 01 | Feb 28 | Lecture 21:Stencil computation. Point-to-point Synchronization with Phasers | Module 1: Sections 4.2, 4.3 | Topic 4.2 Lecture, Topic 4.2 Demonstration, Topic 4.3 Lecture, Topic 4.3 Demonstration | worksheet21 | lec21-slides | WS21-solution | ||||||||||
Fri | Mar 0301 | Lecture 22: Fuzzy Barriers with Phasers | Module 1: Section 4.1 | Topic 4.1 Lecture, Topic 4.1 Demonstration | worksheet22 | lec22-slides | WS22-solution | ||||||||||
9 | Mon | Mar 0604 | Lecture 23: Fork/Join programming model. OS Threads. Scheduler Pattern | Topic 2.7 Lecture, Topic 2.7 Demonstration, Topic 2.8 Lecture, Topic 2.8 Demonstration | worksheet23 | lec23-slides | Homework 3 (CP 1) | WS23-solution | |||||||||
Wed | Mar 0806 | Lecture 24: Confinement & Monitor Pattern. Critical sections | Module 2: Sections 5.1, 5.2 | Topic 5.1 Lecture, Topic 5.1 Demonstration, Topic 5.2 Lecture, Topic 5.2 Demonstration, Topic 5.6 Lecture, Topic 5.6 Demonstration | worksheet24 | lec24-slides | WS24-solution | ||||||||||
Fri | Mar 1008 | Lecture 25: Atomic variables, Synchronized statements | Module 2: Sections 5.4, 7.2 | Topic 5.4 Lecture, Topic 5.4 Demonstration, Topic 7.2 Lecture | worksheet25 | lec25-slides | WS25-solution | ||||||||||
Mon | Mar 1311 | No class: Spring Break | |||||||||||||||
Wed | Mar 1513 | No class: Spring Break | |||||||||||||||
Fri | Mar 1715 | No class: Spring Break | |||||||||||||||
10 | Mon | Mar 2018 | Lecture 26: Parallel Spanning Tree, other graph algorithms | worksheet26 | lec26-slides | WS26-solution | |||||||||||
Wed | Mar 2220 | Lecture 27: Java Threads and Locks | Module 2: Sections 7.1, 7.3 | Topic 7.1 Lecture, Topic 7.3 Lecture | worksheet27 | lec27-slides | Homework 3 (CP 2) | WS27-solution | |||||||||
Fri | Mar 2422 | Lecture 28: Java Locks - Soundness and progress guarantees | Module 2: Section 7.5 | Topic 7.5 Lecture | worksheet28 | lec28-slides | WS28-solution | ||||||||||
11 | Mon | Mar 2725 | Lecture 29: Dining Philosophers Problem | Module 2: Section 7.6 | Topic 7.6 Lecture | worksheet29 | lec29-slides | WS29-solution | |||||||||
Wed | Mar 2927 | Lecture 30: Read-Write Locks, Linearizability of Concurrent Objects | Module 2: Sections 7.3, 7.4 | Topic 7.3 Lecture, Topic 7.4 Lecture | worksheet30 | lec30-slides | WS30-solution | ||||||||||
Fri | Mar 3129 | Lecture 31: Message-Passing programming model with Actors | Module 2: Sections 6.1, 6.2 | Topic 6.1 Lecture, Topic 6.1 Demonstration, Topic 6.2 Lecture, Topic 6.2 Demonstration | worksheet31 | lec31-slides | WS31-solution | ||||||||||
12 | Mon | Apr 03 | No class | Homework 4 | Homework 3 (All) | 01 | Wed | Apr 05 | Lecture 32: Active Object Pattern. Combining Actors with task parallelism | Module 2: Sections 6.3, 6.4 | Topic 6.3 Lecture, Topic 6.3 Demonstration, Topic 6.4 Lecture, Topic 6.4 Demonstration | worksheet32 | lec32-slides | Homework 4 | Homework 3 (All) | WS32-solution | |
FriWed | Apr 0703 | Lecture 33: Task Affinity and locality. Memory hierarchy | worksheet33 | lec33-slides | WS33-solution | ||||||||||||
Fri | Mon | Apr 1005 | Lecture 34: Eureka-style Speculative Task Parallelism | worksheet34 | lec34-slides | WS34-solution | |||||||||||
13 | Mon | Apr 08 | No class: Solar Eclipse | ||||||||||||||
Wed | Apr 1210 | Lecture 35: Scan Pattern. Parallel Prefix Sum | worksheet35 | lec35-slides | Homework 4 (CP 1) | WS35-solution | |||||||||||
Fri | Apr 1412 | Lecture 36: Parallel Prefix Sum applications | worksheet36 | lec36-slides | WS36-solution | ||||||||||||
14 | Mon | Apr 1715 | Lecture 37: Overview of other models and frameworks | lec37-slides | |||||||||||||
Wed | Apr 1917 | Lecture 38: Course Review (Lectures 19-34) | lec38-slides | Homework 4 (All) | |||||||||||||
Fri | Apr 2119 | Lecture 39: Course Review (Lectures 19-34) | lec39-slides |
...
Lab # | Date (2023) | Topic | Handouts | Examples | ||||
---|---|---|---|---|---|---|---|---|
1 | Jan 0908 | Infrastructure setup | lab0-handout lab1-handout | |||||
- | Jan 1615 | No lab this week (MLK) | ||||||
2 | Jan 2322 | Functional Programming | lab2-handout | |||||
3 | Jan 3029 | Futures | lab3-handout | |||||
4 | Feb 0605 | Data-Driven Tasks | lab4-handout | |||||
5 | Feb 1312 | Async / Finish | lab5-handout | |||||
- | Feb 2019 | No lab this week (Midterm Exam) | ||||||
6 | Feb 2726 | Loop Parallelism | lab6-handout | image kernels | ||||
7 | Mar 0604 | Recursive Task Cutoff Strategy | lab7-handout | |||||
- | Mar 1311 | No lab this week (Spring Break) | ||||||
- | Mar 20 | No lab this week | 18 | 8 | Mar 27 | Java Threads | lab8-handout | |
98 | Apr 03Mar 25 | Concurrent Lists | lab9-handout | |||||
9 | Apr 1001 | Actors | lab10-handout | |||||
10 | Apr 08 | No lab this week (Solar Eclipse) | ||||||
- | Apr 1715 | No lab this week |
Grading, Honor Code Policy, Processes and Procedures
...
Labs must be submitted by the following Wednesday Monday at 4:30pm3pm. Labs must be checked off by a TA.
...