An introduction to parallel and distributed processing and programming concepts and techniques. Course content includes discussions of different types of parallel and distributed machines and machine models, data parallelism, the design and analysis of parallel algorithms, and the development of parallel programs.