C programming courses can help you learn syntax, data structures, algorithms, and memory management. You can build skills in debugging, optimizing code, and implementing efficient algorithms. Many courses introduce tools like GCC for compiling code, GDB for debugging, and libraries such as the Standard Template Library (STL) to enhance functionality. You'll also explore concepts like pointers, file handling, and dynamic memory allocation, which are crucial for developing robust applications.

University of Washington
Skills you'll gain: Ruby (Programming Language), Other Programming Languages, Object Oriented Programming (OOP), Object Oriented Design, Computer Programming, Programming Principles, Functional Design, Computational Thinking, Code Reusability
Mixed · Course · 1 - 3 Months

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

University of Leeds
Skills you'll gain: Programming Principles, Computational Logic, Robotics, Python Programming, Computer Programming, Code Reusability, Automation, Algorithms
Beginner · Course · 1 - 4 Weeks

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

University of Washington
Skills you'll gain: Other Programming Languages, Software Design, Ruby (Programming Language), Programming Principles, Data Structures, Computer Programming, Functional Design, Code Reusability
Intermediate · Course · 1 - 4 Weeks

Illinois Tech
Skills you'll gain: Unified Modeling Language, File I/O, Debugging, Object Oriented Programming (OOP), Object Oriented Design, Python Programming, Computer Programming, Programming Principles, System Programming, Pseudocode, Program Development, Event-Driven Programming, Diagram Design, Software Design, Data Import/Export, User Interface (UI), Data Structures, Graphical Tools, UI Components
Build toward a degree
Beginner · 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

Duke University
Skills you'll gain: File I/O, Memory Management, Maintainability, C (Programming Language), Software Engineering, System Programming, Systems Development Life Cycle, Software Development, Simulations, Command-Line Interface, Collaborative Software
Beginner · Course · 1 - 4 Weeks

École Polytechnique Fédérale de Lausanne
Skills you'll gain: C++ (Programming Language), Programming Principles, Data Structures, Computer Programming, Code Reusability, Object Oriented Programming (OOP), Game Design, Memory Management
Beginner · Course · 1 - 3 Months

Skills you'll gain: C (Programming Language), Game Design, Programming Principles, Video Game Development, System Programming, Program Development, Computational Logic, Data Validation, Command-Line Interface, Code Reusability, User Interface (UI), Data Structures
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Other Programming Languages, Program Development, C and C++, C++ (Programming Language), Application Development, Computer Programming, Development Environment, Programming Principles, Software Development, Computer Science
Beginner · Guided Project · Less Than 2 Hours

University of California, Irvine
Skills you'll gain: Objective-C (Programming Language), iOS Development, Apple iOS, Memory Management, Prototyping, Mobile Development, C and C++, Application Development, C (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Data Structures
Mixed · Course · 1 - 4 Weeks