
Princeton University
Skills you'll gain: Programming Principles, Computer Programming, Object Oriented Programming (OOP), Performance Tuning, Data Structures, Java Programming, Java, Program Development, File I/O, Computational Thinking, Computer Science, Algorithms, Animations, Debugging
Beginner · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Software Design Patterns, Object Oriented Programming (OOP), C (Programming Language), Debugging, Algorithms, Graph Theory, Artificial Intelligence, Data Structures, Game Design
Intermediate · Course · 1 - 3 Months

Peking University
Skills you'll gain: C++ (Programming Language), File I/O, Object Oriented Programming (OOP), Computer Programming, Programming Principles, C (Programming Language), Software Design, Algorithms, Data Structures
Mixed · Course · 1 - 3 Months

Skills you'll gain: File I/O, C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Data Structures, C (Programming Language), Development Environment, Software Design Patterns, Computational Thinking, Computer Programming, Programming Principles, Data Persistence, Algorithms, Maintainability, Simulations, Data Management, Prototyping
Intermediate · Specialization · 1 - 3 Months

LearnQuest
Skills you'll gain: Unified Modeling Language, Object Oriented Programming (OOP), Object Oriented Design, Test Driven Development (TDD), Software Design Patterns, Software Design, Programming Principles, Computer Programming, Java Programming, Software Development Methodologies, Distributed Computing
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Programming Principles, C++ (Programming Language), C and C++, Computer Programming, Integrated Development Environments, Pseudocode, Computer Science
Beginner · Course · 1 - 4 Weeks

University of Geneva
Skills you'll gain: Data-oriented programming, Operating Systems, Simulation and Simulation Software
Intermediate · Course · 1 - 3 Months

University of London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Interactive Design, Program Development, File I/O, Command-Line Interface, Control Panels, Development Environment, Debugging
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

University of Alberta
Skills you'll gain: Object Oriented Design, Unified Modeling Language, Software Design, Software Design Patterns, Object Oriented Programming (OOP), Java, Maintainability, Application Design
Intermediate · Course · 1 - 4 Weeks

Infosec
Skills you'll gain: Secure Coding, Computer Programming Tools, C and C++, C++ (Programming Language), Software Development Tools, C (Programming Language), Debugging
Mixed · Course · 1 - 4 Weeks

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

University of Michigan
Skills you'll gain: Finite Element Methods, Engineering Analysis, Numerical Analysis, Mathematical Modeling, Advanced Mathematics, C++ (Programming Language), Object Oriented Programming (OOP)
Intermediate · Course · 3 - 6 Months