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.

Skills you'll gain: Embedded Systems, Embedded Software, Control Systems, Industrial Engineering, Computer Systems, C (Programming Language), Peripheral Devices, Wireless Networks, Computer Architecture, Cybersecurity, Electronics Engineering, Electronics, Cloud Computing, Electronic Components, Memory Management
Intermediate · 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

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

University of Michigan
Skills you'll gain: Memory Management, C and C++, C++ (Programming Language), C (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Data Structures, Software Design, Python Programming, Java, Algorithms, Performance Tuning
Intermediate · Course · 1 - 3 Months

Peking University
Skills you'll gain: C (Programming Language), Programming Principles, Computer Science, Computer Architecture, Program Development, Memory Management, Computational Logic, Theoretical Computer Science, Computer Programming, Computer Hardware, Quantum computing
Mixed · Course · 3 - 6 Months

Skills you'll gain: Version Control, Git (Version Control System), Object Oriented Programming (OOP), C# (Programming Language), Microsoft Visual Studio, Development Environment, Application Frameworks, Program Development, Integrated Development Environments, Computer Programming, Programming Principles, Microsoft Development Tools, Computational Logic, Data Structures
Beginner · Course · 3 - 6 Months

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

Skills you'll gain: C and C++, C++ (Programming Language), Data Structures, Application Development, Program Development, Data Storage, Programming Principles, Computer Programming, Java Programming, 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

Skills you'll gain: C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Code Reusability, Computer Programming, Memory Management, Programming Principles, Program Development
Intermediate · Course · 1 - 4 Weeks

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

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