MPCS 52060 - Parallel Programming

Course Staff

Instructor

Teaching Assistants

  • Tina Oberoi (contact on Ed)

  • Nishchay Karle (contact on Ed)

Graders

  • None

Course Description

Parallel computing is found everywhere in modern computing. Multi-core CPUs and GPUs, supercomputers, and even mobile devices such as smartphones all provide ways to efficiently utilize parallel processing on these architectures and devices. The goal of this course is to provide an introduction to the foundations of parallel programming and to consider the performance gains and trade-offs involved in implementing and designing parallel computing systems. Specifically, this course will place an emphasis on concepts related to parallel programming on multicore processors. Programming exercises and projects will be implemented using the Go programming language.

Prerequisite: Core Programming, Familiarity with C, Java, and/or Python