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, Electronic Hardware, Laboratory Experience, Application Specific Integrated Circuits, Embedded Software, Systems Design, Embedded Systems, Electronics Engineering, Electronic Systems, Electrical and Computer Engineering, Test Case, Verification And Validation, Engineering Documentation, Debugging, Computer Architecture, Software Development, Software Development Tools, Integrated Development Environments, Hardware Architecture
Build toward a degree
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, User Requirements Documents, Electronics, Functional Requirement, Operating System Administration, Electronic Components, Serial Peripheral Interface, Systems Design, Operating Systems, Requirements Analysis, Network Protocols, Application Programming Interface (API), TCP/IP, Python Programming
Beginner · Specialization · 3 - 6 Months

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

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

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, Operating Systems, Development Environment, User Interface (UI), Problem Solving, Software Design
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Real-Time Operating Systems, Systems Architecture, Embedded Software, Software Design, System Design and Implementation, Embedded Systems, System Programming, Software Systems, Electronic Systems, Systems Design, Hardware Architecture, Software Architecture, Requirements Analysis, Real Time Data, Linux, Service Level, OS Process Management, System Requirements, Debugging, Algorithms
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: Agile Methodology, Scrum (Software Development), Embedded Software, Embedded Systems, System Programming, Agile Software Development, Linux, Software Testing, Development Testing, Software Development Methodologies, Git (Version Control System), Docker (Software), Containerization, File Systems, Shell Script, Debugging, Operating Systems, Internet Of Things, Peripheral Devices, Electrical Engineering
Intermediate · Specialization · 1 - 3 Months

Skills you'll gain: Unix Shell, Shell Script, Bash (Scripting Language), Unix Commands, Command-Line Interface, Unix, Network Protocols, Network Troubleshooting, Scripting, TCP/IP, Linux, OS Process Management, File Management, Scripting Languages, Linux Commands, General Networking, File Transfer Protocol (FTP), Network Administration, File Systems, Linux Administration
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Embedded Software, Debugging, Embedded Systems, Integrated Development Environments, C (Programming Language), Computer Programming Tools, Development Environment, Electronic Hardware, Electronics, Software Development Tools
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Game Design, Programming Principles, Debugging, Data Modeling, Computational Thinking, Data Integrity, Program Development, Application Development, Data Maintenance, Computational Logic, Data Validation, Command-Line Interface, Application Design, Animation and Game Design, User Interface (UI), Algorithms, Data Structures
Beginner · Specialization · 1 - 3 Months