
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

Skills you'll gain: Linux, Linux Commands, C (Programming Language), System Programming, Command-Line Interface, Programming Principles, Development Environment, Computer Programming Tools, Data Structures, Program Development, Debugging
Mixed · Course · 1 - 3 Months

Skills you'll gain: Embedded Software, Application Security, Embedded Systems, Software Design, DevSecOps, Internet Of Things, Security Testing, User Interface and User Experience (UI/UX) Design, Cybersecurity, Systems Architecture, IT Security Architecture, Development Environment, Cyber Security Strategy, Design Strategies, Software Architecture, CI/CD, Functional Testing, Open Source Technology
Beginner · Course · 3 - 6 Months

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

Skills you'll gain: Embedded Software, Performance Tuning, System Programming, Software Development Tools, Embedded Systems, Microarchitecture, Software Development, Development Environment, Hardware Architecture, Debugging, Application Security, Secure Coding, Computer Architecture, C (Programming Language), System Configuration, Application Development, C++ (Programming Language), System Requirements, Product Support
Intermediate · Specialization · 3 - 6 Months
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Pseudocode
Beginner · Course · 1 - 3 Months

Skills you'll gain: Embedded Systems, Embedded Software, C (Programming Language), Programming Principles, Data Structures, Computer Programming Tools, Development Environment, Software Installation, Debugging
Beginner · Course · 1 - 4 Weeks

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 California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), Data Structures, C and C++, C (Programming Language), Object Oriented Programming (OOP), Programming Principles, Software Design Patterns, Debugging, Computer Programming, Object Oriented Design, Unit Testing, Integrated Development Environments, Algorithms, Pseudocode, Command-Line Interface, Graph Theory, Computer Science, File Systems, Artificial Intelligence
Intermediate · Specialization · 3 - 6 Months
Dartmouth College
Skills you'll gain: Command-Line Interface, C (Programming Language), Linux Commands, Linux, Embedded Systems, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, Linux Servers, File Systems, System Programming, Build Tools, Algorithms, Computer Architecture, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

Dartmouth College
Skills you'll gain: C (Programming Language), Software Documentation, Programming Principles, Computer Programming, Embedded Software, Human Computer Interaction, Debugging, Development Environment, Engineering Calculations
Beginner · Course · 1 - 3 Months