Skills you'll gain: Embedded Software, C (Programming Language), Embedded Systems, Debugging, Peripheral Devices, Memory Management, Integrated Development Environments, Computer Programming Tools, Development Environment, System Programming, Software Development Tools, Program Development, Hardware Architecture, Systems Architecture, Eclipse (Software), Data Structures, Build Tools, C and C++, Programming Principles, Microarchitecture
Intermediate · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: Memory Management, C (Programming Language), C and C++, C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Data Structures, Secure Coding, Algorithms, Software Design, Application Security, Other Programming Languages, Python Programming, System Programming, Computer Architecture, Computer Programming, Java, Performance Tuning, Numerical Analysis
Intermediate · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Computer Programming, Algorithms, C (Programming Language), Software Design, Program Development, Graph Theory, Code Reusability, Computational Logic, Artificial Intelligence, Data Structures, Memory Management, File I/O, Simulations
Beginner · Specialization · 3 - 6 Months

Duke University
Skills you'll gain: Debugging, File I/O, Memory Management, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Test Planning, Simulations, Test Case, System Programming, Systems Development Life Cycle, Computer Programming, Data Structures, C and C++, Software Engineering, Problem Solving, Software Design
Beginner · Specialization · 3 - 6 Months
Dartmouth College
Skills you'll gain: Memory Management, Command-Line Interface, C (Programming Language), Linux Commands, Linux, Computer Programming Tools, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, C and C++, Linux Servers, Algorithms, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, C and C++, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Debugging, Computer Programming, Unit Testing, C (Programming Language), Software Design, Program Development, Algorithms, Graph Theory, Software Testing, Computer Science, Computational Logic
Intermediate · Specialization · 3 - 6 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
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: SQL, Database Management, Query Languages, Data Analysis, Performance Tuning, Data Integration, Data Manipulation
Beginner · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, Object Oriented Programming (OOP), Object Oriented Design, Algorithms, C (Programming Language), Programming Principles, Computer Programming, Graph Theory, Code Reusability, Memory Management, Data Structures, File I/O
Intermediate · Course · 1 - 3 Months

MongoDB Inc.
Skills you'll gain: Data Transformation, MongoDB, Data Manipulation, Data Processing, Data Integration, NoSQL, Data Migration, Data Analysis, Query Languages, Data Preprocessing, Data Pipelines, Unstructured Data, Network Analysis
Intermediate · 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
Beginner · 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