Master object-oriented design for software development. Learn to design systems using principles like encapsulation, inheritance, and polymorphism.
The language used throughout the course, in both instruction and assessments.

Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Object Oriented Design, Computer Programming, Programming Principles, Data Structures, Debugging
Beginner · Course · 1 - 3 Months

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

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

Skills you'll gain: CI/CD, Integration Testing, Continuous Integration, Docker (Software), Java, Containerization, Software Design Patterns, Development Testing, Microservices, Object Oriented Design
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Unity Engine, Video Game Development, Game Design, C# (Programming Language), Artificial Intelligence, Scripting, UI Components, Animations
Mixed · Course · 1 - 4 Weeks

Coursera
Skills you'll gain: Cloud Computing Architecture, Cloud Infrastructure, Scalability, Cloud Computing, Cloud Platforms, Software Architecture, Cloud Services, Cloud Applications, Cloud Security, Infrastructure As A Service (IaaS), Load Balancing, Serverless Computing, Software Design Patterns, Microservices, Event-Driven Programming
Beginner · Course · 1 - 4 Weeks

Amazon
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Java, File Management, Data Import/Export, Maintainability, Debugging, Software Development
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Unified Modeling Language, Software Design Patterns, C++ (Programming Language), Software Architecture, Object Oriented Design, Software Design, Object Oriented Programming (OOP), Maintainability, Programming Principles
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Software Documentation, Development Testing, Package and Software Management
Advanced · Course · 3 - 6 Months

Packt
Skills you'll gain: Java, Web Servers, Encryption, Software Installation
Intermediate · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Unified Modeling Language, Unit Testing, Software Design, Technical Design, Object Oriented Design, Software Engineering, Software Development Tools, JUnit, Systems Design, Data Ethics, Test Automation, Software Architecture, Software Development Methodologies, Dataflow
Intermediate · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Extract, Transform, Load, Decision Support Systems, Data Warehousing, Data Mining, Database Design, Business Intelligence, Dashboard, Star Schema, Relational Databases, Database Management, Data Visualization Software, Snowflake Schema, Data Visualization, Business Reporting, Database Management Systems, SAS (Software), Data Modeling, Interactive Data Visualization, SQL, Data Mart
Beginner · Specialization · 1 - 3 Months