Skills you'll gain: Embedded Software, C (Programming Language), Embedded Systems, Debugging, Peripheral Devices, Integrated Development Environments, Development Environment, Electronic Hardware, System Programming, Electronics, Software Development Tools, Program Development, Hardware Architecture, Data Structures, Microarchitecture, System Configuration, Programming Principles, Performance Tuning, Computer Architecture, Computer Programming
Intermediate · Specialization · 3 - 6 Months

EDUCBA
Skills you'll gain: C (Programming Language), Embedded Systems, Embedded Software, Debugging, System Programming, Hardware Architecture, Microarchitecture, Computer Architecture, Data Structures, Peripheral Devices
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Software Configuration Management, Embedded Software, Embedded Systems, Git (Version Control System), Version Control, Build Tools, Software Development Tools, C (Programming Language), Development Environment, Program Development, Software Design, Hardware Architecture, Debugging, Command-Line Interface
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Code Coverage, Embedded Software, Real-Time Operating Systems, Performance Testing, System Testing, Software Testing, User Acceptance Testing (UAT), Verification And Validation, Embedded Systems, Scenario Testing, Acceptance Testing, Test Tools, Test Execution Engine, Unit Testing, Test Case, Test Planning, Integration Testing, Simulations, System Requirements, Real Time Data
Advanced · Course · 1 - 4 Weeks

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

Skills you'll gain: Embedded Software, Embedded Systems, Computer Hardware, Hardware Architecture, Internet Of Things, System Software, Peripheral Devices, C (Programming Language), Software Architecture, Simulations, Development Environment, Debugging, Systems Integration
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Agile Methodology, Scrum (Software Development), System Programming, Embedded Software, Software Testing, Embedded Systems, Linux, Agile Software Development, Docker (Software), Git (Version Control System), Linux Commands, Linux Administration, Operating Systems, Shell Script, C++ (Programming Language), Debugging, File Systems, Internet Of Things, OS Process Management, Peripheral Devices
Intermediate · Specialization · 1 - 3 Months

Skills you'll gain: Embedded Software, Embedded Systems, System Programming, Cross Platform Development, Hardware Architecture, Peripheral Devices, Serial Peripheral Interface, Performance Tuning, Software Design, Real Time Data, Technical Design, C (Programming Language), Debugging, System Configuration, Maintainability, Scalability, Data Mapping
Advanced · Course · 1 - 4 Weeks

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, System Programming, Computer Architecture, Java, Performance Tuning, Unix, Computer Science, Debugging
Intermediate · Specialization · 3 - 6 Months

University of California, Irvine
Skills you'll gain: Test Planning, Embedded Systems, Linux, Internet Of Things, Embedded Software, Basic Electrical Systems, Automation Engineering, Electronics, Functional Requirement, Operating System Administration, Electronic Components, Systems Design, Operating Systems, Network Protocols, Control Systems, Debugging, Electronic Hardware, Application Programming Interface (API), TCP/IP, Python Programming
Beginner · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Computational Thinking, Data Collection, Simulations, Data Analysis, Microsoft Visual Studio, C (Programming Language), Analysis, Automation, Program Development, Data Structures, Programming Principles, Algorithms, Computer Programming, Theoretical Computer Science, Data Storage, Data Store, Descriptive Statistics, Problem Management, Data Visualization Software, File Management
Beginner · Specialization · 3 - 6 Months
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