When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 4 modules in this course
This course introduces the fundamentals of high-performance and parallel computing. It is targeted to scientists, engineers, scholars, really everyone seeking to develop the software skills necessary for work in parallel software environments. These skills include big-data analysis, machine learning, parallel programming, and optimization. We will cover the basics of Linux environments and bash scripting all the way to high throughput computing and parallelizing code. We recommend you are familiar with either Fortran 90, C++, or Python to complete some of the programming assignments.
After completing this course, you will familiar with:
*The components of a high-performance distributed computing system
*Types of parallel programming models and the situations in which they might be used
*High-throughput computing
*Shared memory parallelism
*Distributed memory parallelism
*Navigating a typical Linux-based HPC environment
*Assessing and analyzing application scalability including weak and strong scaling
*Quantifying the processing, data, and cost requirements for a computational project or workflow
This course can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at https://www.coursera.org/degrees/master-of-science-data-science-boulder.
Get to know the basics of an HPC system. Users will learn how to work with common high performance computing systems they may encounter in future efforts. This includes navigating filesystems, working with a typical HPC operating system (Linux), and some of the basic concepts of HPC. We will also provide users some key information that is specific to the logistics of this course.
During this week we will actually begin to use HPC infrastructure. Some concepts we will learn are - how to load software appropriately onto an HPC system, what the different types of nodes a user can expect to encounter on a system, and how to submit a job to conduct work, such as perform calculations.
What's included
6 videos1 assignment2 programming assignments
Show info about module content
6 videos•Total 29 minutes
HPC Architecture•5 minutes
Software•5 minutes
Allocations•4 minutes
Node Types•2 minutes
Job Submission with Slurm - Part 1•6 minutes
Job Submission with Slurm - Part 2•8 minutes
1 assignment•Total 30 minutes
Week 2 Quiz•30 minutes
2 programming assignments•Total 90 minutes
Week 2 - Submitting Jobs with Slurm - Part 1•30 minutes
Week 2 - Submitting Jobs With Slurm - Part 2•60 minutes
Basic Parallelism
Module 3•4 hours to complete
Module details
In this module, we will introduce users to the nuances of memory on a high performance computing system. We will also cover some ways to conduct work on a system most efficiently. We will also introduce some beginning components of parallel programming.
What's included
6 videos1 assignment1 programming assignment
Show info about module content
6 videos•Total 29 minutes
Simple Application Timing•4 minutes
Serial vs. Parallel Processing - Part 1•4 minutes
Serial vs. Parallel Processing - Part 2•5 minutes
Parallel Memory Models•6 minutes
Data vs. Task Parallelism•6 minutes
High Throughput Computing•4 minutes
1 assignment•Total 30 minutes
Week 3 Quiz•30 minutes
1 programming assignment•Total 180 minutes
Simple Application Timing•180 minutes
Evaluating Parallel Program Performance
Module 4•3 hours to complete
Module details
In this module, we will continue to review topics related to using a high performance computing system most efficiently, including scaling your workflow measuring how efficient your work on a system is, and how to utilize as much of the computing resource as possible.
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
View eligible degrees
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
¹Successful application and enrollment are required. Eligibility requirements apply. Each institution determines the number of credits recognized by completing this content that may count towards degree requirements, considering any existing credits you may have. Click on a specific course for more information.
OK
Instructors
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
CU Boulder is a dynamic community of scholars and learners on one of the most spectacular college campuses in the country. As one of 34 U.S. public institutions in the prestigious Association of American Universities (AAU), we have a proud tradition of academic excellence, with five Nobel laureates and more than 50 members of prestigious academic academies.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
3.8
167 reviews
5 stars
41.31%
4 stars
24.55%
3 stars
13.77%
2 stars
9.58%
1 star
10.77%
Showing 3 of 167
J
JY
4·
Reviewed on Aug 15, 2022
The content is a good start for those who had little programing experience. The assignments drove me creazy. Exploring the discussion forum to see hints for assignments will save you a lot of time.
A
AS
5·
Reviewed on Feb 8, 2026
Enjoyed it, tests were well thoughout out and of decent quality
O
OR
5·
Reviewed on Jun 8, 2021
A very good and interesting HPC introduction course!
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.