
Skills you'll gain: Integrated Development Environments, Software Design Patterns
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Algorithms, Data Structures, Pseudocode, Computer Programming, Computational Thinking, Mathematical Theory & Analysis, Analysis, Analytical Skills
Intermediate · Course · 1 - 3 Months

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

Heriot-Watt University
Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Computer Programming, Application Development, Programming Principles, Computational Logic, Software Development, Debugging, Data Structures
Build toward a degree
Beginner · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: File I/O, Java Programming, Object Oriented Programming (OOP), Data Structures, Java, Cryptography, Software Engineering, Computer Programming, Algorithms, Encryption, Web Servers
Beginner · Course · 1 - 3 Months
Skills you'll gain: Apache Maven, Maintainability, Gradle, Java, Software Design, Software Design Patterns, Software Architecture, Object Oriented Design, Object Oriented Programming (OOP), API Design, Machine Learning Methods, Programming Principles, Integration Testing, Dependency Analysis, User Interface (UI) Design, Design Strategies, Program Evaluation, Automation
Advanced · 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

Duke University
Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Software Engineering, Programming Principles, Computer Programming, Software Design, Predictive Modeling, Algorithms, Data Structures, Performance Testing, File I/O, Debugging, Application Programming Interface (API)
Beginner · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Unit Testing, Data Structures, Java, JUnit, Performance Tuning, Debugging, Algorithms, Object Oriented Programming (OOP), Theoretical Computer Science, Unstructured Data
Intermediate · Course · 1 - 3 Months

Scrimba
Skills you'll gain: Software Design Patterns, Computational Thinking, Software Design, Algorithms, Program Development, Software Development, Software Engineering, Programming Principles, Computer Programming, Problem Solving, Data Structures, Computer Science, Javascript, Web Development, Machine Learning Methods, Data Science
Intermediate · Specialization · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Graph Theory, Data Structures, Java Programming, Java, Object Oriented Design, Software Design, Algorithms, Theoretical Computer Science, Maintainability, Object Oriented Programming (OOP), Network Routing, Computational Thinking, Application Development
Intermediate · Course · 1 - 3 Months

Princeton University
Skills you'll gain: Graph Theory, Data Structures, Algorithms, Theoretical Computer Science, Operations Research, Computational Thinking, Computer Programming, Network Routing, Java Programming, Linear Algebra
Intermediate · Course · 3 - 6 Months