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 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

Skills you'll gain: Data Manipulation, Web Scraping, R Programming, Data Analysis, Data Science, Data Structures, Data Import/Export, Exploratory Data Analysis, Programming Principles, Jupyter, Integrated Development Environments
Beginner · Course · 1 - 3 Months

University of Pennsylvania
Skills you'll gain: Computational Thinking, Algorithms, Program Development, Pseudocode, Problem Solving, Python Programming, Data Structures, Computer Hardware, Computer Programming, Object Oriented Programming (OOP), Analysis, Debugging
Beginner · Course · 1 - 4 Weeks

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), Program Development, Integrated Development Environments, Graph Theory, Software Testing, Artificial Intelligence, Integration Testing, Software Design, System Design and Implementation
Intermediate · Specialization · 3 - 6 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 Washington
Skills you'll gain: Software Installation, Programming Principles, Other Programming Languages, Functional Design, Computer Programming, Ruby (Programming Language), Theoretical Computer Science, Software Design, Computational Thinking
Intermediate · Course · 1 - 3 Months

IBM
Skills you'll gain: Data Storytelling, Dashboard, Data Presentation, Plotly, Data Visualization Software, Web Scraping, Data Visualization, Exploratory Data Analysis, Generative AI, SQL, Data Wrangling, Interactive Data Visualization, Data Analysis, Data Manipulation, IBM Cognos Analytics, Excel Formulas, Professional Networking, Data Import/Export, Microsoft Excel, Python Programming
Build toward a degree
Beginner · Professional Certificate · 3 - 6 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

University of Pennsylvania
Skills you'll gain: File I/O, Data Structures, Programming Principles, Python Programming, Computer Programming, Computational Thinking, Scripting, Software Development Tools, Scripting Languages, Integrated Development Environments, Jupyter
Beginner · 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

Microsoft
Skills you'll gain: Version Control, GitHub, Debugging, Git (Version Control System), Unit Testing, Data Structures, Data Manipulation, Python Programming, Software Testing, Scripting, Computer Programming, Web Development, Algorithms, Integrated Development Environments, Object Oriented Programming (OOP), Jupyter
Beginner · 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