CSCI 3090


None
Course Number:
CSCI 3090

Approved Starting Semester:
Fall 2021

Course Title:
Parallel Programming

Credit Hours:
3

Course Description (Bulletin Description):
This course introduces the fundamentals of parallel programming and computing implemented in the shared and distributed system models. Course covers primarily programming of multithreaded applications using threads and OpenMP; other topics discussed include: implementing parallel algorithms, serial versus parallel algorithm performance, and MPI.

Prerequisite:
( CSCI 2010 and CSCI 2011 ) or CSCI 2000

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Define terminology commonly used in parallel computing, such as efficiency and speedup. 2. Given a problem, develop an efficient parallel algorithm to solve it. 3. Given a parallel algorithm, implement it using threads, OpenMP, or for some cases MPI. 4. Given a parallel code, analyze its performance and optimize the performance of the code. 5. Given a parallel code, debug it and fix the errors. 6. Given a problem, implement an efficient and correct code to solve it, analyze its performance, and give convincing written and oral presentations explaining your achievements.

Topics Covered (In Outline/Calendar):
• Parallel Hardware and Software • Introduction to Threads • OpenMP programming • MPI architectures & programming • CUDA Programming

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
None

Instructor-in-charge:
None

Previous Professors:
None

Technologies / Skills:
Parallel programming, OpenMP API, C++ programming language (may change)

Textbook(s):
Summer 2020
Title: AN INTRODUCTION TO PARALLEL PROGRAMMING
Edition: 1ST
Author: PACHECO
Publisher: KAUFMANN
ISBN: 9780123742605
========================================


Go back to choose another course