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.

The University of Edinburgh
Skills you'll gain: Video Game Development, Software Engineering, Programming Principles, Software Development, Event-Driven Programming, Computer Programming, Code Reusability, Algorithms
★ 4.7 (4K) · Beginner · Course · 1 - 3 Months

Vanderbilt University
Skills you'll gain: Git (Version Control System), JUnit, Android Studio, Android Development, Java, Unit Testing, Version Control, Java Programming, Maintainability, Software Design Patterns, Object Oriented Programming (OOP), Test Automation, File I/O, Integration Testing, Test Driven Development (TDD), Mobile Development, Software Testing, Software Engineering, Application Security, User Interface (UI) Design
★ 4.5 (3.7K) · Beginner · Specialization · 3 - 6 Months

University at Buffalo
Skills you'll gain: Computer Vision, Color Theory, Digital Signal Processing, Applied Mathematics, Artificial Intelligence, Computer Programming, Matlab, Calculus, Probability & Statistics
★ 4.2 (1.8K) · Intermediate · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: C (Programming Language), Python Programming, Computer Programming, Unix
★ 4.5 (95) · Intermediate · Course · 1 - 3 Months
École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Programming Principles, Object Oriented Programming (OOP), Computer Programming, Data Structures, Code Reusability, Other Programming Languages, Computational Logic
★ 4.8 (8.3K) · Intermediate · Course · 1 - 3 Months

Dartmouth College
Skills you'll gain: Memory Management, C (Programming Language), Embedded Systems, Computer Engineering, Computer Programming, Programming Principles, Linux
★ 4.8 (68) · Beginner · 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, Python Programming, Java Programming, Java, Performance Tuning
★ 4.5 (14) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Game Design, Programming Principles, Debugging, Code Reusability, Data Modeling, Video Game Development, Data Integrity, Program Development, Application Development, Data Storage, Computational Logic, Data Validation, Command-Line Interface, Application Design, Animation and Game Design, Data Structures
★ 5 (14) · Beginner · Specialization · 1 - 3 Months

Infosec
Skills you'll gain: Secure Coding, C and C++, Computer Programming Tools, Application Security, C++ (Programming Language), C (Programming Language), Software Development Tools, Interoperability, Unix, Operating Systems
★ 2.7 (36) · Intermediate · 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, Memory Management, Graph Theory, Artificial Intelligence
★ 4.5 (337) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Programming Principles, C++ (Programming Language), Computer Programming, Computer Science
★ 4.6 (976) · Beginner · Course · 1 - 4 Weeks

Wesleyan University
Skills you'll gain: Storytelling
★ 4.5 (2K) · Mixed · Course · 1 - 4 Weeks