CS735/CS835
Introduction to Parallel and Distributed Programming
Course Outline


  1. Introduction [Andrews, Chapter 1]

  2. Programming with Java threads [Andrews, Section 5.4; The Java Language Specification]

  3. Shared-variable programming fundamentals [Andrews, Chapters 2-5]

  4. Programming with Java RMI [Andrews, Section 8.5; The Java Tutorial: RMI; Java RMI documentation]

  5. Message-passing programming [Andrews, Chapter 7]

  6. Distributed-programming paradigms [Andrews, Chapter 9]

  7. Scientific computing applications [Andrews, Chapter 11]

  8. Combinatorial search [Quinn, Chapter 13]

  9. Combining threads and message passing [PM2 webpage]

  10. Message-passing implementation issues [Active Messages paper; SBP paper; LFC paper;]

  11. Data-parallel programming [Andrews, Section 3.5]

  12. Communication via tuple spaces [Andrews, Section 7.7; JavaSpaces spec]]

  13. Distributed shared memory [Andrews, Section 10.4; Pugh's webpage; Hyperion paper]

  14. Is Java a high-performance programming language? [October 2001 CACM]


Last modified on August 30, 2001.

Comments and questions should be directed to pjh@cs.unh.edu