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.

Johns Hopkins University
Skills you'll gain: Memory Management, Performance Tuning, System Programming, Hardware Architecture, Program Development, Computer Architecture, Performance Testing, Computer Hardware, Algorithms
Intermediate · Course · 1 - 3 Months
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Program Development, Computational Logic, Memory Management
Beginner · Course · 1 - 3 Months

Skills you'll gain: Version Control, Cloud Management, Test Automation, Infrastructure As A Service (IaaS), Cloud Computing, Cloud Infrastructure, Virtual Machines, Development Testing, Test Script Development, Scripting, Network Troubleshooting, Cloud Services, Email Automation, Web Presence, Python Programming, CI/CD, Configuration Management, Program Development, Containerization, Unit Testing
Build toward a degree
Advanced · Professional Certificate · 3 - 6 Months

Skills you'll gain: Cloud Deployment, Unit Testing, Software Development Life Cycle, Open Web Application Security Project (OWASP), Object-Relational Mapping, OpenShift, Istio, Kubernetes, Cloud-Native Computing, Linux Commands, Software Architecture, Application Deployment, Django (Web Framework), Bash (Scripting Language), Shell Script, Git (Version Control System), Grafana, Microservices, Data Import/Export, Python Programming
Beginner · Professional Certificate · 3 - 6 Months

Princeton University
Skills you'll gain: Programming Principles, Computer Programming, Object Oriented Design, Object Oriented Programming (OOP), Performance Tuning, Data Structures, Code Reusability, Other Programming Languages, Java Programming, Java, Program Development, Computational Thinking, Computer Science, Algorithms, Theoretical Computer Science, Animations
Beginner · Course · 1 - 3 Months
University of London
Skills you'll gain: Computer Science, Debugging, Development Environment, Computer Systems, Web Applications, Arithmetic, Computer Literacy, General Networking, Javascript, Network Security, Computer Networking, Application Security, Computational Thinking, Computer Programming Tools, Visualization (Computer Graphics), Applied Mathematics, Computer Programming, General Mathematics, Numerical Analysis, Problem Solving
Build toward a degree
Beginner · Specialization · 1 - 3 Months

University of Michigan
Skills you'll gain: C (Programming Language), Programming Principles, C and C++, C++ (Programming Language), Algorithms, Memory Management, Data Structures, Other Programming Languages, System Programming, Computer Programming, Python Programming, Numerical Analysis
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Prompt Engineering, Prompt Patterns, Responsible AI, Generative AI, Machine Learning Methods, Generative AI Agents, IBM Cloud, Generative Model Architectures, Prompt Engineering Tools, ChatGPT, Risking, AI Workflows, Application Deployment, AI literacy, Machine Learning Software, Business Workflow Analysis, Workflow Management, Machine Learning, Deep Learning, Data Science
Beginner · Specialization · 3 - 6 Months

Microsoft
Skills you'll gain: Version Control, Git (Version Control System), Debugging, GitHub, Unit Testing, Code Reusability, Python Programming, Data Structures, Scripting, Programming Principles, Algorithms, Jupyter
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: Debugging, File I/O, Memory Management, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Test Planning, Simulations, Test Case, System Programming, Computer Programming, Data Structures, Software Development, C and C++, Software Engineering, Problem Solving, Software Design
Beginner · Specialization · 3 - 6 Months
Duke University
Skills you'll gain: File I/O, UI Components, Object Oriented Design, Java Programming, Software Design, Debugging, Web Design and Development, Software Engineering, Code Reusability, Hypertext Markup Language (HTML), Computer Programming, Program Development, Event-Driven Programming, Bioinformatics, Encryption, Image Analysis, Javascript, Algorithms, Data Analysis, Cascading Style Sheets (CSS)
Beginner · Specialization · 3 - 6 Months

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