Skills you'll gain: Embedded Software, C (Programming Language), Embedded Systems, Debugging, Peripheral Devices, Integrated Development Environments, Computer Programming Tools, Development Environment, System Programming, Electronics, Software Development Tools, Hardware Architecture, Data Structures, Electronic Hardware, Microarchitecture, Programming Principles, Performance Tuning, Computer Architecture, Control Systems, Computer Programming
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

Skills you'll gain: Debugging, C++ (Programming Language), Software Documentation, API Design, Program Development, Pseudocode, Software Architecture, Software Design, Maintainability, Computational Thinking, System Programming, Data Structures, Programming Principles, Object Oriented Programming (OOP), Computer Programming, Generative AI Agents, Integrated Development Environments, Technical Documentation, Generative AI, Application Development
Beginner · Professional Certificate · 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, Software Architecture, Verification And Validation, 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

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), File I/O, Linux Commands, Linux Servers, System Software, Linux Administration, Operating Systems, Bash (Scripting Language), Shell Script, C++ (Programming Language), Real-Time Operating Systems
Intermediate · Specialization · 1 - 3 Months

Microsoft
Skills you'll gain: Debugging, C# (Programming Language), Event-Driven Programming, Version Control, Microsoft Copilot, Application Deployment, Git (Version Control System), Object Oriented Programming (OOP), Web Content Accessibility Guidelines, Software Design Patterns, Software Architecture, .NET Framework, Application Development, Microsoft Visual Studio, Software Design, Program Development, Data Validation, Microsoft Development Tools, Security Testing, Software Development Tools
Beginner · Professional Certificate · 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, Software Technical Review, Software Design, Hardware Architecture, Computer Architecture, Debugging
Intermediate · 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

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Programming Principles, Software Design Patterns, Computer Programming, Algorithms, C (Programming Language), Graph Theory, Debugging, Artificial Intelligence, Data Structures, Game Design, Software Documentation
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

Skills you'll gain: Embedded Software, Embedded Systems, Pseudocode, Hardware Architecture, Computer Architecture, Software Design, Systems Design, Software Design Patterns, Systems Integration, Programming Principles, Event-Driven Programming, Program Development, Real Time Data, Peripheral Devices
Beginner · Course · 1 - 4 Weeks