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

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Application Development, Object Oriented Design, Data Visualization Software, Application Design, Visualization (Computer Graphics), Programming Principles, Data Visualization, Graphing, Computer Graphics, Graphical Tools, C and C++, Solution Design, Computational Thinking, Computer Graphic Techniques, Verification And Validation, Program Development, Graphic and Visual Design, Software Visualization
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: C and C++, C++ (Programming Language), Development Environment, Performance Tuning, Test Tools, System Programming, Docker (Software), Computer Architecture, Containerization, Development Testing, Programming Principles, Software Development Tools, Hardware Architecture, Algorithms, Computer Programming, Python Programming, Debugging, Memory Management, Software-Defined Networking, Scripting
Intermediate · Course · 1 - 3 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: Programming Principles, Program Development, Computational Logic, Memory Management
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Animations, Software Design, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Computer Graphic Techniques, Python Programming, Graphic and Visual Design, Event-Driven Programming, Digital Design, Simulations, Computer Graphics, Design, Graphical Tools, Game Design, Computational Logic, Computational Thinking
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

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
Beginner · Course · 1 - 4 Weeks
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 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
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

Logical Operations
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Database Application, Python Programming, Unit Testing, Computer Programming, Restful API, Cross Platform Development, Package and Software Management, Scripting, Data Science, Program Development, Computer Programming Tools, Software Development, Data Processing, Debugging, Programming Principles, User Interface (UI) Design, Regression Analysis, Machine Learning
Intermediate · Specialization · 1 - 3 Months