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, Memory Management, Development Environment, Programming Principles, Computer Programming Tools, Computer Programming, Integrated Development Environments, Data Structures, Software Installation
Beginner · Course · 1 - 3 Months

Skills you'll gain: Data Import/Export, Python Programming, NumPy, Scripting, Data Collection, Data Analysis
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: Rust (Programming Language), Containerization, Data Pipelines, CI/CD, Docker (Software), Jenkins, Application Deployment, DevOps, LLM Application, Continuous Integration, Hugging Face, Unit Testing, Large Language Modeling, Test Case, Restful API, Serverless Computing, Command-Line Interface, Natural Language Processing, Computer Programming, Cloud Computing
Beginner · Specialization · 3 - 6 Months

Sage Publications
Skills you'll gain: Data Visualization, Matplotlib, Plot (Graphics), Web Scraping, Scientific Visualization, Data Processing, Data Collection, Social Sciences, Social Impact, Data Analysis, Data Ethics, File I/O, Research, Programming Principles, Program Development, Social Justice, Python Programming, Computer Programming, Data Manipulation, Research Reports
Beginner · Course · 3 - 6 Months

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

University of London
Skills you'll gain: Pseudocode, C++ (Programming Language), Object Oriented Programming (OOP), C and C++, Object Oriented Design, File I/O, Integrated Development Environments, Computer Programming, Development Environment, Programming Principles, Data Structures, Program Development, Algorithms, Interactive Design, Data Modeling, FinTech, Application Development, Software Engineering, Test Data, Verification And Validation
Build toward a degree
Intermediate · Specialization · 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), Object Oriented Design, Programming Principles, Software Design Patterns, Debugging, Computer Programming, C and C++, Unit Testing, C (Programming Language), Software Design, Program Development, Algorithms, Graph Theory, Software Testing, Code Reusability, Memory Management
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), File I/O, Data Persistence, Object Oriented Design, Java, Java Programming, File Management, Memory Management, Code Reusability, Application Development, File Systems, Maintainability, Computer Programming, Software Design, Development Environment, Program Development, Programming Principles, Computer Programming Tools, Data Structures, Integrated Development Environments
Beginner · Specialization · 3 - 6 Months
Dartmouth College
Skills you'll gain: Memory Management, Command-Line Interface, C (Programming Language), Linux Commands, Linux, Computer Programming Tools, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, C and C++, Linux Servers, Algorithms, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Computer Programming, C and C++, Algorithms, C (Programming Language), Software Design, Program Development, Graph Theory, Code Reusability, Computational Logic, Artificial Intelligence, Data Structures, Memory Management, File I/O, Simulations
Beginner · Specialization · 3 - 6 Months
Duke University
Skills you'll gain: File I/O, UI Components, Object Oriented Design, Java Programming, Software Design, Maintainability, Debugging, Web Design and Development, Software Engineering, Code Reusability, Hypertext Markup Language (HTML), Computer Programming, Program Development, Event-Driven Programming, Bioinformatics, Encryption, Javascript, Algorithms, Data Analysis, Cascading Style Sheets (CSS)
Beginner · Specialization · 3 - 6 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