The language used throughout the course, in both instruction and assessments.

University of London
Skills you'll gain: Pseudocode, C++ (Programming Language), Object Oriented Programming (OOP), C and C++, Object Oriented Design, Integrated Development Environments, Computer Programming, Programming Principles, Debugging, Data Structures, Program Development, Algorithms, Interactive Design, Data Modeling, Software Engineering, Test Data, Data Validation, User Interface (UI), Unit Testing, Data Management
Build toward a degree
Intermediate · Specialization · 1 - 3 Months

Multiple educators
Skills you'll gain: Unit Testing, Data Structures, Event-Driven Programming, Interactive Data Visualization, Java, Java Programming, User Interface (UI), Object Oriented Programming (OOP), Debugging, Object Oriented Design, Computer Programming, Cryptography, Software Engineering, Performance Tuning, Encryption, Algorithms, Programming Principles, Data Analysis, Software Design, Problem Solving
Beginner · Specialization · 3 - 6 Months

LearnQuest
Skills you'll gain: Unified Modeling Language, Object Oriented Programming (OOP), Object Oriented Design, Test Driven Development (TDD), Software Design Patterns, Software Design, Programming Principles, Program Development, Computer Programming, Software Development Methodologies, Distributed Computing
Beginner · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Event-Driven Programming, Interactive Data Visualization, Java, Java Programming, Object Oriented Programming (OOP), User Interface (UI), Object Oriented Design, Computer Programming, Algorithms, Software Engineering, Data Structures, Programming Principles, Software Documentation, Development Environment, Debugging
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Java, Java Programming, File Management, Application Development, Programming Principles, Program Development, Application Design, Data Structures, Data Management
Intermediate · Course · 1 - 3 Months

University of Alberta
Skills you'll gain: Object Oriented Design, Unified Modeling Language, Software Design, Object Oriented Programming (OOP), Java, Software Architecture, Technical Design, Conceptual Design
Intermediate · Course · 1 - 4 Weeks

Simplilearn
Skills you'll gain: C and C++, C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Data Structures, Algorithms
Beginner · Course · 1 - 4 Weeks

Princeton University
Skills you'll gain: Programming Principles, Computer Programming, Object Oriented Programming (OOP), Performance Tuning, Data Structures, Java Programming, Java, Computational Thinking, Computer Science, Algorithms, Animations, Simulations, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, C# (Programming Language), Programming Principles, .NET Framework
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Java Programming, Java, Computer Programming, Data Validation, Maintainability, Computer Science
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Code Review, Microsoft Visual Studio, Development Environment, Maintainability, Integrated Development Environments, Scalability, Software Development Tools, Python Programming, Debugging, Software Installation
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Basic Electrical Systems, Wireless Networks, C++ (Programming Language), Object Oriented Design, Computer Programming, Control Systems, Interactive Design, Software Installation, Electronic Components, C and C++, Hardware Design, Electronics, Programming Principles, Display Devices, Embedded Software, Integrated Development Environments, Product Development, Electronic Systems, Embedded Systems
Intermediate · Specialization · 3 - 6 Months