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 California, Santa Cruz
Skills you'll gain: Programming Principles, Program Development, Computational Logic, Memory Management
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, Applied Mathematics, Computer Graphics, Computer Programming, General Mathematics, Numerical Analysis, Problem Solving
Build toward a degree
Beginner · Specialization · 1 - 3 Months

Johns Hopkins University
Skills you'll gain: R (Software), Statistical Analysis, R Programming, Statistical Programming, Statistical Methods, Data Analysis, Debugging, Simulations, Program Development, Programming Principles, Software Installation, Data Structures, Performance Tuning, Data Import/Export
Intermediate · Course · 1 - 4 Weeks
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

Skills you'll gain: Object Oriented Programming (OOP), Unit Testing, Test Driven Development (TDD), Test Script Development, Programming Principles, Software Testing, Data Structures, Python Programming, Program Development, Computer Programming, Development Environment, Debugging, Django (Web Framework), Functional Design, Package and Software Management, Cloud Hosting
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), File I/O, Software Design, Debugging, Object Oriented Design, Data Processing, Diagram Design, Unit Testing, Programming Principles, Python Programming, Data Import/Export, Data Wrangling, Restful API, Image Analysis, Software Visualization, Data Manipulation, Jupyter, Computer Programming
Beginner · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, C and C++, Object Oriented Programming (OOP), Object Oriented Design, Software Design Patterns, Debugging, Computer Programming, Programming Principles, Unit Testing, Algorithms, C (Programming Language), Program Development, Software Design, Graph Theory, Software Testing, Computer Science, Code Reusability
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Java Programming, Java, Performance Tuning, System Programming, Code Reusability, Application Performance Management, Algorithms, JUnit, OS Process Management, Application Frameworks, Frontend Performance, Frontend Integration, Programming Principles, Spring Boot
Beginner · Course · 1 - 3 Months
Duke University
Skills you'll gain: File I/O, UI Components, Java Programming, Object Oriented Design, Software Design, Debugging, Web Design and Development, Software Engineering, Code Reusability, Hypertext Markup Language (HTML), Computer Programming, Program Development, Event-Driven Programming, Bioinformatics, Encryption, Computer Programming Tools, Javascript, Algorithms, Data Analysis, Cascading Style Sheets (CSS)
Beginner · Specialization · 3 - 6 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Data Structures, Programming Principles, Algorithms, Performance Tuning, Functional Design, Machine Learning Algorithms, Performance Testing, Unsupervised Learning, Computer Programming
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Threat Modeling, Network Security, Threat Management, Vulnerability Management, Intrusion Detection and Prevention, Hardening, Computer Security Incident Management, Security Management, Cyber Threat Intelligence, Security Awareness, Incident Response, Cybersecurity, Network Protocols, Endpoint Detection and Response, Bash (Scripting Language), Debugging, Linux, Web Presence, Python Programming, SQL
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months
University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), File I/O, Data Structures, Programming Principles, Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, Unit Testing, C (Programming Language), Program Development, Computer Science, Software Testing, Algorithms, Code Reusability, Graph Theory, C and C++, Computational Logic, Memory Management, Software Design
Intermediate · Specialization · 3 - 6 Months