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, Software Design
★ 4.5 (7.3K) · Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: C++ (Programming Language), Software Documentation, Performance Tuning, Application Design, Technical Documentation, Application Development, Memory Management, Data Structures, Generative AI, Algorithms, Scalability
Beginner · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Computational Thinking, File I/O, Data Collection, Simulations, Data Analysis, Microsoft Visual Studio, C (Programming Language), C and C++, Statistical Analysis, Data Presentation, Automation, Program Development, Algorithms, Microsoft Development Tools, Programming Principles, Integrated Development Environments, Computer Programming, Data Structures, Data Storage, Code Reusability
★ 4.6 (433) · Beginner · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: Memory Management, C (Programming Language), C and C++, Data Structures, Secure Coding, Application Security, System Programming, Programming Principles
★ 4.5 (73) · Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Software, Debugging, Embedded Systems, Memory Management, Integrated Development Environments, C (Programming Language), Computer Programming Tools, Development Environment, C and C++, Software Development Tools, System Programming, Eclipse (Software), Build Tools, Programming Principles, Data Storage
★ 4.8 (71) · Intermediate · Course · 1 - 4 Weeks

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, File Management, System Programming, Data Integrity, C and C++, Program Development, Application Development, Data Storage, Computational Logic, Data Maintenance, Animation and Game Design
Beginner · Specialization · 1 - 3 Months

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, Integrated Development Environments, Debugging, Program Development
★ 4.7 (3K) · Intermediate · Course · 1 - 4 Weeks

Simplilearn
Skills you'll gain: Data Structures, C (Programming Language), C and C++, Programming Principles, Data Management, Memory Management, Algorithms, Computer Programming, File I/O, File Management, Other Programming Languages, Development Environment
★ 4.5 (24) · Beginner · Course · 1 - 4 Weeks

EDUCBA
Skills you'll gain: C (Programming Language), Embedded Systems, Embedded Software, Debugging, System Programming, Systems Architecture, Hardware Architecture, Microarchitecture, Data Structures, Peripheral Devices, Memory Management, Computational Logic
★ 4.1 (133) · Beginner · Course · 1 - 4 Weeks

The Hong Kong University of Science and Technology
Skills you'll gain: Software Design Patterns, Systems Development Life Cycle, Software Architecture, Software Development Life Cycle, Software Quality Assurance, Software Design, Software Engineering, Quality Assurance, Systems Analysis, Object Oriented Design, Systems Design, Project Management, Project Planning, Unified Modeling Language, Diagram Design
★ 4.6 (208) · Intermediate · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, C (Programming Language), C and C++, Electronic Components, Computer Hardware, Integrated Development Environments, Programming Principles, Computer Programming, Electronics Engineering, Program Development, Software Installation, Development Environment, Digital Communications, Build Tools
★ 4.7 (7.2K) · Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Unified Modeling Language, Software Design Patterns, C++ (Programming Language), Software Architecture, Object Oriented Design, Software Design, Code Reusability, Object Oriented Programming (OOP), Maintainability, Programming Principles, Memory Management
Intermediate · Course · 1 - 3 Months