C programming courses can help you learn syntax, data structures, memory management, and algorithm design. You can build skills in problem-solving, debugging, and optimizing code for performance. Many courses introduce tools like GCC for compiling, GDB for debugging, and various libraries that enhance functionality. You’ll also explore applied areas such as game development, embedded systems, and software engineering practices, allowing you to create efficient applications and understand how C interacts with hardware.

University of Illinois Urbana-Champaign
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Development Environment, Engineering Software, Computer Programming, Software Engineering, Data Structures, Memory Management, Computer Programming Tools, Debugging, Program Development
★ 4.7 (3K) · Intermediate · Course · 1 - 4 Weeks
Multiple educators
Skills you'll gain: Unit Testing, Data Structures, Event-Driven Programming, File I/O, Interactive Data Visualization, Java, Java Programming, Object Oriented Design, Object Oriented Programming (OOP), User Interface (UI), Debugging, Software Testing, Computer Programming, Cryptography, Software Engineering, Bioinformatics, Algorithms, Data Analysis, Software Design, Problem Solving
★ 4.6 (15K) · Beginner · Specialization · 3 - 6 Months

Universitat Autònoma de Barcelona
Skills you'll gain: Crisis Intervention, Pediatric First Aid, Stress First Aid, Emergency Response, First Aid, Emergency Services, Stress Management, Disabilities, Trauma Care, Mental Health, Family Support, Developmental Disabilities, Psychology, Working With Children, Child Development, Social Work
★ 4.9 (12K) · Beginner · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Corporate Communications, Storytelling, Internal Communications, Social Media, Employee Engagement, Telecommuting, Business Communication, Communication Strategies, Communication, Driving engagement
★ 4.7 (117) · Beginner · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Data Structures, Algorithms, Data Storage, Graph Theory, Computer Programming, C++ (Programming Language), Java Programming
★ 4.6 (5.6K) · Intermediate · Course · 1 - 3 Months

Vanderbilt University
Skills you'll gain: Git (Version Control System), JUnit, Android Studio, Android Development, Java, Unit Testing, Android (Operating System), Version Control, Java Programming, Maintainability, Software Design Patterns, Object Oriented Design, Object Oriented Programming (OOP), Test Automation, File I/O, Integration Testing, Test Driven Development (TDD), Mobile Development, Development Testing, Software Testing
★ 4.5 (3.7K) · Beginner · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, Object Oriented Design, Software Design Patterns, Object Oriented Programming (OOP), Software Design, Computer Programming, C (Programming Language), Algorithms, Memory Management, Graph Theory, Artificial Intelligence, Data Structures, Simulations
★ 4.5 (337) · Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Unity Engine, Object Oriented Programming (OOP), Debugging, C# (Programming Language), Video Game Development, Game Design, Computer Programming, Programming Principles, Development Environment, Data Storage, Scripting, Software Documentation
★ 4.7 (2.5K) · Beginner · Course · 1 - 4 Weeks
University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), File I/O, Data Structures, Programming Principles, Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, Unit Testing, C (Programming Language), Program Development, Computer Science, Software Testing, Algorithms, Code Reusability, Graph Theory, C and C++, Computational Logic, Memory Management
★ 4.5 (7.3K) · Intermediate · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, Go (Programming Language), File I/O, Data Structures, 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, Code Reusability, Memory Management
★ 4.4 (2.5K) · Intermediate · Specialization · 3 - 6 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Apache Spark, Apache Hadoop, Scala Programming, Distributed Computing, Big Data, Data Manipulation, Data Processing, Performance Tuning, Data Persistence, SQL, Data Import/Export
★ 4.6 (2.6K) · Intermediate · Course · 1 - 4 Weeks
École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Programming Principles, Object Oriented Design, Object Oriented Programming (OOP), Functional Design, Computer Programming, Data Structures, Code Reusability, Computational Logic
★ 4.8 (8.3K) · Intermediate · Course · 1 - 3 Months