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: 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 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, System Programming, Computer Architecture, Java, Performance Tuning, Unix, Computer Science, Debugging
Intermediate · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C (Programming Language), Object Oriented Programming (OOP), Programming Principles, Software Design Patterns, Debugging, Computer Programming, Object Oriented Design, Algorithms, Data Structures, Pseudocode, Command-Line Interface, Graph Theory, Artificial Intelligence, File Systems, Game Design
Beginner · 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: iOS Development, Apple iOS, Apple Xcode, User Interface (UI), Mobile Development, Swift Programming, Unit Testing, User Interface (UI) Design, UI Components, Mobile Development Tools, Objective-C (Programming Language), Application Development, Data Structures, Programming Principles, Test Case, Software Testing, Object Oriented Programming (OOP), Integrated Development Environments, Development Environment, Prototyping
Beginner · Specialization · 3 - 6 Months

University of Toronto
Skills you'll gain: Apple iOS, Swift Programming, iOS Development, Model View Controller, Apple Xcode, Mobile Development, User Interface (UI), Application Design, Application Development, Objective-C (Programming Language), UI Components, Animations, User Interface and User Experience (UI/UX) Design, Object Oriented Programming (OOP), Application Frameworks, Interaction Design, Programming Principles, Integrated Development Environments, Computer Graphics, Persistence
Intermediate · Specialization · 3 - 6 Months
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Pseudocode
Beginner · Course · 1 - 3 Months
University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), Data Structures, C and C++, C (Programming Language), Programming Principles, Object Oriented Programming (OOP), Debugging, C++ (Programming Language), Computer Programming, Unit Testing, Integrated Development Environments, Computer Science, Pseudocode, Command-Line Interface, Algorithms, File Systems, Integration Testing, Software Design
Intermediate · Specialization · 3 - 6 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: Embedded Software, Real-Time Operating Systems, Embedded Systems, System Programming, Cross Platform Development, System Software, Hardware Troubleshooting, Hardware Architecture, Peripheral Devices, Product Family Engineering, Computer Hardware, Serial Peripheral Interface, Performance Tuning, Software Design, Software Design Patterns, Real Time Data, C (Programming Language), Debugging, System Configuration, Maintainability
Advanced · Course · 1 - 4 Weeks

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