Programming Foundations: Object-Oriented Design

Go to class
Write Review

Free Online Course: Programming Foundations: Object-Oriented Design provided by LinkedIn Learning is a comprehensive online course, which lasts for 2-3 hours worth of material. The course is taught in English and is free of charge. Upon completion of the course, you can receive an e-certificate from LinkedIn Learning. Programming Foundations: Object-Oriented Design is taught by Olivia Chiu Stone and Barron Stone.

Overview
  • Good software starts with great design. Get a fun and fresh introduction to object-oriented design and analysis—from defining requirements to diagramming classes.

Syllabus
  • Introduction

    • Learn object-oriented design principles
    • What you should know
    1. Object-Oriented Fundamentals
    • Object-oriented thinking
    • Objects
    • Classes
    • Abstraction
    • Encapsulation
    • Inheritance
    • Polymorphism
    • Analysis, design, and programming
    • Unified modeling language (UML)
    2. Requirements
    • Defining requirements
    • FURPS+ requirements
    • Challenge: Jukebox requirements
    • Solution: Jukebox requirements
    3. Use Cases and User Stories
    • Use cases
    • Identifying the actors
    • Identifying the scenarios
    • Diagramming use cases
    • User stories
    • Challenge: Jukebox use cases
    • Solution: Jukebox use cases
    4. Domain Modeling
    • Identifying the objects
    • Identifying class relationships
    • Identifying class responsibilities
    • CRC cards
    • Challenge: Jukebox conceptual model
    • Solution: Jukebox conceptual model
    5. Class Diagrams
    • Creating class diagrams: Attributes
    • Creating class diagrams: Behaviors
    • Converting class diagrams into code
    • Instantiating classes
    • Class with multiple constructors
    • Static attributes and methods
    • Challenge: Jukebox class diagrams
    • Solution: Jukebox class diagrams
    6. Inheritance and Composition
    • Identifying inheritance situations
    • Using inheritance
    • Abstract and concrete classes
    • Interfaces
    • Aggregation
    • Composition
    • Challenge: Jukebox class relationships
    • Solution: Jukebox class relationships
    7. Software Development
    • OOP support in different languages
    • General development principles
    • Software testing
    • Design patterns
    Conclusion
    • Next steps