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

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

University of Alberta
Skills you'll gain: Software Architecture, Model View Controller, Unified Modeling Language, Object Oriented Design, Service Oriented Architecture, API Design, Systems Architecture, Web Services, Software Design Patterns, Software Design, Simple Object Access Protocol (SOAP), Microservices, Restful API, Software Design Documents, Software Visualization, Code Review, Solution Architecture, Object Oriented Programming (OOP), Software Development, Java
Beginner · Specialization · 3 - 6 Months

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, 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, Test Driven Development (TDD), Databases
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Unified Modeling Language, JUnit, Software Testing, Software Engineering, Java, Java Programming, Unit Testing, Program Development, Software Design, Application Design, Test Driven Development (TDD)
Build toward a degree
Intermediate · 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, Program Development, Computer Programming, Software Development Methodologies, Distributed Computing
Beginner · Course · 1 - 4 Weeks

University of Alberta
Skills you'll gain: Model View Controller, Software Design Patterns, Software Design, Unified Modeling Language, Object Oriented Design, Code Review, Software Architecture, Programming Principles, Maintainability, Java, Application Design
Intermediate · Course · 1 - 4 Weeks

Coursera
Skills you'll gain: Object Oriented Programming (OOP), Java, Object Oriented Design, Java Programming
Intermediate · Guided Project · Less Than 2 Hours
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

University of California San Diego
Skills you'll gain: Unit Testing, Growth Mindedness, Data Structures, Graph Theory, Event-Driven Programming, Social Network Analysis, Interactive Data Visualization, Java, Java Programming, Network Analysis, Object Oriented Programming (OOP), Technical Communication, User Interface (UI), Object Oriented Design, Computer Programming, Willingness To Learn, Adaptability, Performance Tuning, Algorithms, Problem Solving
Intermediate · Specialization · 3 - 6 Months

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, Unit Testing, Data Management, Test Case
Build toward a degree
Intermediate · Specialization · 1 - 3 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Object Oriented Design, Software Architecture, Software Design, Software Design Patterns, Software Development Life Cycle, Software Development, Software Engineering, Maintainability, Systems Architecture, Service Oriented Architecture, Technical Design, Web Services, Model View Controller, Event-Driven Programming
Intermediate · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Debugging, C (Programming Language), Object Oriented Programming (OOP), Software Design Patterns, Object Oriented Design, Code Review, Data Structures, Computer Programming, Algorithms, Command-Line Interface, Data-oriented programming, Programming Principles, Graph Theory, Computer Science, Computational Thinking, Artificial Intelligence, Integrated Development Environments, Software Technical Review, Game Design
Beginner · Specialization · 3 - 6 Months