CSCI 3366 (Parallel and Distributed Computing):
Lecture Topics and Assignments

The table below shows planned topics, readings, and assignments. Readings are from the textbook unless otherwise indicated.

Lecture date Topics Reading Assignments
August 21 (W) (No class; please review syllabus)    
August 26 (M) Guest lecture: Dr. Lewis (Notes); (code).    
August 28 (W) Guest lecture: Dr. Lewis (Notes); (code).    
September 2 (M) Holiday    
September 4 (W) Guest lecture: Dr. Lewis (Notes); (code).    
September 9 (M) More ``about the course''; overview of hardware, programming models (Notes); video lecture (lecture 0909) 1 (skim), 2.1 through 2.7  
September 11 (W) Overview continued; multithreaded programming and OpenMP (Notes); video lecture (lecture 0911) Updated Appendix A (handout)  
September 16 (M) Multithreaded programming and OpenMP, continued (Notes); video lecture (lecture 0916)    
September 18 (W) Message passing and MPI (Notes); video lecture (lecture 0918) Updated Appendix B (handout)  
September 23 (M) Multithreaded programming and Java (Notes); video lecture (lecture 0923) Updated Appendix C (handout); Dr. Lewis's video lectures on Java for Scala programmers Homework 1: HTML, PDF
September 25 (W) Introduction to OpenCL (Notes); video lecture (lecture 0925) Appendix D (handout)  
September 30 (M) More about multithreaded programming in Java; more about OpenCL (Notes); video lecture (lecture 0930)   Homework 2: HTML, PDF (accepted without penalty through 10/02)
October 2 (W) Evaluating parallel applications; numerical integration example revisited (Notes); video lecture (lecture 1002)    
October 7 (M) Homework 2 revisited (Notes); video lecture (lecture 1007)    
October 9 (W) Design patterns; overview of pattern language; example applications (Notes); video lecture (lecture 1009) 1.3, 1.4 (review); 4.3  
October 14 (M) No class   Nothing to turn in; suggest completing RNG and sequential code for Homework 3 (HTML, PDF)
October 16 (W) No class   Nothing to turn in; suggest completing OpenMP, MPI programs for for Homework 3 (HTML, PDF)
October 21 (M) Finding Concurrency patterns (Notes) 3 Nothing to turn in; suggest completing parallel Java program for Homework 3 (HTML, PDF)
October 23 (W) Algorithm Structure patterns (Notes) 4 Nothing to turn in; suggest completing OpenCL program for Homework 3 (HTML, PDF)
October 28 (M) Supporting Structures patterns (Notes) 5  
October 30 (W) Supporting Structures patterns, continued (Notes)   Homework 3: HTML, PDF
November 4 (M) More examples: generic master-worker; Mandelbrot set (Notes)    
November 6 (W) More examples: Mandelbrot set, continued; matrix multiplication (Notes)    
November 11 (M) (No class)    
November 13 (W) More examples: matrix multiplication, continued (Notes)   Homework 4: HTML, PDF
November 18 (M) More examples (mergesort); Implementation Mechanisms (Notes) 6  
November 20 (W) Distributed-memory programming in Java (Notes)    
November 25 (M) Distributed-memory programming in Java, continued (Notes)    
November 27 (W) Holiday    
December 2 (M) A little about multithreading with POSIX threads and C++ threads; course wrap-up and evaluations   Homework 5: HTML, PDF
December 11 (W), noon (Not a class day)   Optional project: HTML, PDF; not-accepted-past deadline for all work

Sample solutions to homeworks