Topics in Parallel and Distributed Computing

Enhancing the Undergraduate Curriculum: Performance, Concurrency, and Programming on Modern Platforms

  • Sushil K. Prasad
  • Anshul Gupta
  • Arnold Rosenberg
  • Alan Sussman
  • Charles Weems

Table of contents

  1. Front Matter
    Pages i-vi
  2. Sushil K. Prasad, Anshul Gupta, Arnold L. Rosenberg, Alan Sussman, Charles Weems
    Pages 1-20
  3. For Instructors

    1. Front Matter
      Pages 21-21
    2. Vladimir Voevodin, Alexander Antonov, Vadim Voevodin
      Pages 23-58
    3. Yanik Ngoko, Denis Trystram
      Pages 79-109
    4. Guillaume Aupy, Yves Robert
      Pages 143-170
  4. For Students

    1. Front Matter
      Pages 171-171
    2. Vivek K. Pallipuram, Jinzhu Gao
      Pages 191-241
    3. Konstantin Läufer, George K. Thiruvathukal
      Pages 243-285
    4. Nasser Giacaman, Oliver Sinnen
      Pages 287-312
    5. Srishti Srivastava, Ioana Banicescu
      Pages 313-337

About this book


This book introduces beginning undergraduate students of computing and computational disciplines to modern parallel and distributed programming languages and environments, including map-reduce, general-purpose graphics processing units (GPUs), and graphical user interfaces (GUI) for mobile applications. The book also guides instructors via selected essays on what and how to introduce parallel and distributed computing topics into the undergraduate curricula, including quality criteria for parallel algorithms and programs, scalability, parallel performance, fault tolerance, and energy efficiency analysis. The chapters designed for students serve as supplemental textual material for early computing core courses, which students can use for learning and exercises. The illustrations, examples, and sequences of smaller steps to build larger concepts are also tools that could be inserted into existing instructor material. The chapters intended for instructors are written at a teaching level and serve as a rigorous reference to include learning goals, advice on presentation and use of the material, within early and advanced undergraduate courses. 

Since Parallel and Distributed Computing (PDC) now permeates most computing activities, imparting a broad-based skill set in PDC technology at various levels in the undergraduate educational fabric woven by Computer Science (CS) and Computer Engineering (CE) programs as well as related computational disciplines has become essential. This book and others in this series aim to address the need for lack of suitable textbook support for integrating PDC-related topics into undergraduate courses, especially in the early curriculum. The chapters are aligned with the curricular guidelines promulgated by the NSF/IEEE-TCPP Curriculum Initiative on Parallel and Distributed Computing for CS and CE students and with the CS2013 ACM/IEEE Computer Science Curricula.


Parallel Computing Distributed Computing CS2013 ACM/IEEE Computer Science Curricula Computer Sciences Computer Engineering Instructor resources for core courses Map-reduce programming GPU CUDA programming GUI programming for mobile applications Energy Efficiency Scalabiliy

Editors and affiliations

  • Sushil K. Prasad
    • 1
  • Anshul Gupta
    • 2
  • Arnold Rosenberg
    • 3
  • Alan Sussman
    • 4
  • Charles Weems
    • 5
  1. 1.Georgia State UniversityAtlantaUSA
  2. 2.IBM Research AIYorktown HeightsUSA
  3. 3.University of Massachusetts AmherstAmherstUSA
  4. 4.University of MarylandCollege ParkUSA
  5. 5.University of Massachusetts AmherstAmherstUSA

Bibliographic information