Master object-oriented design for software development. Learn to design systems using principles like encapsulation, inheritance, and polymorphism.

University of Pennsylvania
Skills you'll gain: Object Oriented Design, Java, Object Oriented Programming (OOP), Unit Testing, Java Programming, Application Development, Data Structures, Software Testing, Programming Principles, Test Driven Development (TDD), Computer Programming
Beginner · Course · 1 - 4 Weeks

University of Minnesota
Skills you'll gain: UI/UX Research, User Research, Design Research, User Interface (UI), User Interface (UI) Design, Usability Testing, Prototyping, Usability, User Experience, User Centered Design, Graphic and Visual Design, Ideation, Web Content Accessibility Guidelines, Design, Peer Review, User Experience Design, Human Computer Interaction, Interaction Design, Qualitative Research, Mockups
Intermediate · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Video Game Development, Unreal Engine, Event-Driven Programming, Unity Engine, C# (Programming Language), Software Design Patterns, UI Components, Programming Principles, Debugging, File Management, Data Structures
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: Embedded Software, Embedded Systems, C++ (Programming Language), Object Oriented Programming (OOP), System Programming, C (Programming Language), Development Environment, Verification And Validation, Software Testing, Peripheral Devices, Debugging
Intermediate · Course · 1 - 3 Months

Northeastern University
Skills you'll gain: Software Architecture, Java Programming, User Interface (UI), Object Oriented Programming (OOP), Data-Driven Decision-Making, Business Modeling, Test Data, Software Development, Application Development, Artificial Intelligence, Data Structures
Mixed · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Unity Engine, Video Game Development, Object Oriented Programming (OOP), C# (Programming Language), Software Design Patterns, Event-Driven Programming, Computer Programming, UI Components, Data Import/Export, Debugging, File Management
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: 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

University of London
Skills you'll gain: Pseudocode, C++ (Programming Language), Integrated Development Environments, Object Oriented Programming (OOP), Algorithms, Debugging, Programming Principles, Data Validation, Data Structures, File Management
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

Northeastern University
Skills you'll gain: Java, Object Oriented Programming (OOP), Data Structures, Object Oriented Design, Event-Driven Programming, Computer Programming, Application Design, Programming Principles, Application Development, User Interface (UI), User Interface (UI) Design, Integrated Development Environments, Software Development
Intermediate · Course · 1 - 4 Weeks

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