C programming courses can help you learn syntax, data structures, memory management, and algorithm design. You can build skills in problem-solving, debugging, and optimizing code for performance. Many courses introduce tools like GCC for compiling, GDB for debugging, and various libraries that enhance functionality. You’ll also explore applied areas such as game development, embedded systems, and software engineering practices, allowing you to create efficient applications and understand how C interacts with hardware.

Skills you'll gain: Memory Management, C and C++, Computational Thinking, Data Access
Intermediate · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Big Data, Apache Hadoop, Scalability, Data Processing, Data Science, Distributed Computing, Unstructured Data, Data Infrastructure, Data Analysis, Data Quality, File Systems
★ 4.6 (11K) · Mixed · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Memory Management, C++ (Programming Language), C (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Data Structures, Programming Principles, Software Design, Python Programming, Java, Algorithms, Performance Tuning
★ 4.5 (14) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Embedded Systems, Embedded Software, Memory Management, C (Programming Language), Software Development
Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: Embedded Systems, Embedded Software, C (Programming Language), Code Reusability, Memory Management, C and C++, Programming Principles, Data Structures, Computer Programming Tools, Program Development, Computer Programming, Development Environment
Beginner · Course · 1 - 4 Weeks

Dartmouth College
Skills you'll gain: C (Programming Language), Memory Management, C and C++, Embedded Systems, Data Structures, Programming Principles, Computer Engineering, Algorithms, Computer Programming, Linux
★ 4.4 (58) · Beginner · Course · 1 - 3 Months

Skills you'll gain: Embedded Systems, C (Programming Language), Embedded Software, Data Structures, Code Reusability, Memory Management, C and C++, Programming Principles, Data Management, Software Development
Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: C (Programming Language), Memory Management, System Programming, C and C++, Linux, Code Reusability, Programming Principles, Linux Commands, Computer Architecture, Linux Administration, Linux Servers, Functional Design, Command-Line Interface, Unix Shell, Program Development, Development Environment, Process Control, Operations Management, Process Development, Environment
Beginner · Specialization · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Go (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, C (Programming Language), Python Programming, Data Import/Export, Algorithms, Memory Management, OS Process Management, Data Structures, System Programming, File I/O, Computational Logic, Network Protocols, Package and Software Management, Data Sharing
★ 4.6 (3K) · Intermediate · Specialization · 1 - 3 Months

University of Colorado System
Skills you'll gain: Object Oriented Design, Unity Engine, Object Oriented Programming (OOP), Video Game Development, Software Design Patterns, C# (Programming Language), Debugging, Data Structures, Software Design, Game Design, Prototyping, Programming Principles, Data Storage, Graph Theory, Code Reusability, C and C++, Event-Driven Programming, Software Architecture, Application Design, Algorithms
★ 4.7 (2.8K) · Beginner · Specialization · 3 - 6 Months

Skills you'll gain: C (Programming Language), Code Reusability, Programming Principles, C and C++, Program Development, Functional Design, Computational Logic, Design, Program Implementation, Problem Solving, Case Studies, Critical Thinking and Problem Solving
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Linux, C (Programming Language), Linux Commands, Computer Architecture, System Programming, Command-Line Interface, Arithmetic, Build Tools, Programming Principles, C and C++, Development Environment, Program Development, Computer Programming Tools, Computational Logic, Software Development Tools, Decision Making, Software Development, Software Installation, Environment
Mixed · Course · 1 - 4 Weeks