Year of Award


Document Type


Degree Type

Master of Science (MS)

Degree Name

Computer Science

Department or School/College

Department of Computer Science

Committee Chair

Joel Henry

Commitee Members

Travis Wheeler, Bharath Sriraman


concurrency, threading, gpu, education, technology, cuda, posix, linux, nvidia, course, parallelism


University of Montana

Subject Categories

Higher Education | Numerical Analysis and Scientific Computing | OS and Networks | Other Computer Sciences | Programming Languages and Compilers | Science and Mathematics Education


Introduction to Parallel Computing is a course designed to educate students on how to use the parallel libraries and tools provided by modern operating systems and massively parallel computer graphics hardware.

Using a series of lectures and hands-on exercises. Students will learn about parallel algorithms and concepts that will aid them in analyzing a problem and constructing a parallel solution, if possible, using the tools available to their disposal.

The course consists of lectures, projects, quizzes, and homework. The combination of these components will deliver the necessary domain knowledge to students, test them, and in the process train them to break a problem down and construct a concurrent solution.

The design and layout of the deliverables will follow Bloom’s Taxonomy and Mager’s Content Reference Instruction (CRI) model to maximize student retention of the materials.

Delivering the course will be achieved via the iterative development model, often used in software development, but effective in other domains as well. Using the iterative method will aid in the development of robust deliverables that can be extended, replaced, and modified depending on future course requirements.



© Copyright 2014 Clinton McKay