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 California San Diego
Skills you'll gain: Unit Testing, Growth Mindedness, Data Structures, Graph Theory, Event-Driven Programming, Social Network Analysis, Interactive Data Visualization, Java, Java Programming, Network Analysis, Object Oriented Programming (OOP), Technical Communication, User Interface (UI), Peer Review, Object Oriented Design, Software Testing, Computer Programming, Program Development, Algorithms, Problem Solving
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Rust (Programming Language), Data Structures, Code Reusability, Memory Management, Package and Software Management, Algorithms, Software Testing
Intermediate · Course · 1 - 3 Months

Skills you'll gain: File I/O, Unified Modeling Language, Visual Basic (Programming Language), Object Oriented Programming (OOP), Microsoft Visual Studio, Object Oriented Design, Program Development, Microsoft Development Tools, .NET Framework, Code Reusability, Software Engineering, Data Structures
Intermediate · Course · 1 - 4 Weeks
Skills you'll gain: Unified Modeling Language, File I/O, System Programming, Visual Basic (Programming Language), System Software, Hardware Architecture, Databases, Relational Databases, Algorithms, Computer Architecture, Network Security, Computer Hardware, SQL, Development Environment, Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Program Development, Computer Programming, Microsoft Development Tools
Beginner · Specialization · 3 - 6 Months

University of Pennsylvania
Skills you'll gain: Object Oriented Design, Java, Object Oriented Programming (OOP), Unit Testing, Java Programming, Application Development, Data Structures, Application Design, Software Testing, Program Development, Programming Principles, Systems Development, Test Driven Development (TDD), Computer Programming, Other Programming Languages
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Object Oriented Design, Computer Programming, Programming Principles, Software Design, Code Reusability, Data Structures
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Computer Programming, Program Development, Python Programming, Computer Graphic Techniques
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: File I/O, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Computer Programming, Data Import/Export, Data Structures, Python Programming, Data Persistence, Computational Logic, Code Reusability, Computer Science, File Management
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: R Programming, Rmarkdown, R (Software), Tidyverse (R Package), Ggplot2, Data Import/Export, Data Visualization, Plot (Graphics), Statistical Visualization, Data Analysis, Statistical Reporting, Data Visualization Software, Data Presentation, Data Science, Data Manipulation, Statistical Analysis, Data Wrangling, Data Cleansing, Data Integration, Communication
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Other Programming Languages, Memory Management
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Plot (Graphics), Scripting, Scientific Visualization, Graphing, Scripting Languages, Data Visualization Software, Code Reusability, Debugging, Matlab, Numerical Analysis, Mathematical Software, Applied Mathematics, Data Manipulation, Linear Algebra
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Rust (Programming Language), Data Structures, Memory Management, Code Reusability, Package and Software Management, Blockchain, Development Environment, Web Development, Performance Testing, Programming Principles, System Programming, Algorithms, Integrated Development Environments, Software Testing
Beginner · Specialization · 3 - 6 Months