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

National Taiwan University
Skills you'll gain: Programming Principles, Computer Programming, C (Programming Language), Data Structures, Computer Science, Algorithms, Computational Logic, Command-Line Interface, Functional Design, Debugging, Data Validation
Mixed · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Simulations, C (Programming Language), Computational Thinking, Automation, Algorithms, Data Structures, Theoretical Computer Science, Programming Principles, File Management, Debugging
Beginner · Course · 1 - 4 Weeks

Coursera Instructor Network
Skills you'll gain: Scalability, Performance Tuning, C++ (Programming Language), Embedded Software, System Programming, Computer Architecture, Hardware Architecture, Application Development, C (Programming Language), Open Source Technology, Program Development, Computer Programming Tools, Development Environment
Beginner · Course · 1 - 4 Weeks

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), C and C++, Object Oriented Programming (OOP), Algorithms, C (Programming Language), Programming Principles, Graph Theory, Data Structures
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Embedded Systems, Embedded Software, C (Programming Language), Programming Principles, Data Structures, Computer Programming Tools, Development Environment, Software Installation, Debugging
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

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

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