
Coursera
Skills you'll gain: Embedded Software, Real-Time Operating Systems, Embedded Systems, Software Architecture, Code Reusability, Pseudocode, Microarchitecture, Memory Management, Systems Architecture, Computer Hardware, System Programming, Computer Architecture, Software Design, Cross Platform Development, Software Systems, Hardware Architecture, Systems Design, Software Design Patterns, Internet Of Things, Hardware Troubleshooting
Intermediate · Specialization · 1 - 3 Months
Skills you'll gain: Embedded Software, C (Programming Language), Embedded Systems, Debugging, Peripheral Devices, Memory Management, Integrated Development Environments, Computer Programming Tools, Development Environment, System Programming, Software Development Tools, Program Development, Hardware Architecture, Systems Architecture, Eclipse (Software), Data Structures, Build Tools, C and C++, Programming Principles, Microarchitecture
★ 4.5 (274) · Intermediate · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: Memory Management, C (Programming Language), C and C++, C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Data Structures, Secure Coding, Algorithms, Software Design, Application Security, Other Programming Languages, Python Programming, System Programming, Computer Architecture, Computer Programming, Java, Performance Tuning, Numerical Analysis
★ 4.5 (245) · Intermediate · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Computer Programming, Algorithms, C (Programming Language), Software Design, Program Development, Graph Theory, Code Reusability, Computational Logic, Artificial Intelligence, Data Structures, Memory Management, File I/O, Simulations
★ 4.5 (9.6K) · Beginner · Specialization · 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, Linux Administration, Software Development Methodologies, Agile Project Management, Git (Version Control System), Docker (Software), Containerization, System Software, Electrical and Computer Engineering, File Systems, Shell Script, Debugging
★ 4.4 (176) · Intermediate · Specialization · 1 - 3 Months

Duke University
Skills you'll gain: Debugging, File I/O, Memory Management, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Test Planning, Simulations, Test Case, System Programming, Systems Development Life Cycle, Computer Programming, Data Structures, C and C++, Software Engineering, Problem Solving, Software Design
★ 4.6 (7.4K) · Beginner · Specialization · 3 - 6 Months

Skills you'll gain: File I/O, Memory Management, Debugging, C++ (Programming Language), C and C++, Software Documentation, Development Testing, Code Reusability, Vibe coding, Programming Principles, API Design, Program Development, Pseudocode, Software Architecture, Software Design, Functional Design, Performance Tuning, Generative AI Agents, Application Design, Technical Documentation
★ 4.5 (26) · Beginner · Professional Certificate · 3 - 6 Months
Dartmouth College
Skills you'll gain: Memory Management, Command-Line Interface, C (Programming Language), Linux Commands, Linux, Computer Programming Tools, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, C and C++, Linux Servers, Algorithms, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
★ 4.6 (441) · Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Embedded Software, Debugging, Embedded Systems, Memory Management, Integrated Development Environments, C (Programming Language), Computer Programming Tools, Development Environment, C and C++, Software Development Tools, System Programming, Eclipse (Software), Build Tools, Programming Principles, Data Storage
★ 4.8 (71) · Intermediate · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Object Oriented Design, Unity Engine, Object Oriented Programming (OOP), Debugging, Video Game Development, Software Design Patterns, Data Structures, C# (Programming Language), Software Design, Game Design, Prototyping, Programming Principles, Graph Theory, Code Reusability, Computer Programming, Data Management, Event-Driven Programming, Software Architecture, Application Design, Algorithms
★ 4.6 (2.8K) · Beginner · Specialization · 3 - 6 Months
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Program Development, Computational Logic, Memory Management
★ 4.5 (6.8K) · Beginner · Course · 1 - 3 Months

EDUCBA
Skills you'll gain: C (Programming Language), Embedded Systems, Embedded Software, Debugging, System Programming, Systems Architecture, Hardware Architecture, Microarchitecture, Data Structures, Peripheral Devices, Memory Management, Computational Logic
★ 4.1 (133) · Beginner · Course · 1 - 4 Weeks