Laboratory work in the CS classroom is intended to solidify essential concepts and core design principles. Because of recent advances and the widespread adoption of multicore technologies, one area of investigation that has become increasingly important across all levels of CS instruction is parallel computing. This paper describes the initial version of the Parallel Analysis Tool (PAT), a pedagogical tool designed to assist undergraduate students in visualizing concurrency and effectively connecting parallel processing to applied coding strategies. The PAT is a complete Java development environment, with an emphasis on (1) helping students to identify appropriate code locations where parallelization can be applied and (2) allowing students to subsequently examine the practical performance tradeoffs of these parallelization decisions in a laboratory setting. The Parallel Quotient (PQ), a fundamental dimensionless metric generated by the PAT, supports the student's conceptual understanding and analysis of the relative benefits of employing various parallel programming strategies.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.