| WEEK | DAYS | TOPICS | 
  
    | 1 | Feb 12 | Demand for Computational
      Speed, 
      Preliminaries | 
  
    | 2 | Feb 19 | Types of Parallel Computers | 
  
    | 3 | Feb 26 | Interconnection Networks,
      Embeddings, Communication Methods
 | 
  
    | 4 | Mar 5 | Networked Computers as a
      Multicomputer Platform | 
  
    | 5 | Mar 12 | Speedup, Efficiency,
      Scalability, Amdahl's and Gustafson's Laws | 
  
    | 6 | Mar 19 | Basics of
      Message Passing Programming & PVM | 
  
    | 7 | Mar 26 | Evaluating Parallel Programs:
      Parallel Execution Time, Time Complexity, Debugging  and Evaluating
      Parallel Programs | 
  
    | 8 | Apr 2 | * Student Presentations | 
  
    | 9 | Apr 9 | Embarrassingly Parallel
      Computations: Geometrical Transformation of Images, Mandelbrot Set, Monte Carlo Methods,
      Parallel Random Number Generation
 | 
  
    | 10 | Apr 16 | Partitioning * Student Representations
 | 
  
    | 11 | Apr 23 | Divide and Conquer Examples:
      Sorting Using Bucket Sort, Numerical Integration, Adaptive Quadrature,
      N-Body Problem | 
  
    | 12 | Apr 30 | Pipelined
      Computations,
      Examples: Adding Numbers, Sorting Numbers, Prime Number Generation,
      Solving a System of Linear Equations | 
  
    | 13 | May 6 | Midterm 1 | 
  
    | May 7 | Synchronization, Counter
      Implementation, Synchronized Computations
 | 
  
    | 14 | May 14 | Synchronous Iteration Program
      Examples | 
  
    | 15 | May 21 | Load
      Balancing, Dynamic Load
      balancing, Distributed Termination Detection Algorithms, Examples
 | 
  
    | 16 | May 28 | Programming with Shared Memory, 
      Shared Memory Multiprocessors, Constructs for Specifying Parallelism,
      Sharing Data Program Examples.
 | 
  
    | May 28 | Midterm 2 | 
  
    |  | June | Final Exam |