CSE 470|570 - Introduction to Parallel and Distributed Processing

Fall 2021

The course is currently at full capacity! If you are genuinely interested in the course, we have waiting list enabled.


Dr. Jaroslaw Zola

Department of Computer Science and Engineering

Email: jzola@buffalo.edu Web: http://www.jzola.org/ Twitter: @rzolau

Course Overview

This course is intended for students interested in the efficient use of modern parallel systems ranging from multi-core processors and many-core accelerators to large-scale distributed memory clusters. The course puts equal emphasis on the theoretical foundations of parallel computing, and on practical aspects of different parallel programming models. It begins with a survey of common parallel architectures and types of parallelism, and then follows with an overview of formal approaches to assess scalability and efficiency of parallel algorithms and their implementations. In the second part, the course covers the most common and current parallel programming techniques and APIs, including for shared address space, many-core accelerators, distributed memory clusters and big data analytics platforms. Each component of the course involves solving practical computational and data driven problems, ranging from basic algorithms like sorting or searching, through numerical data analysis, to large graphs processing.

This course is the Software and Information Systems focus area course at CSE.

Course Prerequisites Undergraduate students: CSE 220 and 331.


You can download full syllabus from here.


Course resources are available from here (password required).

Copyright 2021 Jaroslaw Zola jzola@buffalo.edu