Embedded C courses can help you learn programming microcontrollers, optimizing code for performance, and interfacing with hardware components. You can build skills in debugging techniques, memory management, and real-time operating systems. Many courses introduce tools like simulators and development environments, along with methods for writing efficient, reliable code that interacts with various sensors and devices.

Skills you'll gain: Embedded Systems, Embedded Software, C (Programming Language), C and C++, Programming Principles, Memory Management, Hardware Architecture, Computational Logic, Computer Architecture, Computer Programming, Peripheral Devices
Intermediate · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Agile Methodology, Scrum (Software Development), Embedded Software, Agile Software Development, Embedded Systems, Software Testing, Development Testing, Software Development Methodologies, Agile Project Management, Git (Version Control System), Docker (Software), Containerization, Linux, System Programming, Electrical and Computer Engineering, Application Deployment, Operating Systems, File Systems, Internet Of Things, Build Tools
Build toward a degree
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: International Financial Reporting Standards, Insurance, Insurance Policies, Contract Accounting, Business Valuation, Financial Reporting, Technical Accounting, Mergers & Acquisitions, Specialized Accounting, Financial Accounting, Risk Management, Derivatives
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Software, Embedded Systems, C and C++, C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Development Testing, System Programming, C (Programming Language), Development Environment, Verification And Validation, Integrated Development Environments, Computer Programming Tools, Code Reusability, System Configuration, Peripheral Devices, Software Installation
Intermediate · Course · 1 - 3 Months
Multiple educators
Skills you'll gain: Unit Testing, Data Structures, Event-Driven Programming, File I/O, Interactive Data Visualization, Java, Java Programming, Object Oriented Design, Object Oriented Programming (OOP), User Interface (UI), Debugging, Software Testing, Computer Programming, Cryptography, Software Engineering, Bioinformatics, Algorithms, Data Analysis, Software Design, Problem Solving
Beginner · Specialization · 3 - 6 Months
University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), File I/O, Data Structures, Programming Principles, Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, C and C++, Unit Testing, C (Programming Language), Program Development, Computer Science, Software Testing, Algorithms, Code Reusability, Graph Theory, Computational Logic, Memory Management
Intermediate · Specialization · 3 - 6 Months

Vanderbilt University
Skills you'll gain: Git (Version Control System), JUnit, Android Studio, Android Development, Unit Testing, Android (Operating System), Version Control, Maintainability, Software Design Patterns, Test Automation, File I/O, Object Oriented Programming (OOP), Integration Testing, Test Driven Development (TDD), Mobile Development, Development Testing, Software Testing, Testability, Software Engineering, Java Programming
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Control Systems, Machine Controls, Engineering, Scientific, and Technical Instruments, Process Control, Embedded Systems, Embedded Software, Electrical and Computer Engineering, Real Time Data, Laboratory Equipment, Laboratory Experience, Electronic Systems, Electronics, Electronics Engineering, Power Electronics, Electronic Hardware, Manufacturing Processes, Three-Phase, Thermal Management, Hardware Design, Electrical Engineering
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Natural Language Processing, Supervised Learning, Embeddings, Applied Machine Learning, Dimensionality Reduction, Text Mining, Statistical Machine Learning, Classification Algorithms, Logistic Regression, Feature Engineering, Probability & Statistics
Intermediate · Course · 1 - 4 Weeks

28DIGITAL
Skills you'll gain: Real-Time Operating Systems, Embedded Systems, Embedded Software, System Programming, Systems Design, System Software, C (Programming Language), System Design and Implementation, OS Process Management, System Requirements, Dependency Analysis, Computer Architecture, Systems Analysis, Verification And Validation, Algorithms
Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: C (Programming Language), Python Programming, Programming Principles, Computer Programming, Unix
Intermediate · Course · 1 - 3 Months

Princeton University
Skills you'll gain: Programming Principles, Computer Programming, Object Oriented Design, Object Oriented Programming (OOP), Performance Tuning, Data Structures, Code Reusability, Other Programming Languages, Java Programming, Java, Program Development, Computational Thinking, Computer Science, Algorithms, Theoretical Computer Science, Animations
Beginner · Course · 1 - 3 Months