\section*{State University of New York at Buffalo}
The Department of Computer Science offers the following graduate
courses.

\begin{itemize}

\item CS515: Introduction to Parallel Computing.

General introduction to parallel computing, with an emphasis on
different approaches to programming a variety of shared memory,
distributed memory, SIMD, and MIMD parallel machines.  Fundamental
issues about parallel architectures, languages, and algorithms are
included. 

\item CS606: Parallel Computer Architecture.

The organization of parallel computer systems.  Different parallel
architectures, such as SIMD and MIMD parallel computers, shared
memory and distributed memory computers, as well as dataflow
architectures are presented.

\item CS622: Parallel and Distributed Operating System Concepts.

Theoretical results in performance evaluation
of computer systems introduced through synthetic
and analytic models of system structure;
techniques for verifying properties of concurrent
processes;
issues
in multiprogramming operating system mechanism
such as naming and binding,
protection, reliability, and recovery.

\item CS633: Parallel Algorithms.

The design and analysis of parallel algorithms. Time and space
complexity of problems from graph theory, computational geometry,
combinatorial algorithms, and image processing.  Models of computation
include pram, mesh, pyramid, mesh-of-trees, and hypercube.

\item CS643: Compilers for Parallel Computers.

Implementation of programming languages on parallel machines:
programming constructs for implicit and explicit parallelism,
dependency analysis, partitioning, optimization, and code
generation for parallel machines.
\end{itemize}
