Multiple educators
Skills you'll gain: Unit Testing, Data Structures, Event-Driven Programming, File I/O, Interactive Data Visualization, Java, Java Programming, Object Oriented Design, Object Oriented Programming (OOP), User Interface (UI), Debugging, Software Testing, Computer Programming, Cryptography, Software Engineering, Bioinformatics, Algorithms, Data Analysis, Software Design, Problem Solving
★ 4.6 (15K) · Beginner · Specialization · 3 - 6 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 (65) · Beginner · Course · 1 - 3 Months

Peking University
Skills you'll gain: C (Programming Language), Programming Principles, Computer Science, Object Oriented Design, Computer Architecture, Computer Programming, Program Development, Memory Management, Quantum computing, Computational Logic, Computer Hardware
★ 4.8 (1.7K) · Mixed · Course · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Software Configuration Management, Embedded Software, Embedded Systems, Configuration Management, Git (Version Control System), Version Control, Memory Management, System Programming, Build Tools, Software Development Tools, System Software, C (Programming Language), Development Environment, Program Development, Code Review, Software Technical Review, Software Design
★ 4.5 (651) · Intermediate · Course · 1 - 4 Weeks

Dartmouth College
Skills you'll gain: C (Programming Language), Software Documentation, Programming Principles, Computer Programming, Embedded Software, Computer Programming Tools, Computational Logic, Linux
★ 4.6 (265) · Beginner · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: File I/O, Simulations, C (Programming Language), Computational Thinking, Automation, Algorithms, Data Structures, Programming Principles, Memory Management
★ 4.4 (36) · Beginner · Course · 1 - 4 Weeks

Peking University
Skills you'll gain: C (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Data Structures, Algorithms, Memory Management
★ 4.9 (827) · Mixed · Course · 1 - 3 Months

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: Plot (Graphics), Scientific Visualization, Statistical Visualization, Mathematical Software, Data Manipulation, Jupyter, Python Programming, Numerical Analysis, Data Wrangling, Data Science, Other Programming Languages, Java, R Programming, Interoperability, Java Programming, Programming Principles, Computer Programming, Development Environment, C (Programming Language), Machine Learning
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Embedded Systems, Embedded Software, C (Programming Language), Code Reusability, Memory Management, Programming Principles, Data Structures, Development Environment
Beginner · Course · 1 - 4 Weeks

University of Illinois Urbana-Champaign
Skills you'll gain: Memory Management, C++ (Programming Language)
Intermediate · Course · 1 - 3 Months

Dartmouth College
Skills you'll gain: Computer Programming Tools, C (Programming Language), Programming Principles, Embedded Systems, Software Development Tools, Computer Engineering, Algorithms, Data Structures, Computer Programming, Computational Logic
★ 4.7 (106) · Beginner · Course · 1 - 3 Months