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
Dartmouth College
Skills you'll gain: Command-Line Interface, C (Programming Language), Linux Commands, Linux, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, Linux Servers, File Systems, System Programming, Algorithms, Computer Architecture, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

Logical Operations
Skills you'll gain: Data Structures, Data Processing, Virtual Machines, Verification And Validation, Program Development, Data Preprocessing, Python Programming, Debugging, Maintainability, Programming Principles, Application Development, Scripting, Scripting Languages, Computer Programming, Software Installation, Development Environment, Software Development, Computer Programming Tools, Functional Design, Cross Platform Development
Beginner · Specialization · 1 - 3 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

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

Logical Operations
Skills you'll gain: Object Oriented Programming (OOP), Data Structures, File I/O, Debugging, Data Processing, Application Development, File Management, File Systems, Programming Principles, Computer Programming, Python Programming, Scripting, Scripting Languages, Operating Systems, Software Development, Virtual Machines, Cross Platform Development
Beginner · Specialization · 1 - 3 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, Linux Administration, Operating Systems, Bash (Scripting Language), Shell Script, C++ (Programming Language), Debugging, Internet Of Things
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, User Requirements Documents, Electronics, Functional Requirement, Operating System Administration, Electronic Components, Systems Design, Operating Systems, Requirements Analysis, Network Protocols, Debugging, Application Programming Interface (API), TCP/IP, Python Programming
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

Skills you'll gain: Object Oriented Programming (OOP), Unit Testing, Test Driven Development (TDD), Programming Principles, Software Testing, Data Structures, Python Programming, Computer Programming, Development Environment, Integrated Development Environments, Debugging, Django (Web Framework), Cloud Hosting
Beginner · Course · 1 - 3 Months

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