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: Other Programming Languages, Software Design, Ruby (Programming Language), Programming Principles, Data Structures, Computer Programming, Functional Design, Code Reusability
Intermediate · Course · 1 - 4 Weeks

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

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

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

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

University of California, Davis
Skills you'll gain: Secure Coding, Application Security, C and C++, Linux Administration, Verification And Validation, Code Review, Vulnerability Management, Linux, Security Controls, Vulnerability Assessments, Unix, User Accounts, Data Validation, File I/O, Cryptography, File Systems, C (Programming Language), System Programming, Identity and Access Management, Encryption
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, 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

Ball State University
Skills you'll gain: Program Development, Data Analysis, Programming Principles, Statistical Analysis, Computer Programming, Analytics, Python Programming, Natural Language Processing, Computer Science, Text Mining, NumPy, Data Processing, Code Reusability, Mathematical Software, Debugging, Computational Logic, Data Manipulation
Build toward a degree
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

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

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