Versions Compared

Key

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

...

Week

Day

Date (2022)

Lecture

Assigned Reading

Assigned Videos (see Canvas site for video links)

In-class Worksheets

Slides

Work Assigned

Work Due

  

1

Mon

Jan 10

Lecture 1: Introduction

 

 

worksheet1lec1-slides

 

 

  

 

Wed

Jan 12

Lecture 2:  Functional Programming

  worksheet2lec2-slides

Homework 1 

 

  
 FriJan 14Lecture 3: Higher order functions  worksheet3lec3-slides

 

   

2

Mon

Jan 17

No class: MLK

    Quiz for Unit 1    

 

Wed

Jan 19

Lecture 4: Lazy Computation  worksheet4lec4-slides    

 

Fri

Jan 21

Lecture 5: Java Streams

  worksheet5lec5-slides Homework 1 Quiz for Unit 1  
3MonJan 24

Lecture 6: Map Reduce with Java Streams

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

 

   

 

Wed

Jan 26

Lecture 7: Futures

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

Homework 2 

Homework 1
   

 

Fri

Jan 28

Lecture 8:  Computation Graphs, Ideal Parallelism

Module 1: Sections 1.2, 1.3Topic 1.2 Lecture, Topic 1.2 Demonstration, Topic 1.3 Lecture, Topic 1.3 Demonstrationworksheet8lec8-slidesQuiz for Unit 2    

4

Mon

 

Jan 31 Lecture 9: Data-Driven Tasks 

Module 1: Section 4.5

 

Topic 4.5 Lecture   Topic 4.5 Demonstration

worksheet9

lec9-slides     
 WedFeb 02Lecture 10: Event-based programming model

 

  worksheet10lec10-slides    
 FriFeb 04Lecture 11: GUI programming as an example of event-based,
futures/callbacks in GUI programming
  worksheet11lec11-slides Homework 2   
5

Mon

Feb 07

Lecture 12: Scheduling/executing computation graphs
Abstract performance metrics
Module 1: Section 1.4Topic 1.4 Lecture , Topic 1.4 Demonstrationworksheet12lec12-slides    

 

Wed

Feb 09

Lecture 13: Lightweight task parallelism. Finish/async

Module 1: Section 1.1

Topic 1.1 Lecture , Topic 1.1 Demonstration

worksheet13lec13-slides    

 

Fri

Feb 11

No class: Spring Recess

 

     Quiz for Unit 2   
6

Mon

Feb 14

Lecture 14: Parallel Speedup, Critical Path, Amdah's Law

Module 1: Section 1.5Topic 1.5 Lecture   Topic 1.5 Demonstrationworksheet14lec14-slides    

 

Wed

Feb 16

Lecture 15: Recursive Task Parallelism 

  worksheet15lec15-slides

Homework 3 (includes one intermediate checkpoint) 

 

Homework 2   
 FriFeb 18

Lecture 16: Accumulation and reduction. Finish accumulators

Module 1: Section 2.3Topic 2.3 Lecture , Topic 2.3 Demonstrationworksheet16 lec16-slidesQuiz for Unit Homework 3   

7

Mon

Feb 21

Lecture 17: Midterm Review

   lec17-slides    

 

Wed

Feb 23

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

   lec18-slides    

 

Fri

Feb 25 

Lecture 19: 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 Demonstrationworksheet19lec19-slides    

8

Mon

Feb 28

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   Quiz for Unit 4  Quiz for Unit 3  

 

Wed

Mar 02

Lecture 21: N-Body problem, applications and implementations

  worksheet21lec21-slides    

 

Fri

Mar 04

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

Module 2: Sections 2.7, 2.8Topic 2.7 Lecture, Topic 2.7 Demonstration, Topic 2.8 Lecture, Topic 2.8 Demonstration, worksheet22lec22-slidesHomework 4

 

Quiz for Unit 4

   

9

Mon

Mar 07

Lecture 23: Locks, Atomic variables

Module 2: 7.3

Topic 7.3 Lecture

worksheet23 lec23-slides Quiz for Unit 5 

 

  

 

Wed

Mar 09

Lecture 24: Parallel Spanning Tree, other graph algorithms

  worksheet24 lec24-slides 

Homework 3, Checkpoint-1 

  

 

Fri

Mar 11

 Lecture 25: Linearizability of Concurrent ObjectsModule 2: 7.4Topic 7.4 Lectureworksheet25lec25-slidesQuiz for Unit 6 

 Quiz for Unit 5

  
 

Mon

Mar 14

No class: Spring Break

     

 

  
 WedMar 16No class: Spring Break    

 

   

 

Fri

Mar 18

No class: Spring Break

     

 

  

10

Mon

Mar 21

Lecture 26: Java Locks - Soundness and progress guarantees

Module 2: 7.5Topic 7.5 Lecture worksheet26lec26-slides Homework 4 (includes one intermediate checkpoint)  Homework 3 (all)  

 

Wed

Mar 23

Lecture 27: Dining Philosophers Problem

Module 2: 7.6Topic 7.4 Lecture Topic 7.6 Lectureworksheet27lec27-slides

 

   

 

Fri

Mar 25

Lecture 28: Read-Write Pattern. Read-Write Locks. Fairness & starvation

Module 2: 7.3, 7.5Topic 7.3 Lecture, Topic 7.5 Lecture, worksheet28lec28-slides

Quiz for Unit 7 

 

 

  

11

Mon

Mar 28

Lecture 29: Task Affinity and locality. Memory hierarchy

  worksheet29lec29-slides

 

Quiz for Unit 6 

  

 

Wed

Mar 30

Lecture 30: Reactor Pattern. Web servers

  worksheet30lec30-slides

 

   

 

Fri

Apr 01

Lecture 31: Scan Pattern. Parallel Prefix Sum, uses and algorithms

  worksheet31lec31-slidesQuiz for Unit 8Homework 5

 Quiz for Unit 7

  

12

Mon

Apr 04

Lecture 32: Data-Parallel Programming model. Loop-Level Parallelism, Loop ChunkingModule 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 Demonstrationworksheet32lec32-slides

 

Homework 4 Checkpoint-1 

  

 

Wed

Apr 06

Lecture 33: Barrier Synchronization with phasers

Module 1: Section 3.4

Topic 3.4 Lecture ,   Topic 3.4 Demonstration

worksheet33lec33-slides

 

   

 

Fri

Apr 08

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

Module 1: Section 4.2, 4.3Topic 4.2 Lecture ,   Topic 4.2 Demonstration, Topic 4.3 Lecture,  Topic 4.3 Demonstrationworksheet34lec34-slides 

Quiz for Unit 8 

  

13

Mon

Apr 11

Lecture 35: Message-Passing programming model with ActorsModule 2: 6.1, 6.2

Topic 6.1 Lecture ,   Topic 6.1 Demonstration ,   Topic 6.2 Lecture, Topic 6.2 Demonstration

worksheet35lec35-slides

 

 

  
 WedApr 13Lecture 36: Active Object Pattern. Combining Actors with task parallelismModule 2: 6.3, 6.4

Topic 6.3 Lecture ,   Topic 6.3 Demonstration ,   Topic 6.4 Lecture, Topic 6.4 Demonstration

worksheet36lec36-slides Homework 4 (all)   
 FriApr 15Lecture 37: Eureka-style Speculative Task Parallelism  worksheet37lec37-slides    
14MonApr 18Lecture 38: Overview of other models and frameworks   lec38-slides    
 WedApr 20Lecture 39: Course Review (Lectures 19-38)   lec39-slides    
 FriApr 22Lecture 40: Course Review (Lectures 19-38)   lec40-slides    

...