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: 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

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: PHP (Scripting Language), Object Oriented Programming (OOP), Object Oriented Design, Software Design Patterns, Web Development, Maintainability, Software Engineering
Intermediate · Guided Project · Less Than 2 Hours

Duke University
Skills you'll gain: Design Thinking, Human Centered Design, User Experience Design, Workplace inclusivity, Diversity Equity and Inclusion Initiatives, Creativity, Cultural Diversity
Beginner · Course · 1 - 4 Weeks

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

Skills you'll gain: Object Oriented Programming (OOP), Javascript, Web Applications, UI Components, Application Programming Interface (API), Programming Principles, JSON, Front-End Web Development, Event-Driven Programming, Responsive Web Design, Data Storage, Debugging
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Software Design, Technical Design, Data Structures, Visualization (Computer Graphics), Graphic and Visual Design, Computer Graphics, Python Programming, Interactive Design, Algorithms
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Java, Mobile Development, Java Programming, Object Oriented Programming (OOP), Application Frameworks, Android Development, Application Development, Program Development, Software Development
Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: C and C++, Object Oriented Programming (OOP), C++ (Programming Language), Data Validation, Object Oriented Design, Computer Programming, Programming Principles, Computer Science
Intermediate · Course · 1 - 4 Weeks

Northeastern University
Skills you'll gain: Object Oriented Design, Java, Software Architecture, Object Oriented Programming (OOP), Data Structures, Software Design, Computer Programming, Programming Principles, Application Development, Unified Modeling Language, UI Components
Mixed · 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 Tuning, Performance Testing, Debugging, Application Programming Interface (API), Development Testing
Beginner · Course · 1 - 3 Months

Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), C and C++, Programming Principles, Computer Programming, Software Documentation, Computer Science
Intermediate · Course · 1 - 4 Weeks