LearnQuest
Skills you'll gain: Java Programming, Java, File I/O, Eclipse (Software), Object Oriented Programming (OOP), Object Oriented Design, Integrated Development Environments, Development Environment, Software Design, Computer Programming, Application Frameworks, Programming Principles, Virtual Machines, Web Development, Debugging, Data Persistence, Package and Software Management, Data Structures
Intermediate · Specialization · 3 - 6 Months

Logical Operations
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Software Design, Application Development, Python Programming, Computer Programming, Programming Principles, Software Development, Scripting, Virtual Machines, Scripting Languages
Mixed · 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

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Object Oriented Design, Application Design, Solution Design, Software Visualization, Program Development, Verification And Validation
Intermediate · Course · 1 - 4 Weeks

University of London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Interactive Design, Program Development, File I/O, Command-Line Interface, Control Panels, Development Environment, Debugging
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, JUnit, Object Oriented Programming (OOP), Unified Modeling Language, Software Design Patterns, Software Testing, Software Engineering, Java, Java Programming, Computer Programming, Application Design, User Interface and User Experience (UI/UX) Design, Unit Testing, Software Design, Software Architecture, API Design, Model View Controller, Program Development, Software Development, Databases
Intermediate · Specialization · 3 - 6 Months

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

Skills you'll gain: Java Programming, Java, Development Environment, Computer Programming, Integrated Development Environments, Object Oriented Programming (OOP), Data Structures, File I/O, Debugging
Beginner · Course · 1 - 3 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, Computer Programming, Java Programming, Software Development Methodologies, Distributed Computing
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: JUnit, Software Documentation, Application Design, Software Testing, Performance Tuning, Data Persistence
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Debugging, Java, Computer Programming, Algorithms, Program Development, Data Structures, Pseudocode, Integrated Development Environments, Object Oriented Programming (OOP), Computational Thinking
Beginner · Course · 1 - 3 Months

Skills you'll gain: Apache Maven, Java, Java Platform Enterprise Edition (J2EE), Object Oriented Design, Hibernate (Java), Unit Testing, File I/O, Docker (Software), Software Design Patterns, Integrated Development Environments, Object-Relational Mapping, Functional Design, Maintainability, System Configuration
Beginner · Specialization · 3 - 6 Months