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 Michigan
Skills you'll gain: Memory Management, C (Programming Language), C and C++, Data Structures, Secure Coding, Application Security, System Programming, Programming Principles
Intermediate · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Debugging, Computer Programming, Unit Testing, Algorithms, C (Programming Language), Software Design, Program Development, Graph Theory, Software Testing, Code Reusability, Memory Management, Computational Logic
Intermediate · Specialization · 3 - 6 Months
University of California, Santa Cruz
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Linux, Linux Commands, C (Programming Language), Memory Management, System Programming, Command-Line Interface, Programming Principles, Computer Programming Tools, Computational Logic, Software Installation, Build Tools, Program Development
Mixed · Course · 1 - 3 Months

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

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

Simplilearn
Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Object Oriented Design, Memory Management, Computer Programming, Code Reusability, Programming Principles, Algorithms, Data Structures, Data Manipulation
Beginner · Course · 1 - 4 Weeks

University of London
Skills you'll gain: Debugging, Development Environment, Javascript, Computer Programming Tools, Visualization (Computer Graphics), Program Development, JavaScript Frameworks, Computer Graphics, Computer Programming, Graphical Tools, Event-Driven Programming, Interactive Design, Human Computer Interaction, Programming Principles, Data Management, Maintainability
Beginner · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Computational Thinking, Data Collection, Microsoft Visual Studio, Program Development, C (Programming Language), Programming Principles, Algorithms, Microsoft Development Tools, Integrated Development Environments, Data Storage, Development Environment, Computer Programming, Mathematical Software
Beginner · Course · 1 - 4 Weeks

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

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

Korea Advanced Institute of Science and Technology(KAIST)
Skills you'll gain: Scala Programming, Programming Principles, Theoretical Computer Science, Other Programming Languages, Computer Programming, Functional Design, Data Structures, Memory Management, System Implementation
Mixed · Course · 1 - 3 Months