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.

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