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

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, Unit Testing
Build toward a degree
Intermediate · Specialization · 1 - 3 Months

University of Michigan
Skills you'll gain: Database Design, Data Processing, Web Scraping, Data Visualization, Relational Databases, Restful API, Web Services, SQL, Databases, Data Visualization Software, JSON, Interactive Data Visualization, Extensible Markup Language (XML), Data Structures, Programming Principles, Data Cleansing, Network Protocols, Data Analysis, Python Programming, Computer Programming
Build toward a degree
Beginner · Specialization · 3 - 6 Months
University of Michigan
Skills you'll gain: Programming Principles, Computer Programming, Python Programming, Computational Thinking, Software Installation, Development Environment
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Computational Thinking, Programming Principles, Problem Solving, Computer Science, Disaster Recovery, Algorithms, Computer Programming, Public Health
Beginner · Course · 1 - 3 Months

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, Programming Principles, Computer Programming Tools, Python Programming, Computer Programming
Beginner · Specialization · 3 - 6 Months

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

Princeton University
Skills you'll gain: Theoretical Computer Science, Data Structures, Computer Science, Computer Architecture, Algorithms, Programming Principles, Computational Logic, Java Programming, Computer Hardware, Scalability
Intermediate · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Apache Spark, Scala Programming, Distributed Computing, Big Data, Data Manipulation, Data Processing, Performance Tuning, Data Persistence, SQL, Data Analysis
Intermediate · Course · 1 - 4 Weeks

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 Colorado System
Skills you'll gain: Computational Thinking, File I/O, Data Collection, Simulations, Data Analysis, Microsoft Visual Studio, C (Programming Language), Statistical Analysis, Automation, Program Development, Data Structures, Programming Principles, Algorithms, Computer Programming, Theoretical Computer Science, Data Storage, Descriptive Statistics, Data Visualization Software, Debugging
Beginner · Specialization · 3 - 6 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