
Skills you'll gain: Graph Theory, C++ (Programming Language), Network Routing, Data Structures, Object Oriented Programming (OOP), File I/O, Computational Thinking, Algorithms
Intermediate · Guided Project · Less Than 2 Hours

Dartmouth College
Skills you'll gain: C (Programming Language), Computer Architecture, Embedded Software, Computer Engineering, Computer Programming, Computer Science, Program Development, Data Structures, Linux, Debugging
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: File I/O, Maintainability, Program Development, C (Programming Language), Software Engineering, System Programming, Software Development, Simulations, Command-Line Interface, Operating Systems, User Interface (UI), Data Structures, Debugging
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Ruby (Programming Language), Debugging, Scripting Languages, Data Structures, Scripting, Program Development, Object Oriented Programming (OOP)
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Data Ethics, Data Analysis, Analytics, Data-Driven Decision-Making, Google Sheets, Business Analytics, Spreadsheet Software, Analytical Skills, Tableau Software, Data Sharing, Data Collection, Data Cleansing, Data Processing, Data Visualization Software, Data Visualization, SQL
Beginner · Course · 1 - 4 Weeks
Dartmouth College
Skills you'll gain: Command-Line Interface, C (Programming Language), Linux Commands, Linux, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, Linux Servers, File Systems, System Programming, Algorithms, Computer Architecture, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Embedded Software, Debugging, Embedded Systems, Integrated Development Environments, C (Programming Language), Computer Programming Tools, Development Environment, Electronic Hardware, Electronics, Software Development Tools
Intermediate · Course · 1 - 4 Weeks
Skills you'll gain: Embedded Software, C (Programming Language), Embedded Systems, Debugging, Peripheral Devices, Integrated Development Environments, Computer Programming Tools, Development Environment, System Programming, Electronics, Software Development Tools, Hardware Architecture, Data Structures, Electronic Hardware, Microarchitecture, Programming Principles, Performance Tuning, Computer Architecture, Control Systems, Computer Programming
Intermediate · Specialization · 3 - 6 Months

EDUCBA
Skills you'll gain: C (Programming Language), Embedded Systems, Embedded Software, Debugging, System Programming, Hardware Architecture, Microarchitecture, Computer Architecture, Data Structures, Peripheral Devices
Beginner · Course · 1 - 4 Weeks
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Software Documentation
Beginner · Course · 1 - 3 Months

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

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Programming Principles, Software Design Patterns, Computer Programming, Algorithms, C (Programming Language), Graph Theory, Debugging, Artificial Intelligence, Data Structures, Game Design, Software Documentation
Beginner · Specialization · 3 - 6 Months