
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
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 Systems, Embedded Software, C (Programming Language), Code Reusability, Memory Management, Programming Principles, Data Structures, Development Environment
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Electronic Components, Swift Programming, Basic Electrical Systems, Internet Of Things, Electronics, Electronic Systems, PIC Microcontrollers, Embedded Software, Electronic Hardware, Test Equipment, Hardware Troubleshooting, Programming Principles, Electrical Engineering, Electrical Equipment, Embedded Systems, Wireless Networks, Semiconductors, Application Development, Display Devices, Debugging
Beginner · Specialization · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, C and C++, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Debugging, Computer Programming, Unit Testing, C (Programming Language), Software Design, Program Development, Algorithms, Graph Theory, Software Testing, Computer Science, Computational Logic
★ 4.5 (9.6K) · 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

Simplilearn
Skills you'll gain: Data Structures, C (Programming Language), C and C++, Programming Principles, Data Management, Memory Management, Algorithms, Computer Programming, File I/O, File Management, Other Programming Languages, Development Environment
★ 4.5 (24) · Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Swift Programming, PIC Microcontrollers, Embedded Software, Programming Principles, Embedded Systems, Debugging, Computer Hardware, Electronic Components, Peripheral Devices
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Game Design, Programming Principles, Debugging, Code Reusability, Data Modeling, Video Game Development, Computational Thinking, File Management, System Programming, Data Integrity, C and C++, Program Development, Application Development, Data Storage, Computational Logic, Data Maintenance, Animation and Game Design
Beginner · Specialization · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Real-Time Operating Systems, Systems Architecture, Software Architecture, Embedded Software, Software Design, System Design and Implementation, Embedded Systems, Performance Tuning, Systems Analysis, Electronic Hardware, Hardware Design, Electronic Systems, Systems Design, Hardware Architecture, Electrical and Computer Engineering, Requirements Analysis, System Programming, Reliability, Operating Systems, Service Level
★ 4 (122) · Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, Data Structures, System Programming, Microarchitecture, C (Programming Language), Memory Management, Hardware Architecture, Computer Architecture, Software Design, Maintainability, System Configuration, Code Reusability, Software Architecture, Peripheral Devices
★ 4.5 (531) · Intermediate · Course · 1 - 4 Weeks