Object Oriented Design

Object Oriented Design is a programming paradigm based on the concept of "objects", which can contain data and code. Data in the form of fields (attributes), and code, in the form of procedures (methods). Coursera's Object Oriented Design catalogue teaches you the principles and methodologies to design software systems using object-oriented techniques. You'll learn about fundamental concepts such as abstraction, encapsulation, inheritance, and polymorphism, how to design classes, interfaces, and relationships between objects, and the application of design patterns to solve complex problems. This skill is crucial for software engineers, programmers, and anyone seeking to create efficient, modular, and scalable software systems.
47credentials
7online degrees
79courses

Filter by

Subject
Required

Language
Required

The language used throughout the course, in both instruction and assessments.

Learning Product
Required

Build job-relevant skills in under 2 hours with hands-on tutorials.
Learn from top instructors with graded assignments, videos, and discussion forums.
Get in-depth knowledge of a subject by completing a series of courses and projects.
Earn career credentials from industry leaders that demonstrate your expertise.
Earn your Bachelor’s or Master’s degree online for a fraction of the cost of in-person learning.

Level
Required

Duration
Required

Subtitles
Required

Educator
Required

Explore the Object Oriented Design Course Catalog

  • Status: Free Trial

    Skills you'll gain: JUnit, Java Programming, Object Oriented Programming (OOP), Object Oriented Design, Java, Unit Testing, Debugging, Maintainability, Software Development, Secure Coding, Software Testing, Programming Principles, Computer Programming, Test Case, Application Development, Authentications, Application Security, Android Development, Cryptography, Software Design Patterns

  • Status: Free Trial

    Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Java, Java Programming, File Management, Application Development, Programming Principles, Program Development, Application Design, Data Structures, Data Management

  • Status: Free Trial

    University of Michigan

    Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), Software Design, Debugging, Object Oriented Design, Data Processing, Web Scraping, Unit Testing, Programming Principles, Python Programming, Data Import/Export, Restful API, Image Analysis, Data Manipulation, Jupyter, Computer Programming, Data Structures, Software Engineering, File Management

  • Status: Free Trial

    University of Colorado System

    Skills you'll gain: Object Oriented Design, Unity Engine, Debugging, Object Oriented Programming (OOP), Game Design, Video Game Development, Software Design Patterns, Data Structures, C# (Programming Language), Prototyping, Graph Theory, Computer Programming, Data Management, Event-Driven Programming, Software Architecture, Application Design, Algorithms, Computational Thinking, Data Storage, Application Development

  • Status: New
    Status: Free Trial

    Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Java, Java Programming, File Management, Application Development, Maintainability, Software Design, Development Environment, Program Development, Data Storage Technologies, Application Design, Programming Principles, Computer Programming, Data Structures, Data Management, Integrated Development Environments, Debugging

  • Status: New
    Status: Free Trial

    Skills you'll gain: TypeScript, Object Oriented Design, Object Oriented Programming (OOP), Programming Principles, Software Design Patterns, Software Design, Computer Programming, Software Architecture, Debugging, Maintainability, Software Development, Javascript, Web Development Tools, Web Development, Data Validation

  • Status: Free Trial

    LearnQuest

    Skills you'll gain: Java Programming, Spring Framework, Java, Eclipse (Software), Object Oriented Programming (OOP), Object Oriented Design, Integrated Development Environments, Development Environment, Java Platform Enterprise Edition (J2EE), Software Design, Software Installation, Computer Programming, Programming Principles, Program Development, Virtual Machines, Web Development, Debugging, Package and Software Management, Data Structures, File Management

  • Status: Free Trial

    University of Minnesota

    Skills you'll gain: User Story, Agile Software Development, Software Design Patterns, Design Thinking, Software Development Methodologies, Software Design, Agile Methodology, Agile Project Management, Process Mapping, Software Engineering, Kanban Principles, Software Development Life Cycle, Software Quality Assurance, Application Security, Scrum (Software Development), Object Oriented Design, Software Architecture, User Experience Design, Software Quality (SQA/SQC), Requirements Analysis

  • Status: Preview

    Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Java, Software Design, Software Design Patterns, Programming Principles, Software Development

  • Status: Free Trial

    University of Illinois Urbana-Champaign

    Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Development Environment, Engineering Software, Computer Programming, Data Structures, Debugging, Program Development

  • Status: Free Trial

    Skills you'll gain: Eclipse (Software), Java Programming, Object Oriented Programming (OOP), Java, Object Oriented Design, Integrated Development Environments, Development Environment, Computer Programming, Debugging, Virtual Machines, Algorithms

  • Status: Free Trial

    University of California San Diego

    Skills you'll gain: Event-Driven Programming, Interactive Data Visualization, Java, Java Programming, Object Oriented Programming (OOP), User Interface (UI), Object Oriented Design, Computer Programming, Algorithms, Software Engineering, Data Structures, Programming Principles, Software Documentation, Development Environment, Debugging