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: Object Oriented Programming (OOP), Unit Testing, Test Driven Development (TDD), Programming Principles, Software Testing, Data Structures, Python Programming, Computer Programming, Development Environment, Debugging, Integrated Development Environments, Django (Web Framework), Cloud Hosting
Beginner · Course · 1 - 3 Months
Multiple educators
Skills you'll gain: Unit Testing, Data Structures, Event-Driven Programming, File I/O, Interactive Data Visualization, Java, Java Programming, User Interface (UI), Object Oriented Programming (OOP), JUnit, Debugging, Object Oriented Design, Computer Programming, Cryptography, Software Engineering, Performance Tuning, Algorithms, Data Analysis, Software Design, Problem Solving
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Java Programming, Java, Development Environment, Computer Programming, Integrated Development Environments, Object Oriented Programming (OOP), Data Structures, File I/O, Debugging
Beginner · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Apache Spark, User Interface (UI), Distributed Computing, Programming Principles, Big Data, Software Design, Data Structures, Software Design Patterns, Functional Design, Data Manipulation, Object Oriented Programming (OOP), Heat Maps, Data Visualization Software, Interactive Data Visualization, Computer Programming, Data Processing, Geospatial Information and Technology, Performance Tuning, Algorithms
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Swift Programming, Apple iOS, iOS Development, Software Design Patterns, Object Oriented Programming (OOP), Maintainability, Data Modeling, Application Design, Programming Principles, Testability, User Interface (UI)
Beginner · Course · 1 - 4 Weeks
University of Michigan
Skills you'll gain: Debugging, Programming Principles, Computer Programming, Python Programming, Integrated Development Environments, Computer Programming Tools, Computational Thinking, Software Installation
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
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

Johns Hopkins University
Skills you'll gain: Statistical Analysis, R Programming, Statistical Programming, Data Analysis, Debugging, Simulations, Computer Programming Tools, Programming Principles, Data Manipulation, Data Structures, Performance Tuning, Data Import/Export
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Program Development, Programming Principles, Python Programming, Computer Programming, Computational Thinking, Problem Management, Data Structures, Integrated Development Environments, Debugging, Development Environment
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: Programming Principles, Algorithms, C (Programming Language), Computer Programming, Software Engineering, Problem Solving, Solution Design
Beginner · Course · 1 - 4 Weeks

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