Instruction in most modern programming courses teaches you how to write and debug a program that executes steps of an algorithm sequentially using a single thread of control. This form of programming leaves most of the resources in a Central Processing Unit (CPU) idle and underutilized. The rapid growth of data and the many ways in which we wish to view and utilize information in a limited amount of time makes this approach inadequate. The new computing paradigm requires that we analyze a problem to see which parts can be solved independently, and then dispatch several CPUs in a coordinated fashion to complete a solution in less time than one CPU working alone. Enabling a student to acquire and demonstrate these analytical and implementation skills is the goal of "Introduction to Parallel and Cloud Programming." This course provides a set of interactive labs for parallel programming exercises.
- Teacher: Courtney Brown