
Skills you'll gain: C and C++, C++ (Programming Language), Object Oriented Programming (OOP), File I/O, Computer Programming, Microsoft Visual Studio, System Programming, Apple Xcode, Development Environment, Algorithms, File Systems, Software Design Patterns, Data Structures, Performance Tuning, Debugging, File Management
Intermediate · Specialization · 3 - 6 Months

Logical Operations
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Python Programming, Computer Programming, Code Review, Programming Principles, Maintainability, Scripting, Scripting Languages, Software Development
Mixed · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Programming Principles, Software Design Patterns, Debugging, Computer Programming, Unit Testing, Algorithms, C (Programming Language), Program Development, Integrated Development Environments, Graph Theory, Software Testing, Artificial Intelligence, Integration Testing, Software Design, Software Documentation
Intermediate · Specialization · 3 - 6 Months

University of Pennsylvania
Skills you'll gain: Object Oriented Design, Java, Object Oriented Programming (OOP), Unit Testing, Java Programming, Application Development, Data Structures, Software Testing, Programming Principles, Test Driven Development (TDD), Computer Programming
Beginner · Course · 1 - 4 Weeks

University of London
Skills you'll gain: Pseudocode, File I/O, C++ (Programming Language), Integrated Development Environments, Object Oriented Programming (OOP), Development Environment, Algorithms, Debugging, Data Structures
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

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, Computer Programming, Java Programming, Software Development Methodologies, Distributed Computing
Beginner · Course · 1 - 4 Weeks

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

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Computer Programming, Program Development, Python Programming, Debugging
Intermediate · Course · 1 - 4 Weeks

LearnQuest
Skills you'll gain: Software Design Patterns, Object Oriented Programming (OOP), Object Oriented Design, Computational Thinking, Programming Principles, Algorithms, Software Architecture, Computer Programming, Python Programming, Model View Controller, Data Structures
Beginner · Course · 1 - 4 Weeks

University of Pennsylvania
Skills you'll gain: File I/O, Matplotlib, Object Oriented Design, Java, Object Oriented Programming (OOP), Data Analysis, Unit Testing, Pandas (Python Package), Java Programming, Eclipse (Software), Application Development, Data Visualization, Data Structures, Data Science, Data Cleansing, Debugging, Programming Principles, Computer Programming Tools, Python Programming, Computer Programming
Beginner · Specialization · 3 - 6 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Java Programming, Object Oriented Programming (OOP), File I/O, Programming Principles, Data Structures, Software Engineering, Unit Testing, Debugging, OS Process Management, Performance Tuning
Intermediate · Course · 1 - 3 Months

University of London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), C and C++, File I/O, Programming Principles, Data Structures
Build toward a degree
Intermediate · Course · 1 - 4 Weeks