
Peking University
Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Algorithms, File I/O, Data Structures, C (Programming Language), Program Development, Computer Programming, Application Development, Software Design, Computational Thinking, Mathematical Modeling, Database Systems, Performance Tuning, File Systems, Maintainability, Information Management, Software Engineering, Graph Theory, Debugging
Beginner · 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: C (Programming Language), Software Documentation, Programming Principles, Computer Programming, Debugging, Development Environment, Engineering Calculations
Beginner · Course · 1 - 3 Months

Peking University
Mixed · Course · 3 - 6 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: C (Programming Language), Computer Programming, Computational Thinking, Data Structures, Algorithms, Operating Systems, File Systems, Computer Hardware, Debugging, Data Management
Build toward a degree
Beginner · Course · 1 - 3 Months

Skills you'll gain: Embedded Systems, Embedded Software, C (Programming Language), Programming Principles, Data Structures, Computer Programming Tools, Development Environment, Debugging
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Computational Thinking, Data Storage
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Embedded Systems, Embedded Software, C (Programming Language), System Programming, Software Development
Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: Embedded Systems, C (Programming Language), Embedded Software, Data Structures, Programming Principles, Data Management, Performance Tuning, Software Development
Intermediate · Guided Project · Less Than 2 Hours

University of Colorado System
Skills you'll gain: Computational Thinking, Data Collection, Microsoft Visual Studio, Program Development, C (Programming Language), Programming Principles, Algorithms, Data Storage, Computer Programming
Beginner · Course · 1 - 4 Weeks

Dartmouth College
Skills you'll gain: C (Programming Language), Embedded Systems, Data Structures, System Programming, Algorithms, Computer Programming, Linux, Computer Programming Tools, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Game Design, Programming Principles, Debugging, Data Modeling, Computational Thinking, Data Integrity, Program Development, Application Development, Data Maintenance, Computational Logic, Data Validation, Command-Line Interface, Application Design, Animation and Game Design, User Interface (UI), Algorithms, Data Structures
Beginner · Specialization · 1 - 3 Months