Parallel programming courses can help you learn multithreading, synchronization, and performance optimization techniques. You can build skills in designing algorithms that efficiently utilize multiple processors and managing shared resources. Many courses introduce tools like OpenMP, MPI, and CUDA, that support implementing parallel computing solutions in various applications, from scientific simulations to data processing tasks.

University of California San Diego
Skills you'll gain: Bioinformatics, Programming Principles, Molecular, Cellular, and Microbiology, Python Programming, Computational Thinking, Biology
Beginner · Course · 1 - 4 Weeks

Birla Institute of Technology & Science, Pilani
Skills you'll gain: C (Programming Language), Computer Programming, Computational Thinking, Data Structures, Algorithms, Operating Systems, File Systems, Computer Hardware, Debugging, Data Management
Build toward a degree
Beginner · Course · 1 - 3 Months

University of London
Skills you'll gain: Debugging, Development Environment, Javascript, Computer Programming Tools, Computer Graphics, Software Development Tools, Computer Programming, Graphical Tools, Interactive Design, Human Computer Interaction, Data Management
Beginner · Course · 1 - 4 Weeks

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Data Validation, Object Oriented Programming (OOP), Build Tools, Programming Principles, Development Environment, Distributed Computing, Business Logic, Software Testing, Unit Testing, Data Structures, Data Modeling
Intermediate · Course · 1 - 3 Months

University of Alberta
Skills you'll gain: Computational Thinking, Video Game Development, Game Design, Programming Principles, Animation and Game Design, Software Quality (SQA/SQC), Problem Solving, Computer Programming, Theoretical Computer Science, Program Development, Software Engineering, Python Programming, Algorithms, Pseudocode, Data Structures, Application Design, Debugging, Problem Management, Computer Science, Functional Testing
Beginner · Course · 1 - 3 Months

Skills you'll gain: Software Development Life Cycle, Linux Commands, Software Architecture, Bash (Scripting Language), Restful API, Shell Script, Git (Version Control System), GitHub, Software Design, Flask (Web Framework), Version Control, File Management, Linux, Software Development Methodologies, Software Design Patterns, Application Deployment, Data Import/Export, Programming Principles, Web Scraping, Python Programming
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Operations Research, Algorithms, Graph Theory, Linear Algebra, Combinatorics, Computational Thinking, Mathematical Modeling, Theoretical Computer Science, Python Programming
Build toward a degree
Advanced · Course · 1 - 4 Weeks

University of Cape Town
Skills you'll gain: Jupyter, Statistical Analysis, Data Visualization, Plot (Graphics), Scientific Visualization, Exploratory Data Analysis, Data Manipulation, Data Science, Other Programming Languages, Statistical Hypothesis Testing, Computer Programming, Mathematical Modeling, Package and Software Management
Beginner · Course · 1 - 4 Weeks

The University of Edinburgh
Skills you'll gain: Game Design, Software Engineering, Programming Principles, Software Development, Software Design, Computer Programming, Computational Thinking, Debugging, Algorithms
Beginner · Course · 1 - 3 Months

Johns Hopkins University
Skills you'll gain: Object Oriented Programming (OOP), R Programming, Debugging, Functional Design, Programming Principles, Data Manipulation, Data Structures, Software Design Patterns, Performance Tuning, Performance Testing
Intermediate · Course · 1 - 3 Months

Multiple educators
Skills you'll gain: Dashboard, Web Scraping, Pseudocode, Jupyter, Algorithms, Data Literacy, Data Mining, Data Analysis, R (Software), Data Presentation, Correlation Analysis, Pandas (Python Package), NumPy, Data Import/Export, Programming Principles, Predictive Modeling, Data Science, Unsupervised Learning, Machine Learning, Project Management
Beginner · Specialization · 3 - 6 Months
École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Software Design, Software Design Patterns, Functional Design, Java, Programming Principles, Performance Tuning, Data Structures, Algorithms
Intermediate · Course · 1 - 3 Months