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), Build Tools, Software Development Tools, C (Programming Language), Development Environment, Software Design, Hardware Architecture, Cross Platform Development, Debugging
Intermediate · Course · 1 - 4 Weeks

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: Field-Programmable Gate Array (FPGA), Hardware Design, Electronic Hardware, Electronic Systems, Embedded Systems, Application Specific Integrated Circuits, Eclipse (Software), Technical Design, Electronics Engineering, 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, Functional Design
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

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

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 Boulder
Skills you'll gain: Real-Time Operating Systems, Embedded Systems, Embedded Software, Hardware Architecture, Electronic Systems, Performance Tuning, Systems Architecture, Software Architecture, Verification And Validation, System Programming, Debugging, Real Time Data, System Design and Implementation, Software Technical Review, Systems Engineering, Operating Systems, Software Design, System Software, Ubuntu, Software Systems
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

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

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

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