University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), File I/O, Data Structures, Programming Principles, Object Oriented Programming (OOP), Debugging, Computer Programming, Unit Testing, C (Programming Language), Program Development, Integrated Development Environments, Computer Science, Software Testing, Algorithms, Integration Testing, Software Design, System Design and Implementation, Distributed Computing
Intermediate · Specialization · 3 - 6 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 London
Skills you'll gain: Pseudocode, C++ (Programming Language), Object Oriented Programming (OOP), C and C++, File I/O, Object Oriented Design, Integrated Development Environments, Computer Programming, Development Environment, Programming Principles, Debugging, Data Structures, Program Development, Algorithms, Interactive Design, Data Modeling, Model Evaluation, Software Engineering, Test Data, Data Validation
Build toward a degree
Intermediate · Specialization · 1 - 3 Months

Skills you'll gain: Computational Thinking, Data Storage
Intermediate · 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

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

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

Infosec
Skills you'll gain: Secure Coding, Computer Programming Tools, C and C++, Application Security, System Programming, C++ (Programming Language), C (Programming Language), Software Development Tools, Exploit development, Debugging, Interoperability, Unix, Embedded Systems, Vulnerability Assessments, Unix Commands, File I/O, Operating Systems, Data Security, Linux, Microsoft Windows
Intermediate · Specialization · 3 - 6 Months
Dartmouth College
Skills you'll gain: Command-Line Interface, C (Programming Language), Linux Commands, Linux, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, Linux Servers, File Systems, System Programming, Algorithms, Computer Architecture, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

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

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 California, Irvine
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, C (Programming Language), Electronic Components, Computer Hardware, Integrated Development Environments, Computer Programming, Electronics Engineering, Network Protocols, Development Environment, Digital Communications, Open Source Technology
Mixed · Course · 1 - 4 Weeks