Description: Fundamentals of parallel computing including abstract models for parallel computation, parallel computer architectures, parallel algorithms, and data structures, programming models and methods, mapping and scheduling computation, analyzing computations for correctness and efficiency, and applications to science and engineering. Includes an extensive programming component. Recommended Prerequisites: (COMP 211 or COMP 212) AND (COMP 221 or COMP 320).