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.

Duke University
Skills you'll gain: C (Programming Language), Data Structures, Program Development, Algorithms, Computational Thinking, Computer Programming, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Microsoft Visual Studio, C# (Programming Language), Integrated Development Environments, Programming Principles, Computer Programming, Command-Line Interface, Computational Logic
Beginner · Guided Project · Less Than 2 Hours

Duke University
Skills you'll gain: Debugging, Software Testing, Program Development, Simulations, Computer Programming, Algorithms, Development Environment, C (Programming Language), Command-Line Interface
Beginner · Course · 1 - 4 Weeks

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

Skills you'll gain: C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, Programming Principles, Maintainability, Prototyping
Intermediate · Course · 1 - 4 Weeks

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

Microsoft
Skills you'll gain: C++ (Programming Language), API Design, Software Architecture, Software Design, Maintainability, Data Structures, Generative AI Agents, Data Validation, Performance Tuning, Secure Coding, Verification And Validation, Algorithms, Debugging
Beginner · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Software Design Patterns, Debugging, Computer Programming, Unit Testing, Programming Principles, Algorithms, C (Programming Language), Program Development, Integrated Development Environments, Graph Theory, Software Testing, Artificial Intelligence, Integration Testing, Software Design, System Design and Implementation
Intermediate · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Algorithms, C (Programming Language), Programming Principles, Computer Programming, 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, Debugging
Beginner · Course · 1 - 4 Weeks

University of London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Interactive Design, Program Development, File I/O, Command-Line Interface, Control Panels, Development Environment, Debugging
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

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