Syllabus

COSC 365 · Fall 2026

Instructor Dr. Beau M. Christ christbm@wofford.edu · Olin 111C · (864) 597-4528
Office hours: Tue/Thu 4:00–5:00 p.m. · Wed 2:00–5:00 p.m.

Meetings · Olin 218 Tuesdays & Thursdays 2:30–3:50 p.m.

Textbook An Introduction to Parallel Programming Peter Pacheco and Matthew Malensek · 2nd edition

Prerequisites COSC 273 and COSC 350 Minimum grade of C in each

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.

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.

Learning outcomes

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

40%

Projects

40%

Midterm exams

20%

Final exam

Projects are submitted through Moodle and are equally weighted unless noted otherwise. Detailed due dates will appear on the course schedule.

Grading scale

Minimum percentage required:

FBelow 60 D60+ C-70+ C73+ C+77+ B-80+ B83+ B+87+ A-90+ A93+

Course policies and support

These policies are meant to keep the course fair, flexible, and focused on learning. If a circumstance does not fit neatly into a policy below, please talk with me. Early communication gives us the most options, but emergencies do not always provide advance notice.

Attendance and participation

Plan to attend every class and participate actively. Much of our work will involve demonstrations, discussion, and problem solving that cannot be fully reproduced outside class. If you must miss class, let me know as soon as practical and ask a classmate what you missed. You remain responsible for course material and deadlines.

Absences for documented illness, official College events, religious observance, and other circumstances recognized by Wofford’s attendance policy will be handled in accordance with that policy. I will make a reasonable, non-punitive effort to help you complete work missed because of an excused absence.

Plan to take the final examination at its scheduled time. A different time during the examination period is available only at the instructor’s discretion; an examination outside the established period requires approval from the Provost.

Classroom environment

You are welcome to use a computer when it supports our work. Please silence notifications and avoid unrelated browsing, messaging, or other activities that distract you or those around you. We will treat one another’s questions, ideas, identities, and experiences with respect. You are always welcome to ask questions, including questions you think may be basic.

Deadlines and extensions

Deadlines help keep the course manageable and allow us to discuss work promptly. At the same time, occasional disruptions are part of life.

  • Most projects have a 48-hour grace period after the posted deadline. Work submitted during this window is accepted without penalty; you do not need to ask permission.
  • After the grace period, work is accepted only when we have agreed on an extension. Contact me as soon as you can, briefly explain what you need, and propose a realistic new deadline. You do not need to share private medical or personal details.
  • Some time-sensitive work—such as an examination, presentation, in-class activity, or work whose solution has been released—may not have a grace period. I will identify those exceptions clearly in advance.

Repeatedly relying on the grace period can make it difficult to keep up. If that begins to happen, please meet with me so we can make a plan.

Communication and help

Course announcements and individual messages will be sent to your Wofford email. Please check it regularly. I aim to respond to email within one business day; messages sent at night or on weekends may wait until the next business day.

Office hours are time I have set aside for you. You do not need an appointment or a polished question. You may also arrange another meeting time. Please seek help early when you are stuck—struggling silently is not a course requirement.

Collaboration and outside sources

Learning computer science is collaborative, but submitted work must demonstrate your own understanding. Unless an assignment states otherwise, you may:

  • discuss course concepts and general approaches with classmates;
  • help someone interpret an error message or locate a problem without supplying the solution; and
  • consult course materials, documentation, and other public references, with attribution when they influence your work.

Unless an assignment explicitly permits it, you may not:

  • share, copy, or adapt another person’s code, prose, data, or completed solution;
  • work through an assignment together line by line and submit the results as individual work;
  • use solutions from a previous semester or from an online repository; or
  • submit work created for another course or assignment without permission.

When collaboration is permitted, acknowledge the people and sources that materially helped you. If you are unsure whether a kind of help is allowed, ask before submitting. An honest question will not be treated as a violation.

Generative AI

The default rule is: you may use generative AI to support your learning, but not to produce work that you submit for credit. For example, you may ask a tool to explain a concept, create additional practice questions, or help you interpret a general error message. You may not use it to generate or substantially rewrite code, analysis, answers, or prose for an assignment unless that assignment explicitly allows such use.

When an assignment permits generative AI, it will describe the allowed scope and any required acknowledgment. You remain responsible for understanding, verifying, and being able to explain everything you submit. Never enter private information, another student’s work, assessment content, or non-public course materials into an external AI service.

Because AI tools and course activities vary, ask if a particular use is unclear. Unauthorized AI assistance may constitute academic dishonesty under the Wofford Honor Code.

Academic integrity

The Wofford Honor Code applies to all course work. Academic dishonesty includes plagiarism, unauthorized collaboration, misrepresenting the source of work, and unauthorized use of generative AI. Suspected violations must be handled through the College’s academic-integrity process.

Integrity is more than avoiding a penalty: the purpose of the work is to build your own ability. Submit work that reflects your understanding, identify the help and sources you used, and ask whenever the boundary is uncertain.

Access and accommodations

Wofford College is committed to an inclusive and accessible learning environment. If a disability, illness, injury, or other condition affects your access to this course, you are welcome—but not required—to contact Accessibility Services at accessibilityservices@wofford.edu.

If you have approved accommodations, please share them with me at your earliest convenience so we can discuss how they will work in this course. You may contact Accessibility Services at any point in the semester, though earlier communication gives us more time to plan.

Back to top