CSCI 338
Parallel Processing Spring 2025
Division III Q Quantitative/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, 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
Limit: 24
Expected: 24
Class#: 3048
Grading: no pass/fail option, no fifth course option
Requirements/Evaluation: homework assignments, programming projects, midterm, and final project
Prerequisites: CSCI 136 or equivalent programming experience, and CSCI 237, or permission of instructor
Enrollment Preferences: current or expected Computer Science majors
Materials/Lab Fee: A fee of $100 will be added to the term bill to cover specialized compute resources (e.g., GPUs) purchased through AWS or Azure to complete course assignments.
Distributions: Divison III Quantitative/Formal Reasoning
QFR Notes: The course will consist of substantial homework assignments and programming assignments in which quantitative/formal reasoning skills are practiced and evaluated.

Class Grid

Updated 6:56 pm

Course Catalog Search


(searches Title and Course Description only)
TERM




SUBJECT
DIVISION



DISTRIBUTION



ENROLLMENT LIMIT
COURSE TYPE
Start Time
End Time
Day(s)