CPSC 087. Parallel and Distributed Computing
This course covers a broad range of topics related to parallel and distributed computing, including parallel and distributed architectures and systems, parallel and distributed programming paradigms, parallel algorithms, and scientific and other applications of parallel and distributed computing. In lecture/discussion sections, students examine both classic results as well as recent research in the field. The lab portion of the course includes programming projects using different programming paradigms, and students will have the opportunity to examine one course topic in depth through an open-ended project of their own choosing. Course topics may include: multi-core, SMP, MPP, client-server, clusters, clouds, grids, peer-to-peer systems, GPU computing, scheduling, scalability, resource discovery and allocation, fault tolerance, security, parallel I/0, sockets, threads, message passing, MPI, RPC, distributed shared memory, data parallel languages, MapReduce, parallel debugging, and parallel and distributed applications.
Group 2 course.
Prerequisite: CPSC 031 and CPSC 035 are required. At least one completed upper-level CS course is recommended.
Natural science and engineering.
Lab work required.
Spring 2020. Newhall.
Catalog chapter: Computer Science
Department website: https://www.swarthmore.edu/computer-science