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, C and C++, Programming Principles, Algorithms, Memory Management
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Embedded Software, Linux, Linux Administration, File Systems, Shell Script, Package and Software Management, Electrical Engineering
Advanced · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Debugging, Software Testing, Program Development, Development Testing, Test Planning, Simulations, Computer Programming, Programming Principles, Algorithms, Computer Programming Tools, C (Programming Language), Build Tools
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 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

University of London
Skills you'll gain: Debugging, Development Environment, Javascript, Visualization (Computer Graphics), Program Development, JavaScript Frameworks, Computer Graphics, Software Development Tools, Computer Graphic Techniques, Computer Programming, Graphic and Visual Design, Graphical Tools, Event-Driven Programming, Interactive Design, 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, C and C++
Beginner · Course · 1 - 4 Weeks

Dartmouth College
Skills you'll gain: Command-Line Interface, Linux Commands, Linux, Embedded Systems, Linux Servers, Computer Engineering, File Systems, Unix, Operating Systems, C (Programming Language), File Management, Memory Management, Computer Programming Tools, Computer Programming, Open Source Technology, OS Process Management
Beginner · Course · 1 - 3 Months

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

Skills you'll gain: C++ (Programming Language), C and C++, Application Development, Program Development, Computer Programming, Programming Principles, Code Reusability, Computational Logic
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Game Design, Programming Principles, Debugging, Code Reusability, Data Modeling, Video Game Development, Computational Thinking, System Programming, C and C++, Data Integrity, File Management, Program Development, Application Development, Business Logic, Data Storage, Computational Logic, Animation and Game Design
Beginner · Specialization · 1 - 3 Months

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