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

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

University of Colorado System
Skills you'll gain: Computational Thinking, Data Collection, Simulations, Data Analysis, Microsoft Visual Studio, C (Programming Language), Analysis, Automation, Program Development, Data Structures, Programming Principles, Algorithms, Computer Programming, Theoretical Computer Science, Data Storage, Data Store, Descriptive Statistics, Problem Management, Data Visualization Software, File Management
Beginner · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: C (Programming Language), Data Structures, Application Security, System Programming, Programming Principles, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

EDUCBA
Skills you'll gain: C (Programming Language), Embedded Systems, Embedded Software, Debugging, System Programming, Hardware Architecture, Microarchitecture, Computer Architecture, Data Structures, Peripheral Devices
Beginner · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C (Programming Language), Debugging, C++ (Programming Language), Data Structures, Computer Programming, Command-Line Interface, Data-oriented programming, Algorithms, File Management
Intermediate · Course · 1 - 3 Months

International Institute of Information Technology Bangalore
Skills you'll gain: C (Programming Language), Programming Principles, Data Structures, Computer Programming, Algorithms, File Management, Data Storage, Integrated Development Environments, Debugging, Problem Solving
Beginner · Course · 1 - 3 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: C (Programming Language), Computer Hardware, Computer Programming, Computer Architecture, Computational Thinking, Data Structures, Algorithms, File Management, Operating Systems, Program Development, Debugging
Build toward a degree
Beginner · Course · 1 - 3 Months

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

Dartmouth College
Skills you'll gain: Embedded Software, C (Programming Language), Linux, Embedded Systems, Build Tools, Command-Line Interface, Operating Systems, Program Development, Software Installation, Application Development, File Systems, Computer Programming, Debugging
Beginner · Course · 1 - 3 Months

Dartmouth College
Skills you'll gain: C (Programming Language), Embedded Systems, Computer Engineering, Embedded Software, System Programming, Computer Science, Computer Programming, Operating Systems, Visualization (Computer Graphics), Data Structures, Linux
Beginner · Course · 1 - 3 Months

Skills you'll gain: Linux, Linux Commands, C (Programming Language), System Programming, Command-Line Interface, Programming Principles, Development Environment, Computer Programming Tools, Data Structures, Program Development, Debugging
Mixed · Course · 1 - 3 Months

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