Versions Compared

Key

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

...

Week

Day

Date (2025)

Lecture

Assigned Reading

Assigned Videos (see Canvas site for video links)

In-class Worksheets

Slides

Work Assigned

Work Due

Worksheet Solutions

1

Mon

Jan 13

Lecture 1: Introduction



worksheet1lec1-slides  



WS1-solution


Wed

Jan 15

Lecture 2:  Functional Programming



worksheet2lec02-slides



WS2-solution

FriJan 17Lecture 3: Higher order functions

worksheet3 lec3-slides   



WS3-solution

2

Mon

Jan 20

No class: MLK










Wed

Jan 22

Lecture 4: Lazy Computation



worksheet4lec4-slides

WS4-solution


Fri

Jan 24

Lecture 5: Java Streams



worksheet5lec5-slidesHomework 1
WS5-solution
3MonJan 27

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 29

Lecture 7: Futures

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



WS7-solution


Fri

Jan 31

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


Feb 03 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 05Lecture 10: Event-based programming model




worksheet10lec10-slides
Homework 1WS10-solution

FriFeb 07Lecture 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 10

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 12

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 14

No class: Spring Recess










6

Mon

Feb 17

Lecture 14: 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 Demonstrationworksheet14lec14-slides

WS14-solution


Wed

Feb 19

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



worksheet15lec15-slides



Homework 2WS15-solution

FriFeb 21

Lecture 16: Recursive Task Parallelism  



worksheet16 lec16-slidesHomework 3
WS16-solution

7

Mon

Feb 24

Lecture 17: Midterm Review




lec17-slides




Wed

Feb 26

Lecture 18: Midterm Review




lec18-slides




Fri

Feb 28 

Lecture 19:  Fork/Join programming model


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

WS19-solution

8

Mon

Mar 03 

Lecture 20: 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 Demonstrationworksheet20lec20-slides  

WS20-solution


Wed

Mar 05

Lecture 21: Barrier Synchronization with Phasers

Module 1: Sections 3.4 Topic 3.4 Lecture, Topic 3.4 Demonstrationworksheet21   lec21-slides

WS21-solution


Fri

Mar 07

Lecture 22: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 Demonstrationworksheet22lec22-slides

WS22-solution

9

Mon

Mar 10

Lecture 23: Fuzzy Barriers with Phasers

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

Homework 3 (CP 1)

WS23-solution


Wed

Mar 12

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

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


WS24-solution


Fri

Mar 14

 Lecture 25:  Atomic variables, Synchronized statementsModule 2: Sections 5.4, 7.2Topic 5.4 Lecture, Topic 5.4 Demonstration, Topic 7.2 Lecture worksheet25lec25-slides


WS25-solution

Mon

Mar 17

No class: Spring Break


 






WedMar 19No class: Spring Break








Fri

Mar 21

No class: Spring Break









10

Mon

Mar 24

Lecture 26: Java Threads and Locks

Module 2: Sections 7.1, 7.3Topic 7.1 Lecture, Topic 7.3 Lectureworksheet26lec26-slides

WS26-solution


Wed

Mar 26

Lecture 27: Read-Write Locks,  Soundness and progress guarantees

Module 2: Section 7.3Topic 7.3 Lecture, Topic 7.5 Lectureworksheet27lec27-slides


Homework 3 (CP 2)WS27-solution


Fri

Mar 28

Lecture 28: Dining Philosophers Problem


Topic 7.6 Lectureworksheet28lec28-slides




WS28-solution

11

Mon

Mar 31

Lecture 29:  Linearizability of Concurrent Objects

Module 2: Sections 7.4Topic 7.4 Lectureworksheet29lec29-slides



WS29-solution


Wed

Apr 02

Lecture 30:  Parallel Spanning Tree, other graph algorithms

 
worksheet30lec30-slides



WS30-solution


Fri

Apr 04

No class









12

Mon

Apr 07

Lecture 31: Message-Passing programming model with ActorsModule 2: Sections 6.1, 6.2Topic 6.1 Lecture, Topic 6.1 Demonstration,   Topic 6.2 Lecture, Topic 6.2 Demonstrationworksheet31lec31-slides



WS31-solution


Wed

Apr 09

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

worksheet32lec32-slides

Homework 4

Homework 3 (All)WS32-solution


Fri

Apr 11

Lecture 33: Task Affinity and locality. Memory hierarchy

 
worksheet33lec33-slides


WS33-solution

13

Mon

Apr 14

Lecture 34: Eureka-style Speculative Task Parallelism


worksheet34lec34-slides



WS34-solution

WedApr 16Lecture 35: Scan Pattern. Parallel Prefix Sum


worksheet35lec35-slides
Homework 4 (CP 1)WS35-solution

FriApr 18Lecture 36: Scan Pattern. Parallel Prefix Sum cont. 


lec36-slides



14MonApr 21Lecture 37: Parallel Prefix Sum applications

worksheet37lec37-slides

WS37-solution

WedApr 23Lecture 38: Course Review (Lectures 19-34)
 
lec38-slides
Homework 4 (All)


FriApr 25Lecture 39: Course Review (Lectures 19-34)


lec39-slides



...