Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Week

Day

Date (2023)

Lecture

Assigned Reading

Assigned Videos (see Canvas site for video links)

In-class Worksheets

Slides

Work Assigned

Work Due

Worksheet Solutions

1

Mon

Jan 09

Lecture 1: Introduction



worksheet1lec1-slides  



WS1-solution


Wed

Jan 11

Lecture 2:  Functional Programming



worksheet2lec02-slides



WS2-solution

FriJan 13Lecture 3: Higher order functions

worksheet3 lec3-slides   



WS3-solution

2

Mon

Jan 16

No class: MLK










Wed

Jan 18

Lecture 4: Lazy Computation



worksheet4lec4-slides

WS4-solution


Fri

Jan 20

Lecture 5: Java Streams



worksheet5lec5-slidesHomework 1
WS5-solution
3MonJan 23

Lecture 6: Map Reduce with Java Streams

Module 1: Section 2.4Topic 2.4 Lecture, Topic 2.4 Demonstration  worksheet6lec6-slides



WS6-solution


Wed

Jan 25

Lecture 7: Futures

Module 1: Section 2.1Topic 2.1 Lecture , Topic 2.1 Demonstrationworksheet7lec7-slides



WS7-solution


Fri

Jan 27

Lecture 8:  Async, Finish, Computation Graphs

Module 1: Sections 1.1, 1.2Topic 1.1 Lecture, Topic 1.1 Demonstration, Topic 1.2 Lecture, Topic 1.2 Demonstrationworksheet8lec8-slides

WS8-solution

4

Mon


Jan 30 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 01Lecture 10: Event-based programming model




worksheet10lec10-slides
Homework 1WS10-solution

FriFeb 03Lecture 11: GUI programming, Scheduling/executing computation graphs

Module 1: Section 1.4Topic 1.4 Lecture , Topic 1.4 Demonstrationworksheet11lec11-slidesHomework 2
WS11-solution
5

Mon

Feb 06

Lecture 12: Abstract performance metrics, Parallel Speedup, Amdahl's Law Module 1: Section 1.5Topic 1.5 Lecture , Topic 1.5 Demonstrationworksheet12lec12-slides

WS12-solution


Wed

Feb 08

Lecture 13: Accumulation and reduction. Finish accumulators

Module 1: Section 2.3

Topic 2.3 Lecture   Topic 2.3 Demonstration

worksheet13lec13-slides 
WS13-solution


Fri

Feb 10

No class: Spring Recess










6

Mon

Feb 13

Lecture 14: Recursive Task Parallelism  



worksheet14lec14-slides

WS14-solution


Wed

Feb 15

Lecture 15: Data Races, Functional & Structural Determinism

Module 1: Sections 2.5, 2.6Topic 2.5 Lecture ,  Topic 2.5 Demonstration,  Topic 2.6 Lecture,  Topic 2.6 Demonstrationworksheet15lec15-slides



Homework 2WS15-solution

FriFeb 17

Lecture 16: Limitations of Functional parallelism.
Abstract vs. real performance. Cutoff Strategy



worksheet16 lec16-slidesHomework 3
WS16-solution

7

Mon

Feb 20

Lecture 17: Midterm Review




lec17-slides




Wed

Feb 22

Lecture 18: Midterm Review




lec18-slides

WS18-solution


Fri

Feb 24 

Lecture 19: Fork/Join programming model. OS Threads. Scheduler Pattern 


Topic 2.7 Lecture, Topic 2.7 Demonstration, Topic 2.8 Lecture, Topic 2.8 Demonstration, worksheet19lec19-slides

WS19-solution

8

Mon

Feb 27

Lecture 20: Confinement & Monitor Pattern. Critical sections
Global lock

Module 2: Sections 5.1, 5.2, 5.6 Topic 5.1 Lecture, Topic 5.1 Demonstration, Topic 5.2 Lecture, Topic 5.2 Demonstration, Topic 5.6 Lecture, Topic 5.6 Demonstrationworksheet20lec20-slides      

WS20-solution


Wed

Mar 01

Lecture 21:  Atomic variables, Synchronized statements

Module 2: Sections 5.4, 7.2

