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.

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

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

National Taiwan University
Skills you'll gain: Programming Principles, Computer Programming, C (Programming Language), Data Structures, C and C++, Program Development, Memory Management
Mixed · Course · 1 - 3 Months

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

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 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

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

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 and C++, C++ (Programming Language), Object Oriented Programming (OOP), Memory Management, C (Programming Language), Algorithms, File I/O, Graph Theory, Data Structures, Secure Coding, Scaled Agile Framework
Intermediate · Course · 1 - 3 Months

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

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