CSCI 3366 (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. Homework is due at 11:59pm on the date shown, unless otherwise stated. All items are subject to change. indicated.

Date Topics Reading Due dates
August 23 (W) About the course (Notes)    
August 28 (M) Overview of hardware, programming models (Notes) 1 (skim), 2.1 through 2.7    
August 30 (W) Overview continued; multithreaded programming and OpenMP (Notes) Updated Appendix A (handout)  
September 4 (M) Holiday    
September 6 (W) Multithreaded programming and OpenMP, continued (Notes)    
September 11 (M) Message passing and MPI (Notes) Updated Appendix B (handout)  
September 13 (W) Introduction to Java (Notes)   Homework 1 (OpenMP program): HTML, PDF  
September 18 (M) Multithreaded programming and Java (Notes) Updated Appendix C (handout); my notes on Java from the command line; Dr. Lewis's video lectures on Java for Scala programmers   Homework 1 (MPI program): HTML, PDF  
September 20 (W) A little more about Java; Homework~1 revisited (Notes)    
September 25 (M) A little about gnuplot; a little about OpenCL (Notes) Appendix D (handout)  
September 27 (W) More about OpenCL (Notes)   Nothing to turn in, but try to have the RNG code for Homework 2 (link below)  
October 2 (M) More about OpenCL (Notes)   Nothing to turn in, but try to have the OpenMP and MPI parallel programs done for Homework 2 (link below)  
October 4 (W) Design patterns; overview of pattern language (Notes)   Nothing to turn in, but try to also have the Java parallel program done for Homework 2 (link below)  
October 9 (M) Example applications; Finding Concurrency patterns (Notes) 4.3, 3.1 through 3.8 Nothing to turn in, but try to finish everything but the OpenCL part of Homework 2 (link below)  
October 11 (W) Numerical integration revisited; Finding Concurrency patterns, continued (Notes)    
October 16 (M) Finding Concurrency patterns, continued (Notes)   Official due date for all parts of Homework 2: HTML, PDF  
October 18 (W) Algorithm Structure patterns (Notes) 4  
October 23 (M) Supporting Structures patterns (Notes) 5  
October 25 (W) Example programs (Notes)    
October 30 (M) More examples; a little more about MPI (Notes)    
November 1 (W) More examples (Notes)    
November 6 (M) More examples (Notes)    
November 8 (W) More examples (Notes)   Homework 3: HTML, PDF
November 13 (M) More examples (Notes)    
November 15 (W) Implementation Mechanisms (Notes) 6  
November 20 (M) More examples (Notes)   Homework 4: HTML, PDF  
November 22 (W) Holiday    
November 27 (M) Java networking and RMI (Notes)    
November 29 (W) POSIX threads; threads in C++11 (Notes)    
December 4 (M) Course wrap-up and evaluations (Notes)    
December 14 (Th) (Not a class day)   Project: HTML, PDF  

Sample solutions to homeworks: