An Introduction to Parallel Programming is the first undergraduate text to directly address compiling & running parallel programs on the new multi-core & cluster architecture It explains how to design debug & evaluate the performance of distributed & shared-memory programs The author Peter Pacheco uses a tutorial approach to show students how to develop effective parallel programs with MPI Pthreads & Open MP starting with small programming examples & building progressively to more challenging ones The text is written for students in undergraduate parallel programming or parallel computing courses designed for the computer science major or as a service course to other departments; professionals with no background in parallel computing