The exam will have descriptive questions and problems that will test your understanding of the different parallel programming models and application of these programming models to different algorithms discussed in class (e.g., computing sum of elements in a vector, finding minimum/maximum value in a vector, matrix-matrix multiplication, game of life). This exam will concentrate on programming models and algorithms for distributed memory parallel computers.