\section*{University of Massachusetts, Dartmouth}

The Computer and Information Science Department offers the following 
senior-level technical elective undergraduate course.

\begin{itemize}
\item
CIS 422: Design of Parallel Algorithms

Concepts of parallel computing: speedup laws, utilization, scalability. 
Parallel programming paradigms: process communication with channels, 
data sharing, synchronous parallelism. 
Fundamental parallel architectures and parallel algorithms, including
sorting (bitonic), searching, matrix multiplication, 
prime number computation, connected components, minimal spanning tree, 
Jacobi relaxation, solution to linear equations. 
Synchronization techniques. 
Multi-Pascal software package and LINDA workstation-based 
programming environments are also introduced.
\end{itemize}

\noindent
In addition, the following graduate-level courses are offered.

\begin{itemize}
\item
CIS 574: Advanced Computer Architecture.

Study of parallelization issues in uniprocessor systems 
(memory subsystem - interleaved memories, cache memories; I/O subsystem). 
Pipeline processing techniques and pipeline computers. 
Vector computer techniques and vector computers. 
Interconnection networks: design and performance-related parameters. 
MIMD vs.\ SIMD multiprocessors and multicomputers. 
Synchronization techniques. Scalability issue in parallel architectures 
and its relation to performance of parallel algorithms in massively 
parallel systems. 
Examples of parallel and massively parallel systems are discussed 
(CM-5, CRAY T3D, Kendall Square). 

\item
CIS 525: Topics on Parallel Computations.

Course entirely devoted to mathematical modeling of parallel and 
distributed systems (hardware and software) by means of high-level Petri nets. 
Special attention is devoted to Colored Petri Nets and their hierarchies. 
Mathematical and behavioral properties of this model are studied. 
Simulations of distributed software systems by means of Colored Petri nets 
are performed to check reachability, deadlock-freeness, 
and fairness properties. 
Elements of timed Petri nets are discussed. 

\item
CIS 575: Parallel Algorithms and Parallel Architectures.

Selected parallel algorithms are discussed: 
bitonic sort, homomorphisms of finite automata, 
multi-dimensional searches. Advanced techniques in parallel algorithms 
are discussed: 
parallel dynamic programming, actor-based object-oriented concurrent systems. 
Isoefficiency analysis of parallel algorithms has the central place in the 
whole course. 
\end{itemize}
