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.

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Scalability, Distributed Computing, Dataflow, Event-Driven Programming, Microservices, System Design and Implementation, Software Architecture, Data Pipelines, Software Design Patterns, Software Design, Functional Design, Cloud Computing
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Secure Coding, Maintainability, Hardening, Java Programming, Software Design Patterns, Application Security, Software Design, Java, Software Architecture, Memory Management, Object Oriented Design, API Design, Code Reusability, Software Development, Object Oriented Programming (OOP), Functional Design, Application Programming Interface (API), Interoperability, System Programming, C (Programming Language)
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Programmable Logic Controllers, Automation Engineering, Machine Controls, Computer Hardware, Electrical Wiring, Computational Logic, Control Systems, Automation, Simulation and Simulation Software, TCP/IP, Data Storage, Communication Systems, Applied Mathematics, Memory Management
Beginner · Course · 1 - 3 Months

California Institute of the Arts
Skills you'll gain: User Interface and User Experience (UI/UX) Design, User Experience, User Experience Design, User Interface (UI), Adobe XD, User Interface (UI) Design, User Centered Design, Interaction Design, Prototyping, Wireframing, User Research, Design Research, User Flows, Application Design, Information Architecture, Ideation, Adobe InDesign, Adobe Illustrator
Beginner · Course · 1 - 3 Months

Skills you'll gain: Integrated Development Environments, Development Environment, Java Programming, Computer Programming Tools, Software Development Tools, Program Development, Java, Debugging, Programming Principles, Code Reusability, Software Installation, Computer Programming, Object Oriented Programming (OOP), Computational Thinking, Data Structures, Computational Logic
Beginner · Course · 1 - 4 Weeks
University of Toronto
Skills you'll gain: Bioinformatics, Network Analysis, Laboratory Reports, Molecular Biology, Research Reports, Molecular, Cellular, and Microbiology, Biology, R (Software), Informatics, Correlation Analysis, Data Visualization Software, Biotechnology, Scientific Visualization, Network Model, Data Analysis Software, Data Synthesis, Life Sciences, Data Analysis, Microbiology, Analysis
Beginner · Specialization · 3 - 6 Months

University of California San Diego
Skills you'll gain: Data Modeling, Data Infrastructure, Data Store, Data Architecture, Big Data, Data Management, Database Management Systems, Real Time Data, NoSQL, Database Design, Database Management, Database Software, Data Processing, Apache Hadoop, Query Languages, Relational Databases, Data Structures, Virtual Environment
Mixed · Course · 1 - 3 Months

Skills you'll gain: iOS Development, Apple iOS, Swift Programming, User Interface (UI), Apple Xcode, User Interface (UI) Design, Data Persistence, UI Components, Mobile Development, Programming Principles, Unit Testing, Application Development, Data Store, Mobile Development Tools, Software Testing, Apple software proficiency, Generative AI Agents, JSON, Mac OS, Storyboarding
Beginner · Course · 3 - 6 Months

University of California, Irvine
Skills you'll gain: Object Oriented Programming (OOP), C (Programming Language), Python Programming, Data Import/Export, Memory Management, File I/O, Computational Logic, Network Protocols, Package and Software Management
Intermediate · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Unit Testing, Data Structures, Java, Java Programming, Software Testing, Program Development, Performance Tuning, Algorithms, Performance Testing, Object Oriented Programming (OOP), Theoretical Computer Science
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Java, Object Oriented Design, Java Programming, Maintainability, Software Design, Data Structures, Software Architecture, Memory Management, Code Reusability, Programming Principles, Data Management, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Java Programming, Java, Software Architecture, Memory Management, Code Reusability, Software Design, Maintainability, Application Design, Programming Principles, Secure Coding, User Interface (UI) Design, Javascript
Beginner · Course · 3 - 6 Months