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.

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Animation and Game Design, Interactive Data Visualization, Software Design, Technical Design, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Graphic and Visual Design, Python Programming, Generative AI, Simulations, Computer Graphics, Design, Computational Logic, Computer Programming, Creative Design, Data Import/Export, Computational Thinking
Beginner · Specialization · 3 - 6 Months

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 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 Michigan
Skills you'll gain: Data Structures, 3D Modeling, Computational Logic, Visualization (Computer Graphics), Design, Generative Model Architectures, Python Programming, Animations, Scripting, Computer Programming
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, C# (Programming Language), Programming Principles, .NET Framework
Beginner · Course · 1 - 3 Months

Politecnico di Milano
Skills you'll gain: Business Process Management, Organizational Structure, Decision Making, Game Theory, Operational Efficiency, Organizational Effectiveness, Business Management, Problem Solving, Business, Complex Problem Solving, Business Strategy, Coordination
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Software Design Patterns, Unified Modeling Language, Software Design, Java Programming, Software Architecture, Application Design, User Interface and User Experience (UI/UX) Design, API Design, Data Modeling, Artificial Intelligence
Build toward a degree
Intermediate · Course · 1 - 3 Months

Peking University
Skills you'll gain: Object Oriented Design, Software Development Methodologies, Unified Modeling Language, Object Oriented Programming (OOP), Systems Analysis, Systems Design, Software Design, Software Engineering, System Implementation, Software Architecture, Technical Design, Data Management, Requirements Analysis, Cross Platform Development, Human Computer Interaction
Beginner · Course · 3 - 6 Months

SkillUp
Skills you'll gain: Systems Design, Business Process Modeling, Systems Analysis, Data Modeling, Digital Transformation, Business Process, Risk Management, Workflow Management, Systems Architecture, Business Analysis, Solution Design, Enterprise Resource Planning, Information Technology, Process Flow Diagrams, Business Transformation, Prototyping, Computer Science, Agile Methodology, Product Lifecycle Management, Business Communication
Intermediate · Course · 1 - 4 Weeks

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

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

Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Computer Programming, Virtual Machines, Package and Software Management
Beginner · Course · 1 - 4 Weeks