Skills you'll gain: Embedded Software, C (Programming Language), Embedded Systems, Debugging, Peripheral Devices, Memory Management, Integrated Development Environments, Computer Programming Tools, Development Environment, System Programming, Software Development Tools, Program Development, Hardware Architecture, Systems Architecture, Eclipse (Software), Data Structures, Build Tools, C and C++, Programming Principles, Microarchitecture
Intermediate · Specialization · 3 - 6 Months

Logical Operations
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Data Structures, File I/O, Debugging, Data Processing, Application Development, Code Reusability, Maintainability, File Management, File Systems, Programming Principles, Computer Programming, Python Programming, System Configuration, Operating Systems, Software Development, Virtual Machines, Cross Platform Development
Beginner · Specialization · 1 - 3 Months
University of London
Skills you'll gain: Computer Science, Debugging, Development Environment, Computer Systems, Web Applications, Arithmetic, Computer Literacy, General Networking, Javascript, Network Security, Computer Networking, Application Security, Computational Thinking, Computer Programming Tools, Applied Mathematics, Computer Graphics, Computer Programming, General Mathematics, Numerical Analysis, Problem Solving
Build toward a degree
Beginner · Specialization · 1 - 3 Months
Dartmouth College
Skills you'll gain: Memory Management, Command-Line Interface, C (Programming Language), Linux Commands, Linux, Computer Programming Tools, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, C and C++, Linux Servers, Algorithms, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

Logical Operations
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Database Application, Python Programming, Unit Testing, Computer Programming, Restful API, Cross Platform Development, Package and Software Management, Scripting, Data Science, Program Development, Computer Programming Tools, Software Development, Data Processing, Debugging, Programming Principles, User Interface (UI) Design, Regression Analysis, Machine Learning
Intermediate · Specialization · 1 - 3 Months

Princeton University
Skills you'll gain: Programming Principles, Computer Programming, Object Oriented Design, Object Oriented Programming (OOP), Data Structures, Code Reusability, Java Programming, Java, Program Development, File I/O, Computational Thinking, Computer Science, Algorithms, Theoretical Computer Science, Animations, Simulations
Beginner · Course · 1 - 3 Months
Multiple educators
Skills you'll gain: Unit Testing, Data Structures, Event-Driven Programming, File I/O, Interactive Data Visualization, Java, Java Programming, Object Oriented Design, Object Oriented Programming (OOP), User Interface (UI), Debugging, Software Testing, Computer Programming, Cryptography, Software Engineering, Bioinformatics, Algorithms, Data Analysis, Software Design, Problem Solving
Beginner · Specialization · 3 - 6 Months

The Hong Kong University of Science and Technology
Skills you'll gain: Software Design Patterns, Requirements Analysis, White-Box Testing, Systems Development Life Cycle, Software Architecture, Acceptance Testing, Software Development Methodologies, Unified Modeling Language, Software Development Life Cycle, Configuration Management, Software Quality Assurance, Debugging, Software Engineering, Software Testing, Object Oriented Design, Functional Requirement, Data Modeling, Systems Design, Project Management, Project Planning
Intermediate · Specialization · 3 - 6 Months

University of Pennsylvania
Skills you'll gain: File I/O, Matplotlib, Object Oriented Design, Java, Object Oriented Programming (OOP), Data Analysis, Unit Testing, Pandas (Python Package), Java Programming, Eclipse (Software), Application Development, Data Visualization, Data Structures, Data Science, Data Cleansing, Debugging, Programming Principles, Computer Programming Tools, Python Programming, Computer Programming
Beginner · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, Object Oriented Programming (OOP), Object Oriented Design, Algorithms, C (Programming Language), Programming Principles, Computer Programming, Graph Theory, Code Reusability, Memory Management, Data Structures, File I/O
Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: C (Programming Language), Programming Principles, C and C++, C++ (Programming Language), Algorithms, Memory Management, Data Structures, Other Programming Languages, Numerical Analysis
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: File I/O, C and C++, Data Import/Export, C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Data Validation, Programming Principles, Computer Programming, Data Integrity, Data Structures, Code Reusability, File Management, Data Store, Memory Management, Software Documentation, Computer Science, Maintainability, Computational Logic, Development Environment
Beginner · Specialization · 3 - 6 Months