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

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

University of Michigan
Skills you'll gain: C (Programming Language), C++ (Programming Language), Object Oriented Programming (OOP), Data Structures, Programming Principles, Algorithms, Computer Programming, Software Design, Application Security, Other Programming Languages, Python Programming, Java Programming, System Programming, Computer Architecture, Performance Tuning, Unix, Computer Science, Debugging
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Field-Programmable Gate Array (FPGA), Hardware Design, Verification And Validation, Electronic Systems, Embedded Systems, Electronics Engineering, Application Specific Integrated Circuits, Electronic Hardware, Electronics, Systems Design, Software Design, Program Development, Integrated Development Environments, System Design and Implementation, Computer Architecture, Eclipse (Software), Computational Logic, Hardware Architecture, Software Development, Computer Engineering
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Real-Time Operating Systems, Embedded Systems, Reliability, Software Systems, Performance Tuning, Embedded Software, Control Systems, Hardware Architecture, Systems Architecture, Software Design, Debugging, Verification And Validation, Software Architecture, Hardware Design, System Design and Implementation, Linux, System Programming, Code Review, Systems Engineering, Real Time Data
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Programming Principles, Data Modeling, Data Integrity, Application Development, Data Maintenance, Debugging
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Scenario Testing, Test Planning, Unit Testing, Functional Testing, Test Case, Hardware Troubleshooting
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Debugging, Computational Thinking, Programming Principles, Program Development, Application Design, Command-Line Interface, Algorithms
Mixed · 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

Skills you'll gain: C (Programming Language), Game Design, Programming Principles, Program Development, Computational Logic, Data Validation, Command-Line Interface, User Interface (UI), Data Structures
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
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Software Documentation
Beginner · Course · 1 - 3 Months