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

Coursera Project Network
Skills you'll gain: Embedded Systems, C (Programming Language), Embedded Software, Data Structures, Programming Principles, Data Management, Data Storage Technologies, Software Development
Intermediate · Guided Project · Less Than 2 Hours

Coursera Instructor Network
Skills you'll gain: Field-Programmable Gate Array (FPGA), Scalability, Performance Tuning, C++ (Programming Language), Embedded Software, Computer Architecture, Cross Platform Development, Hardware Architecture, Application Development, C (Programming Language), Program Development, Application Performance Management
Beginner · Course · 1 - 4 Weeks

National Taiwan University
Skills you'll gain: Computer Programming, C (Programming Language), Data Structures, Computer Science, Algorithms, Computational Thinking, Debugging
Mixed · Course · 1 - 3 Months

Skills you'll gain: Microarchitecture, Computer Architecture, Hardware Architecture, Computer Hardware, Computer Systems, Embedded Systems, Data Storage, Computer Programming, C (Programming Language), C# (Programming Language)
Beginner · Course · 1 - 3 Months

Skills you'll gain: C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Data Structures, C (Programming Language), Development Environment, Software Design Patterns, Programming Principles, Computational Thinking, Computer Programming, Integrated Development Environments, File Management, Algorithms, Maintainability, Simulations, Data Validation
Intermediate · Specialization · 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), Go (Programming Language), Data Structures, C and C++, Object Oriented Programming (OOP), Software Design Patterns, Debugging, Computer Programming, Unit Testing, Algorithms, C (Programming Language), Programming Principles, Integrated Development Environments, Graph Theory, Computer Science, File Systems, Artificial Intelligence, Integration Testing, Software Design, Game Design
Intermediate · Specialization · 3 - 6 Months
University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), Debugging, C (Programming Language), Data Structures, C and C++, C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Code Review, Unit Testing, Command-Line Interface, Data-oriented programming, Integrated Development Environments, Computer Science, Algorithms, File Systems, Computational Thinking, Software Technical Review, Integration Testing, Software Design
Intermediate · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, Object Oriented Programming (OOP), Algorithms, C (Programming Language), Programming Principles, Graph Theory, Data Structures
Intermediate · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Test Planning, Embedded Systems, Linux, Internet Of Things, Embedded Software, Functional Requirement, Operating System Administration, Debugging, General Networking, Hardware Design, Systems Design, Operating Systems, Electronic Hardware, System Requirements, System Design and Implementation, C (Programming Language), Basic Electrical Systems, Application Programming Interface (API), TCP/IP, Python Programming
Beginner · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Software Design Patterns, Object Oriented Programming (OOP), Computer Programming, C (Programming Language), Algorithms, Graph Theory, Artificial Intelligence, Data Structures, Game Design
Intermediate · Course · 1 - 3 Months

Dartmouth College
Skills you'll gain: C (Programming Language), Embedded Systems, Data Structures, Algorithms, Computer Programming, Linux, Computer Programming Tools, Development Environment, Software Development Tools, Debugging
Beginner · Course · 1 - 3 Months