Introduction to High-Performance and Parallel Computing (Coursera)

Introduction to High-Performance and Parallel Computing (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

After completing this course, you will be able to...
Describe the components of a high-performance distributed computing system
Describe the following types of parallel programming models and the situations in which they might be used
High-throughput computing
Shared memory parallelism
Distributed memory parallelism
Navigate a typical Linux-based HPC environment
Assess and analyze application scalability including weak and strong scaling
Quantify the processing, data and cost requirements for a computational project or workflow

Syllabus

WEEK 1
High Performance Computing (HPC) for Non-Computer Scientists
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.

WEEK 2
Nuts and Bolts of HPC
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.

WEEK 3
Basic Parallelism
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.

WEEK 4
Evaluating Parallel Program Performance
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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Social and Economic Networks: Models and Analysis (Coursera) Coursera
Stanford University

Social and Economic Networks: Models and Analysis (Coursera)

Learn how to model social and economic networks and their impact on human behavior. How do networks form, why do they exhibit certain patterns, and how does their structure impact diffusion, learning, and other behaviors? We will bring together models and techniques from economics, sociology, math, physics, statistics and computer science to answer these questions.

Aug 3rd 2026
5-12 Weeks
Foundation to Multi-Cloud (Coursera) Coursera
EDUCBA

Foundation to Multi-Cloud (Coursera)

The "Foundation to Multi-Cloud" course is designed to provide a comprehensive understanding of multi-cloud computing principles, benefits, and challenges. It equips you with the knowledge and skills required to effectively manage and utilize multiple cloud platforms simultaneously. This course introduces the concept of multi-cloud, elucidates its advantages and complexities, and delves into various strategies and technologies for implementing and managing multi-cloud environments.

Aug 10th 2026
3 Weeks
Approximation Algorithms Part I (Coursera) Coursera
École normale supérieure

Approximation Algorithms Part I (Coursera)

How efficiently can you pack objects into a minimum number of boxes? How well can you cluster nodes so as to cheaply separate a network into components around a few centers? These are examples of NP-hard combinatorial optimization problems. It is most likely impossible to solve such problems efficiently, so our aim is to give an approximate solution that can be computed in polynomial time and that at the same time has provable guarantees on its cost relative to the optimum.

Aug 3rd 2026
5-12 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Aug 10th 2026
4 Weeks
Introduction to Software Product Management (Coursera) Coursera
University of Alberta

Introduction to Software Product Management (Coursera)

This course highlights the importance and role of software product management. It also provides an overview of the specialization, as well as its goals, structure, and expectations. The course explains the value of process, requirements, planning, and monitoring in producing better software. Upon successful completion of this course, you will be able to: relate software product management to better software products; recognize the role of a software product manager; reflect on how Agile principles will improve your own projects.

Aug 3rd 2026
2 Weeks
Image and video processing: From Mars to Hollywood with a stop at the hospital (Coursera) Coursera
Duke University

Image and video processing: From Mars to Hollywood with a stop at the hospital (Coursera)

In this course, you will learn the science behind how digital images and video are made, altered, stored, and used. We will look at the vast world of digital imaging, from how computers and digital cameras form images to how digital special effects are used in Hollywood movies to how the Mars Rover was able to send photographs across millions of miles of space.

Aug 10th 2026
5-12 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Aug 10th 2026
4 Weeks
Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Aug 3rd 2026
5-12 Weeks
操作系统原理 (Operating Systems) (Coursera) Coursera
Peking University

操作系统原理 (Operating Systems) (Coursera)

操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。

Aug 3rd 2026
13-24 Weeks
FPGA computing systems: Background knowledge and introductory materials (Coursera) Coursera
Politecnico di Milano

FPGA computing systems: Background knowledge and introductory materials (Coursera)

This course is for anyone passionate in learning how a hardware component can be adapted at runtime to better respond to users/environment needs. This adaptation can be provided by the designers, or it can be an embedded characteristic of the system itself. These runtime adaptable systems will be implemented by using FPGA technologies.

Aug 10th 2026
4 Weeks
Agile Planning for Software Products (Coursera) Coursera
University of Alberta

Agile Planning for Software Products (Coursera)

This course covers the techniques required to break down and map requirements into plans that will ultimately drive software production. Upon successful completion of this course, you will be able to: create effective plans for software development; map user requirements to developer tasks; assess and plan for project risks; apply velocity-driven planning techniques; generate work estimates for software products.

Aug 3rd 2026
4 Weeks