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: Programming Principles, Computational Thinking, Program Development, Development Environment, C++ (Programming Language), C and C++, Computer Programming, Computational Logic, Computer Programming Tools, Integrated Development Environments, Maintainability
Beginner · Course · 1 - 3 Months

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 Colorado System
Skills you'll gain: Computational Thinking, Data Analysis, C and C++, C (Programming Language), Statistical Analysis, Data Presentation, Programming Principles, Computer Programming, Descriptive Statistics, Histogram, Graphing
Beginner · 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

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

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

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

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

Infosec
Skills you'll gain: Secure Coding, C and C++, Application Security, System Programming, C++ (Programming Language), C (Programming Language), Security Engineering, Interoperability, Unix, Embedded Software, Information Systems Security, OS Process Management, Embedded Systems, Operating Systems, Data Security, Memory Management, Authorization (Computing), Linux
Mixed · Course · 1 - 4 Weeks

Korea Advanced Institute of Science and Technology(KAIST)
Skills you'll gain: Scala Programming, Other Programming Languages, Computer Programming, Programming Principles, Program Development, Theoretical Computer Science
Mixed · Course · 1 - 3 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 Colorado System
Skills you'll gain: File I/O, Simulations, C (Programming Language), Computational Thinking, Automation, Algorithms, Data Structures, Programming Principles, Memory Management
Beginner · Course · 1 - 4 Weeks