
Skills you'll gain: Computational Thinking, Algorithms, Graph Theory, Data Structures, C++ (Programming Language), C and C++, Programming Principles, Computer Programming, Object Oriented Programming (OOP), Technical Design, Theoretical Computer Science
Intermediate · Specialization · 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

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

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

University of California, Irvine
Skills you'll gain: Linux, Operating System Administration, Operating Systems, Integrated Development Environments, File Systems, Internet Of Things, Development Environment, Embedded Systems, Python Programming, OS Process Management, Computer Hardware, UI Components, Computer Programming
Mixed · Course · 1 - 4 Weeks

The University of Edinburgh
Skills you'll gain: Software Engineering, Programming Principles, Animation and Game Design, Software Development, Software Design, Event-Driven Programming, Computer Programming, Computational Thinking, Debugging, Algorithms
Beginner · Course · 1 - 3 Months

National Taiwan University
Skills you'll gain: Programming Principles, Computer Programming, C (Programming Language), Data Structures, Computer Science, Algorithms, Computational Logic, Functional Specification, Command-Line Interface, Debugging, Data Validation
Mixed · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), C and C++, Object Oriented Design, Computer Programming, Software Design Patterns, Programming Principles, Debugging
Intermediate · Course · 1 - 3 Months

Arizona State University
Skills you'll gain: Supervised Learning, Unsupervised Learning, Matplotlib, File I/O, Generative Adversarial Networks (GANs), NumPy, Object Oriented Programming (OOP), Deep Learning, Image Analysis, Plot (Graphics), Machine Learning Algorithms, Object Oriented Design, Applied Machine Learning, Integrated Development Environments, Pandas (Python Package), Python Programming, Machine Learning, Event-Driven Programming, Programming Principles, Computer Programming
Beginner · Specialization · 3 - 6 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

Simplilearn
Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Computer Programming, Programming Principles, Algorithms, Data Structures, Data Manipulation
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: System Programming, Embedded Systems, Linux, File I/O, Linux Commands, Linux Servers, Operating Systems, Bash (Scripting Language), Shell Script, OS Process Management, Build Tools, C and C++, Cross Platform Development, Debugging, Electrical Engineering
Advanced · Course · 1 - 4 Weeks