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.

Skills you'll gain: Java Programming, Java, Performance Tuning, Spring Framework, Application Performance Management, Algorithms, JUnit, OS Process Management, Application Frameworks, Programming Principles, Performance Testing, Spring Boot, Computer Architecture
Beginner · Course · 1 - 3 Months

University of London
Skills you'll gain: Pseudocode, C++ (Programming Language), Object Oriented Programming (OOP), C and C++, File I/O, Object Oriented Design, Integrated Development Environments, Computer Programming, Development Environment, Programming Principles, Debugging, Data Structures, Program Development, Algorithms, Interactive Design, Model Evaluation, Software Engineering, Test Data, Data Validation, Command-Line Interface
Build toward a degree
Intermediate · Specialization · 1 - 3 Months
Johns Hopkins University
Skills you'll gain: Rmarkdown, Exploratory Data Analysis, Version Control, Statistical Analysis, R Programming, Data Manipulation, Data Cleansing, Data Science, Plot (Graphics), Statistical Programming, Statistical Visualization, Ggplot2, R (Software), Dimensionality Reduction, Data Visualization Software, Data Integration, Knitr, Data Sharing, GitHub, Machine Learning
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Theoretical Computer Science, Algorithms, Computational Thinking, Pseudocode, Data Structures, Design Strategies, Programming Principles, Computer Science, Advanced Mathematics, Python Programming, Analysis
Build toward a degree
Advanced · Course · 1 - 4 Weeks

University of Pennsylvania
Skills you'll gain: File I/O, Matplotlib, Object Oriented Design, Java, Object Oriented Programming (OOP), Data Analysis, Unit Testing, Pandas (Python Package), Java Programming, Eclipse (Software), Application Development, Data Visualization, Data Structures, Data Science, Data Cleansing, Debugging, Pivot Tables And Charts, Programming Principles, Python Programming, Computer Programming
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), Unit Testing, Test Driven Development (TDD), Programming Principles, Software Testing, Data Structures, Python Programming, Computer Programming, Development Environment, Integrated Development Environments, Debugging, Django (Web Framework), Cloud Hosting
Beginner · Course · 1 - 3 Months

Microsoft
Skills you'll gain: C# (Programming Language), Object Oriented Programming (OOP), Debugging, .NET Framework, Microsoft Visual Studio, Microsoft Copilot, Computer Programming, Integrated Development Environments, Development Environment, Event-Driven Programming
Beginner · Course · 1 - 3 Months
University of London
Skills you'll gain: Computer Science, Debugging, Development Environment, Computer Systems, Web Applications, Arithmetic, Computer Literacy, Javascript, Network Security, Computer Networking, Computer Programming Tools, Applied Mathematics, Computer Graphics, Web Design and Development, Software Development Tools, Cybersecurity, Computational Thinking, Computer Programming, General Mathematics, Problem Solving
Build toward a degree
Beginner · Specialization · 1 - 3 Months
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Software Documentation
Beginner · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Software Design Patterns, Debugging, Computer Programming, Unit Testing, Programming Principles, Algorithms, C (Programming Language), Integrated Development Environments, Graph Theory, Software Testing, Artificial Intelligence, Integration Testing, Software Design, System Design and Implementation, Game Design
Intermediate · Specialization · 3 - 6 Months
Dartmouth College
Skills you'll gain: Command-Line Interface, C (Programming Language), Linux Commands, Linux, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, Linux Servers, File Systems, System Programming, Algorithms, Computer Architecture, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months
Duke University
Skills you'll gain: File I/O, Java Programming, Software Design, Debugging, Software Engineering, Javascript, Computer Programming, Event-Driven Programming, Encryption, Algorithms, Image Analysis, AI Personalization, Program Development, Data Processing, Statistical Analysis, Data Import/Export, Predictive Modeling, Integrated Development Environments, Data Analysis, Cascading Style Sheets (CSS)
Beginner · Specialization · 3 - 6 Months