
Skills you'll gain: Data Structures, Development Environment, C++ (Programming Language), Debugging, Computational Thinking, Integrated Development Environments, Computer Programming
Beginner · Course · 1 - 4 Weeks

Infosec
Skills you'll gain: Secure Coding, Application Security, Computer Programming Tools, System Programming, C++ (Programming Language), C (Programming Language), Software Development Tools, Exploit development, Debugging, Programming Principles, Embedded Systems, Interoperability, Unix, Vulnerability Assessments, Unix Commands, Operating Systems, Data Security, Linux, Microsoft Windows, Data Validation
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, Programming Principles, Maintainability, Data Validation
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Software Design, Programming Principles
Intermediate · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), Data Structures, C and C++, C (Programming Language), Object Oriented Programming (OOP), Programming Principles, Software Design Patterns, Debugging, Computer Programming, Object Oriented Design, Unit Testing, Integrated Development Environments, Algorithms, Pseudocode, Command-Line Interface, Graph Theory, Computer Science, File Systems, Artificial Intelligence
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Linux, Linux Commands, C (Programming Language), System Programming, Command-Line Interface, Programming Principles, Development Environment, Computer Programming Tools, Data Structures, Program Development, Debugging
Mixed · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Algorithms, C (Programming Language), Programming Principles, Computer Programming, Graph Theory, Data Structures
Intermediate · Course · 1 - 3 Months
Skills you'll gain: Embedded Software, C (Programming Language), Embedded Systems, Debugging, Peripheral Devices, Integrated Development Environments, Development Environment, Electronic Hardware, System Programming, Electronics, Software Development Tools, Program Development, Hardware Architecture, Data Structures, Microarchitecture, System Configuration, Programming Principles, Performance Tuning, Computer Architecture, Computer Programming
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Data Structures, Software Design Patterns, Programming Principles, File Management, Algorithms, Simulations
Advanced · Course · 1 - 4 Weeks
Dartmouth College
Skills you'll gain: Command-Line Interface, C (Programming Language), Linux Commands, Linux, Embedded Systems, Embedded Software, Programming Principles, Computer Engineering, Linux Servers, File Systems, System Programming, Build Tools, Data Structures, Algorithms, Computer Architecture, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), C and C++, Object Oriented Design, Computer Programming, Programming Principles, Debugging
Intermediate · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: C++ (Programming Language), Programming Principles, Data Structures, Computer Programming, Game Design, Development Environment, Debugging
Beginner · Course · 1 - 3 Months