The language used throughout the course, in both instruction and assessments.

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
University of California, Santa Cruz
Skills you'll gain: Debugging, C (Programming Language), Code Review, Data Structures, Computer Programming, Computer Science, Computational Thinking, Integrated Development Environments, Software Technical Review, Algorithms
Beginner · Course · 1 - 3 Months

Coursera Instructor Network
Skills you'll gain: Embedded Software, Embedded Systems, Computer Hardware, Hardware Architecture, Internet Of Things, System Software, Peripheral Devices, C (Programming Language), Software Architecture, Simulations, Development Environment, Debugging, Systems Integration
Beginner · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Debugging, C (Programming Language), C and C++, Object Oriented Programming (OOP), Software Design Patterns, Code Review, Data Structures, Computer Programming, Algorithms, Command-Line Interface, Data-oriented programming, Programming Principles, Graph Theory, Computer Science, Computational Thinking, Artificial Intelligence, Integrated Development Environments, Software Technical Review, Game Design
Beginner · Specialization · 3 - 6 Months

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

Dartmouth College
Skills you'll gain: Command-Line Interface, C (Programming Language), Linux Commands, Linux, Embedded Systems, Embedded Software, Programming Principles, Computer Engineering, Linux Servers, File Systems, System Programming, Build Tools, Data Structures, Algorithms, Computer Architecture, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: C (Programming Language), Programming Principles, C++ (Programming Language), Algorithms, Data Structures, Other Programming Languages, System Programming
Intermediate · Course · 1 - 4 Weeks

University of California, Irvine
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, C (Programming Language), Integrated Development Environments, Electronic Components, Development Environment, Computer Hardware, Computer Programming, Electronics Engineering, Digital Communications
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Software, Debugging, Embedded Systems, Integrated Development Environments, C (Programming Language), Development Environment, Electronic Hardware, Electronics, Software Development Tools, Computer Architecture, Computer Programming
Intermediate · Course · 1 - 4 Weeks

Simplilearn
Skills you'll gain: C (Programming Language), Data Structures, C++ (Programming Language), Computer Programming, Programming Principles, Data Management, System Programming, Algorithms
Beginner · Course · 1 - 4 Weeks

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

Duke University
Skills you'll gain: Programming Principles, Algorithms, C (Programming Language), Computer Programming, Problem Solving
Beginner · Course · 1 - 4 Weeks