CSC 470: Introduction to Parallel Programming

Offered Under: B.Sc. in Computer Science (CSC)
Description

Parallel architectures; linear, mesh, binary, and hypercube connections; routing mechanisms; communication models; scalability and efficiency; Principles of parallel algorithm design: Design approaches, design issues, performance measurement & analysis, complexities, anomalies in parallel algorithms; parallel searching, parallel sorting, parallel graph and parallel computational algorithms; parallel programming paradigms: message passing, shared memory and multi-core parallel programming.



Course Type Major
Credit Hour 3
Lecture Hour 45
Expected Outcome(s):
  • Model and analyze the performance of parallel programs.
  • Write parallel programs for large‐scale parallel systems, shared address space platforms, and heterogeneous platforms.
  • Explain how large‐scale parallel systems are designed and how massive parallelism is implemented in accelerator architectures.
  • Design efficient parallel algorithms and applications.
  • Explain the relative advantages and disadvantages of linear, mesh and hypercube networks with respect to diameter, bisection width, and number of edges/node.

Suggested Books:
  1. Parallel Programming with Microsoft® .NET: Design Patterns for Decomposition and Coordination on Multicore Architectures by Colin Campbell, Ralph Johnson, Ade Miller and Stephen Toub
  2. The Art of Multiprocessor Programming by Maurice Herlihy and Nir Shavit
  3. Programming Massively Parallel Processors: A Hands-on Approach (2nd Edition) by David B. Kirk and Wen-mei W. Hwu
  4. An Introduction to Parallel Programming by Peter Pacheco
  5. Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming by Simon Marlow

Grading Policy:

Biweekly Quiz, One Midterm Exam, One Final Exam, Project


Letter Grade Marks Grade Point
A 90 - 100 4.00
A- 85 - 89 3.70
B+ 80 - 84 3.30
B 75 - 79 3.00
B- 70 - 74 2.70
C+ 65 - 69 2.30
C 60 - 64 2.00
C- 55 - 59 1.70
D+ 50 - 54 1.30
D 45 - 49 1.00
F 00 - 44 0.00