CSCI 3366 (Introduction to Parallel and Distributed Processing):
Lecture Topics and Assignments

The table below shows what we will be discussing in each class meeting, readings (from the textbook unless otherwise indicated), and due dates for homeworks. All items are subject to change.

 
Date Topics Reading Due dates
January 17 (Th) About the course (Notes)    
January 22 (T) No class    
January 24 (Th) No class    
January 29 (T) Overview of hardware, programming models (Notes) 1 (skim), 2.1 through 2.7  
January 31 (Th) Multithreaded programming and OpenMP (Notes) A.1 through A.8  
February 5 (T) OpenMP continued; message passing and MPI (Notes) B.1 through B.7  
February 7 (Th) MPI continued; multithreaded programming and Java (Notes) C.1 through C.7 Homework 1 (OpenMP program)
February 12 (T) Multithreaded programming and Java, continued (Notes)   Homework 1 (MPI program)
February 14 (Th) A little more about MPI and multithreading in Java (Notes)   Homework 1 (Java program)
February 19 (T) No class    
February 21 (Th) No class    
February 26 (T) Homework 1 revisited (Notes)    
February 28 (Th) Design patterns; overview of pattern language; example applications (Notes) 4.3  
March 4 (T) Finding Concurrency patterns (Notes) 3.1 through 3.8 Homework 2
March 6 (Th) Finding Concurrency patterns, continued; Algorithm Structure patterns (Notes) 4.1 through 4.4, 4.6  
March 11 (T) Algorithm Structure patterns, continued (Notes) 4.5 through 4.9  
March 13 (Th) Supporting Structures patterns (Notes) 5.1 through 5.7  
March 18 (T) No class (holiday)    
March 20 (Th) No class (holiday)    
March 25 (T) Supporting Structures patterns, continued (Notes) 5.8 through 5.11  
March 27 (Th) Supporting Structures patterns, continued (Notes)    
April 1 (T) No class    
April 3 (Th) No class    
April 8 (T) More about Homework 3 (Notes)   Homework 3
April 10 (Th) Implementation Mechanisms (Notes) 6  
April 15 (T) No class   Homework 4
April 17 (Th) Example application(s) (Notes)   Project proposal
April 22 (T) More example application(s) (Notes)    
April 24 (Th) More example application(s) (Notes)    
April 29 (T) POSIX threads; distributed programming in Java (Notes)    
May 1 (Th) Course wrap-up and evaluations (Notes)    
May 6 (Th), 6:30pm Project presentations   Project presentation, report, and code