Meeting times, rooms, office hours, computing allocations, and final exam details will be added when confirmed. The rest of this syllabus reflects the planned Fall 2026 course.
Instructor
Dr. Beau M. Christ
Associate Professor, Department of Computer Science
- christbm@wofford.edu
- (864) 597-4528
- Olin 111C
- beauchrist.com
Textbook
An Introduction to Parallel Programming, 2nd edition, by Peter Pacheco and Matthew Malensek.
Course overview
Modern computers contain multiple processing cores, but programs do not automatically use them well. This course examines the architectures, tools, and algorithms used to solve demanding problems in parallel. We will write and measure programs using MPI, Pthreads, and OpenMP, then run them on clusters and supercomputers.
Prerequisites: COSC 273 (Computer Organization & Architecture) and COSC 350 (Data Structures & Algorithms), each with a minimum grade of C.
Catalog description: An introduction to the concepts, tools, languages, and algorithms for solving complex problems on massively parallel and distributed computers. Topics include advanced computer architecture, performance and optimization, and the design, analysis, and implementation of applications using parallel programming languages and tools.
Course objectives
By the end of this course, you should be able to:
- explain common parallel-system architectures and their tradeoffs;
- write and benchmark parallel programs in C;
- use Linux and remote-computing tools confidently;
- implement programs with MPI, Pthreads, and OpenMP;
- submit, monitor, and evaluate jobs on a supercomputer; and
- combine parallel programming models to solve larger problems.
Grading
| Category | Weight |
|---|---|
| Projects | 40% |
| Midterm exams | 40% |
| Final exam | 20% |
Projects are submitted through Moodle and are equally weighted unless noted otherwise. Detailed due dates will appear on the course schedule.
Grading scale
| Grade | Range | Grade | Range |
|---|---|---|---|
| A | 93–100% | C | 73–76% |
| A− | 90–92% | C− | 70–72% |
| B+ | 87–89% | D | 60–69% |
| B | 83–86% | F | 0–59% |
| B− | 80–82% | ||
| C+ | 77–79% |
Course policies
Attendance
You are expected to attend class. I understand that absences are sometimes unavoidable, so I appreciate an email in advance when possible. You are responsible for catching up on missed work and, in accordance with Wofford policy, must be present for the final exam.
Classroom
You may bring a computer to work along with course examples. Please avoid using devices for unrelated activities during class; it affects your own learning and can distract others. Features such as Do Not Disturb or Focus can help.
Late work
Work submitted after its due date receives a one-point penalty (out of 10). A second one-point penalty applies after 24 hours. Work more than 48 hours late will not be accepted. Documented emergencies and similar circumstances will be considered case by case; contact me before the deadline whenever possible.
Communication
Email is the main form of course communication. You are also welcome to visit during office hours or arrange another time to talk.
Academic integrity
Please do your own work. You may discuss approaches and ideas with others, but submitted work must be your own and code should not be shared. All students are responsible for understanding and following the Wofford Honor Code; ask me if you are uncertain about what is permitted.
Reasonable accommodations
If you need accommodations, please contact Wofford Accessibility Services and me near the beginning of the semester so that we can support you.
Use of generative AI
AI-generated work is not permitted unless I explicitly authorize it for a particular assignment or activity. Unauthorized use at any stage of submitted work will be treated as an academic-integrity violation. When an exception is allowed, the assignment will explain the permitted scope.