
Skills you'll gain: Data Structures, Development Environment, C++ (Programming Language), Debugging, Computational Thinking, Integrated Development Environments, Computer Programming
Beginner · Course · 1 - 4 Weeks

University of Illinois Urbana-Champaign
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Development Environment, Engineering Software, Computer Programming, Data Structures, Debugging, Program Development
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Linux, Linux Commands, C (Programming Language), System Programming, Command-Line Interface, Programming Principles, Development Environment, Computer Programming Tools, Data Structures, Program Development, Debugging
Mixed · Course · 1 - 3 Months

Skills you'll gain: C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, Programming Principles, Maintainability, Data Validation
Intermediate · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Debugging, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Pseudocode, Simulations, System Programming, Computer Programming, Data Structures, Software Development, Software Engineering, Command-Line Interface, Operating Systems, Development Environment, User Interface (UI), Problem Solving, Software Design
Beginner · Specialization · 3 - 6 Months

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

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

Skills you'll gain: Software Design, Programming Principles
Intermediate · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: C++ (Programming Language), Programming Principles, Data Structures, Computer Programming, Game Design, Development Environment, Debugging
Beginner · Course · 1 - 3 Months

Infosec
Skills you'll gain: Secure Coding, Application Security, Computer Programming Tools, System Programming, C++ (Programming Language), C (Programming Language), Software Development Tools, Exploit development, Debugging, Programming Principles, Embedded Systems, Interoperability, Unix, Vulnerability Assessments, Unix Commands, Operating Systems, Data Security, Linux, Microsoft Windows, Data Validation
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Data Structures, Software Design Patterns, Programming Principles, File Management, Algorithms, Simulations
Advanced · Course · 1 - 4 Weeks
Dartmouth College
Skills you'll gain: Command-Line Interface, C (Programming Language), Linux Commands, Linux, Embedded Systems, Embedded Software, Programming Principles, Computer Engineering, Linux Servers, File Systems, System Programming, Build Tools, Data Structures, Algorithms, Computer Architecture, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months