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

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

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, Unified Modeling Language, Object Oriented Programming (OOP), Test Driven Development (TDD), JUnit, Java, Unit Testing, Software Testing, Software Engineering, Software Design Patterns, Java Programming, Software Design, Systems Analysis, Conceptual Design
Build toward a degree
Intermediate · Course · 1 - 3 Months

Duke University
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Python Programming, Computer Programming, Software Engineering
Beginner · Guided Project · Less Than 2 Hours

Coursera Project Network
Skills you'll gain: Object Oriented Programming (OOP), Java, Object Oriented Design, Java Programming
Intermediate · Guided Project · Less Than 2 Hours

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

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

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

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