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
★ 4.5 (274) · Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Data Presentation, Scientific Visualization, Application Development, Object Oriented Design, Data Visualization Software, Statistical Visualization, Plot (Graphics), Application Design, Visualization (Computer Graphics), Programming Principles, Data Visualization, Graphical Tools, C and C++, Computational Thinking, Computer Graphic Techniques, Program Development, Graphic and Visual Design, Software Visualization
★ 2.8 (6) · Beginner · Specialization · 3 - 6 Months

Skills you'll gain: File I/O, C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), C and C++, Debugging, Data Structures, C (Programming Language), Code Reusability, Development Environment, Program Development, Programming Principles, Computer Programming, Memory Management, Computer Programming Tools, Data Persistence, Integrated Development Environments, Algorithms, Data Management, Computational Logic
★ 4.7 (20) · Intermediate · Specialization · 1 - 3 Months

Duke University
Skills you'll gain: File I/O, Memory Management, Maintainability, C (Programming Language), Software Engineering, System Programming, Systems Development Life Cycle, Software Development, Simulations, Command-Line Interface, Collaborative Software
★ 4.3 (180) · 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
★ 4.4 (2.3K) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Graph Theory, Algorithms, Game Theory, Data Structures, Computer Programming, Computational Thinking, Problem Solving
Intermediate · Course · 1 - 3 Months

Skills you'll gain: C and C++, C++ (Programming Language), Code Reusability, Maintainability, Event-Driven Programming
Intermediate · Course · 1 - 3 Months

Dartmouth College
Skills you'll gain: Memory Management, C (Programming Language), Embedded Systems, Software Visualization, Computer Engineering, Embedded Software, System Programming, Computer Programming, Data Structures, Linux
★ 4.7 (66) · Beginner · Course · 1 - 3 Months

University of Geneva
Skills you'll gain: Data-oriented programming, Memory Management, Object Oriented Design, System Programming
Intermediate · Course · 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

University of Colorado Boulder
Skills you'll gain: Theoretical Computer Science, Algorithms, Computational Thinking, Data Structures, Design Strategies, Quantum computing, Python Programming, Analysis
★ 4.6 (266) · Advanced · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Computational Thinking, C (Programming Language), Programming Principles, Computer Programming, Code Reusability, Data Storage
★ 4.6 (37) · Beginner · Course · 1 - 4 Weeks