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.

Universidad Nacional Autónoma de México
Skills you'll gain: Data Mining, Database Design, Scalability, Database Systems, Unstructured Data, Relational Databases, Transaction Processing, Databases, Systems Design, Big Data, Data Architecture, NoSQL, Data Processing, Maintainability, Software Design, SQL, Apache Hadoop
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Java Programming, Java, Computer Programming, Data Validation, Maintainability, Computer Science
Intermediate · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Database Design, Software Design, Usability Testing, User Interface and User Experience (UI/UX) Design, Software Architecture, Software Design Patterns, Database Management, Systems Design, Application Security, Design Strategies, Operating Systems
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Software Documentation, Java Programming, Java, Computer Programming, Programming Principles, Computational Thinking, Computer Science
Intermediate · Course · 1 - 4 Weeks

LearnQuest
Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Object Oriented Design, Software Design
Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: C++ (Programming Language), C (Programming Language), Object Oriented Programming (OOP), Data Structures, Computer Programming, Software Design, Python Programming, Java, Algorithms, Performance Tuning, Debugging
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Maintainability, Software Design, Data Storage Technologies, Program Development, Application Development, Data Structures, File Management
Intermediate · Course · 1 - 4 Weeks

University of London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), C and C++, Object Oriented Design, Programming Principles, Data Structures, Data Modeling, Data Management
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Object Oriented Design, Eclipse (Software), Computer Programming, Development Environment, Integrated Development Environments, Data Structures, Software Installation
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Computer Programming, Embedded Software, Integrated Development Environments, Embedded Systems, Game Design, Web Development
Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Application Security, Vulnerability Assessments, Software Design, Threat Modeling, Open Web Application Security Project (OWASP), Secure Coding, Software Design Patterns, Software Architecture, Cryptography, Blockchain, Public Key Cryptography Standards (PKCS)
Intermediate · Course · 1 - 3 Months

University of London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Debugging, Test Data, Data Validation, Algorithms, Unit Testing, Test Case, Data Structures
Intermediate · Course · 1 - 4 Weeks