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, Programming Principles, Functional Design, Code Reusability
Mixed · Course · 1 - 3 Months

Peking University
Skills you'll gain: C and C++, Object Oriented Design, Object Oriented Programming (OOP), C (Programming Language), Programming Principles, Data Structures, Computer Programming, Algorithms, Maintainability, Memory Management
Mixed · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Computational Thinking, C (Programming Language), Programming Principles, Computer Programming, Code Reusability, Data Storage
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Software, Embedded Systems, Computer Hardware, Electronic Hardware, Hardware Architecture, Internet Of Things, Hardware Troubleshooting, System Programming, System Software, Peripheral Devices, System Configuration, Test Tools, C (Programming Language), Computer Architecture, Software Architecture, Development Environment, Debugging
Beginner · Course · 1 - 4 Weeks

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

Infosec
Skills you'll gain: Secure Coding, C and C++, Application Security, Computer Programming Tools, System Programming, C++ (Programming Language), Software Development Tools, Exploit development, C (Programming Language), Security Software, Debugging, Security Engineering, Security Testing, Interoperability, Unix, Embedded Software, Information Systems Security, OS Process Management, Embedded Systems, Programming Principles
Intermediate · Specialization · 3 - 6 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
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Embedded Software, Embedded Systems, System Programming, Cross Platform Development, System Software, Memory Management, Hardware Architecture, Peripheral Devices, Product Family Engineering, Code Reusability, Performance Tuning, Software Design, C (Programming Language), Scalability
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: File I/O, Python Programming, Scripting, Programming Principles, Code Reusability, Computer Programming, File Management, Data Structures, Functional Design, Context Management
Beginner · Course · 3 - 6 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

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, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Graph Theory, Object Oriented Design, C (Programming Language), Artificial Intelligence, Algorithms, Machine Learning Algorithms, Data Structures, Game Design, Memory Management, Simulations, Software Design, Verification And Validation
Intermediate · Course · 1 - 3 Months