CSCI 338
Parallel Processing Fall 2019
Division III Quantative/Formal Reasoning

Class Details

This course explores different parallel programming paradigms used for writing applications on today’s parallel computer systems. The course will introduce concurrency (i.e. multiple simultaneous computations) and the synchronization primitives that allow for the creation of correct concurrent applications. It will examine how a variety of systems organize parallel processing resources and enable users to write parallel programs for these systems. Covered programming paradigms will include multiprogramming with processes, message passing, threading in shared memory multiprocessors, vector processing, graphics processor programming, transactions, MapReduce, and other forms of programming for the cloud. Class discussion is based on assigned readings. Assignments provide students the opportunity to develop proficiency in writing software using different parallel programming paradigms.
The Class: Format: lecture/laboratory
Limit: 24
Expected: 24
Class#: 1916
Grading: no pass/fail option, no fifth course option
Requirements/Evaluation: homework assignments, programming projects, and exams
Prerequisites: CSCI 136 or equivalent programming experience, and CSCI 237, or permission of instructor
Enrollment Preferences: current or expected Computer Science majors
Distributions: Division III Quantative/Formal Reasoning
QFR Notes: The course will consist of substantial problem sets and programming assignments in which quantitative/formal reasoning skills are practiced and evaluated.

Class Grid

Updated 5:30 am ET

Course Catalog Search

(searches Title and Course Description only)



Start Time
End Time