Parallel programming: techniques and applications using networked workstations and parallel computers. Barry Wilkinson, C. Michael Allen
This book makes a clear presentation of the traditional topics included in a course of undergraduate parallel programming. As explained by the authors, it was developed from their own experience in classrooms, introducing their students to parallel programming. It can be used almost directly to teach basic parallel programming.