NSF/IEEE-TCPP Curriculum Initiative on Parallel and Distributed Computing Core Topics for Undergraduates

Dr. Karavanic has been selected as an Early Adopter for this joint NSF/IEEE, multi-year effort to increase the content related to parallel and distributed computing that is in the REQUIRED portion of the undergraduate curriculum. Due to the ubiquity of multicore, manycore, and mobile platforms, it is critical that EVERY Computer Science student understand concurrency. In this project we are developing materials to update the undergraduate systems courses CS 201 and CS 333. We are also designing a new course offering.

PI: Karen L. Karavanic

This work is sponsored by the NSF/IEEE Curriculum Initiative

Curriculum Innovation in Multicore Computing

Concurrency is traditionally a topic addressed in undergraduate courses in Operating Systems, and possibly in a special interest course such as parallel programming. Today we are experiencing a dramatic paradigm shift in computing, in the widespread adaption of multicore chips for all levels of computing. Up to now, Parallel Computing has been a research area focused primarily on scientific computing and perceived to be non-mainstream; soon, every computer will be a parallel machine. Suddenly it is essential for every computer scientist and programmer to have a good understanding of concurrency at all levels, whether chip-level (CMP) as found in multicore processors, board-level as found in more established multiprocessors, node level as in linux clusters, or combined approaches. However, teaching concurrency to students can be challenging. How to intuitively convey what is different when an application runs on a dual-core PC, instead of a dual- or single- processor machine? In this project we are designing and implementing a set of visualizations to accomplish this important educational goal.

PI: Karen L. Karavanic

Research Assistant: Jim Santmyer

This work is sponsored by NSF Award #1044973.