Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
Programming Foundations: Object-Oriented Design

Programming Foundations: Object-Oriented Design

2h 41mBeginner2024-12-09

Authors

Barron Stone

Barron Stone

Electrical Engineer

Olivia Chiu Stone

Olivia Chiu Stone

Programmer, Engineer

Course details

All good software starts with a great design. Object-oriented design helps developers plan applications before they write a single line of code, and break down ideas into reusable and maintainable components. This course focuses on the foundational concepts, teaching them in a fun, interactive way to help you quickly develop your skills. Tag team Olivia and Barron Stone introduce you to the concepts and terms—objects, classes, abstraction, inheritance, and more—that you need to get started. They then show how to take the requirements for an app, identify use cases, and map out classes using Universal Modeling Language (UML). The final design can then be translated into code using one of the many popular object-oriented programming languages, such as Java, C#, Ruby, or Python.

Learning objectives
Object-oriented basics: objects, classes, and more
Encapsulation
Inheritance
Defining requirements
Identifying use cases, actors, and scenarios
Domain modeling
Identifying class responsibilities and relationships
Creating class diagrams
Using abstract classes
Working with inheritance
Developing software with object-oriented design principles

Skills covered

Object-Oriented ProgrammingSoftware DesignPythonFoundationsOpen SourceSoftware Development

Concepts

0. Introduction

  • 01 - Learn object-oriented design principles
  • 02 - What you should know

1. Object-Oriented Fundamentals

  • 03 - Object-oriented thinking
  • 04 - Objects
  • 05 - Classes
  • 06 - Abstraction
  • 07 - Encapsulation
  • 08 - Inheritance
  • 09 - Polymorphism
  • 10 - Analysis, design, and programming
  • 11 - Unified modeling language (UML)

2. Requirements

  • 12 - Defining requirements
  • 13 - FURPS+ requirements
  • 14 - Challenge - Jukebox requirements
  • 15 - Solution - Jukebox requirements

3. Use Cases and User Stories

  • 16 - Use cases
  • 17 - Identifying the actors
  • 18 - Identifying the scenarios
  • 19 - Diagramming use cases
  • 20 - User stories
  • 21 - Challenge - Jukebox use cases
  • 22 - Solution - Jukebox use cases

4. Domain Modeling

  • 23 - Identifying the objects
  • 24 - Identifying class relationships
  • 25 - Identifying class responsibilities
  • 26 - CRC cards
  • 27 - Challenge - Jukebox conceptual model
  • 28 - Solution - Jukebox conceptual model

5. Class Diagrams

  • 29 - Creating class diagrams - Attributes
  • 30 - Creating class diagrams - Behaviors
  • 31 - Converting class diagrams into code
  • 32 - Instantiating classes
  • 33 - Class with multiple constructors
  • 34 - Static attributes and methods
  • 35 - Challenge - Jukebox class diagrams
  • 36 - Solution - Jukebox class diagrams

6. Inheritance and Composition

  • 37 - Identifying inheritance situations
  • 38 - Using inheritance
  • 39 - Abstract and concrete classes
  • 40 - Interfaces
  • 41 - Aggregation
  • 42 - Composition
  • 43 - Challenge - Jukebox class relationships
  • 44 - Solution - Jukebox class relationships

7. Software Development

  • 45 - OOP support in different languages
  • 46 - General development principles
  • 47 - Software testing
  • 48 - Design patterns

Glossaries

Conclusion

  • 49 - Next steps

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
Zarinpal
Zibal