Topic 5.4 Lecture, Topic 5.4 Demonstration, Topic 7.2 Lectureworksheet21lec21-slides
Homework 3WS21-solution


Fri

Mar 03

Lecture 22: Parallel Spanning Tree, other graph algorithms 


 worksheet22lec22-slidesHomework 4


WS22-solution

9

Mon

Mar 06

Lecture 23: Java Threads and Locks

Module 2: Sections 7.1, 7.3

Topic 7.1 Lecture, Topic 7.3 Lecture

worksheet23 lec23-slides


WS23-solution


Wed

Mar 08

Lecture 24: Java Locks - Soundness and progress guarantees  

Module 2: 7.5Topic 7.5 Lecture worksheet24 lec24-slides


WS24-solution


Fri

Mar 10

 Lecture 25: Dining Philosophers Problem  Module 2: 7.6Topic 7.6 Lectureworksheet25lec25-slides


WS25-solution

Mon

Mar 13

No class: Spring Break

 







WedMar 15No class: Spring Break








Fri

Mar 17

No class: Spring Break









10

Mon

Mar 20

Lecture 26: N-Body problem, applications and implementations 



worksheet26lec26-slides

WS26-solution


Wed

Mar 22

Lecture 27: Read-Write Locks, Linearizability of Concurrent Objects

Module 2: 7.3, 7.4Topic 7.3 Lecture, Topic 7.4 Lectureworksheet27lec27-slides



WS27-solution


Fri

Mar 24

Lecture 28: Message-Passing programming model with Actors

Module 2: 6.1, 6.2Topic 6.1 Lecture, Topic 6.1 Demonstration,   Topic 6.2 Lecture, Topic 6.2 Demonstration worksheet28lec28-slides




WS28-solution

11

Mon

Mar 27

Lecture 29: Active Object Pattern. Combining Actors with task parallelism 

Module 2: 6.3, 6.4Topic 6.3 Lecture, Topic 6.3 Demonstration,   Topic 6.4 Lecture, Topic 6.4 Demonstrationworksheet29lec29-slides



WS29-solution


Wed

Mar 29

Lecture 30: Task Affinity and locality. Memory hierarchy 



worksheet30lec30-slides


Homework 4WS30-solution


Fri

Mar 31

Lecture 31: Data-Parallel Programming model. Loop-Level Parallelism, Loop Chunking

Module 1: Sections 3.1, 3.2, 3.3Topic 3.1 Lecture, Topic 3.1 Demonstration , Topic 3.2 Lecture,  Topic 3.2 Demonstration, Topic 3.3 Lecture,  Topic 3.3 Demonstrationworksheet31lec31-slidesHomework 5


WS31-solution

12

Mon

Apr 03

Lecture 32: Barrier Synchronization with PhasersModule 1: Section 3.4Topic 3.4 Lecture,  Topic 3.4 Demonstrationworksheet32lec32-slides



WS32-solution


Wed

Apr 05

Lecture 33:  Stencil computation. Point-to-point Synchronization with Phasers

Module 1: Section 4.2, 4.3

Topic 4.2 Lecture, Topic 4.2 Demonstration, Topic 4.3 Lecture,  Topic 4.3 Demonstration

worksheet33lec33-slides



WS33-solution


Fri

Apr 07

Lecture 34: Fuzzy Barriers with Phasers

Module 1: Section 4.1Topic 4.1 Lecture, Topic 4.1 Demonstrationworksheet34lec34-slides


WS34-solution

13

Mon

Apr 10

Lecture 35: Eureka-style Speculative Task Parallelism


worksheet35lec35-slides



WS35-solution

WedApr 12Lecture 36: Scan Pattern. Parallel Prefix Sum


worksheet36lec36-slides

WS36-solution

FriApr 14Lecture 37: Parallel Prefix Sum applications

worksheet37lec37-slides



14MonApr 17Lecture 38: Overview of other models and frameworks


lec38-slides




WedApr 19Lecture 39: Course Review (Lectures 19-38)


lec39-slides
Homework 5


FriApr 21Lecture 40: Course Review (Lectures 19-38)


lec40-slides



...