OO Design Workshop

Available Languages: C++  Java  C# 

Art for OO Design Workshop

Transfer %

Knowledge: 50%, Skill-Building: 50%

Learning Outcomes

  • Understanding of the key principles that create good object designs
  • Able to demonstrate the use of inheritance and polymorphism
  • Able to identify common code smells and suggest refactorings to improve them
  • Able to do basic Test-Driven Development

Method of Instruction

A mix of Interactive Dialogs, Exercises, Lectures, Live and/or Video Demonstrations, and Instructional Simulation

Target Audience

Programmers with up to 2-3 years experience, but limited experience with Object-Oriented concepts

Course Level

Introductory

Course Prerequisites

  • Required: An open mind
  • Basic familiarity with the language being used
We can customize the contents and agenda to best suit your needs.

Contents

Design and Craft: Being a Professional
    Exercise: Roman Numerals - Thinking in Terms of Objects
Polymorphism for Powerful Substitution
    Exercise: Limits of Inheritance
    Exercise: Object Relationships
Recursion or Iteration?
    Exercise: Change Loop to Recursion
DRY: Don't Repeat Yourself
    Exercise: Refactor Duplicate Code
Coupling and Cohesion
Encapsulation: Hiding the Right Stuff
    Exercise: Data Hiding
SOLID Principles
    Exercise: Refactor Switch Smell
    Exercise: Refactor Refused Bequest Smell
SOLID in Action
Code Smells and Refactoring
    Exercise: Finding and Fixing Poor Code
Functional Programming: An Introduction
    Exercise: Simplifying Code with Functional Concepts
Test-Driven Development
    Exercise: Test-Driven Development Practice
Evolutionary Design: Growing Systems Effectively
    Exercise: Applying Evolutionary Design

Related Items



Request a Quote

Have Any Questions?

Transfer %

Knowledge: 50%, Skill-Building: 50%

Learning Outcomes

  • Understanding of the key principles that create good object designs
  • Able to demonstrate the use of inheritance and polymorphism
  • Able to identify common code smells and suggest refactorings to improve them
  • Able to do basic Test-Driven Development

Method of Instruction

A mix of Interactive Dialogs, Exercises, Lectures, Live and/or Video Demonstrations, and Instructional Simulation

Target Audience

Programmers with up to 2-3 years experience, but limited experience with Object-Oriented concepts

Course Level

Introductory

Course Prerequisites

  • Required: An open mind
  • Basic familiarity with the language being used
We can customize the contents and agenda to best suit your needs.

Contents

Design and Craft: Being a Professional
    Exercise: Roman Numerals - Thinking in Terms of Objects
Polymorphism for Powerful Substitution
    Exercise: Limits of Inheritance
    Exercise: Object Relationships
Recursion or Iteration?
    Exercise: Change Loop to Recursion
DRY: Don't Repeat Yourself
    Exercise: Refactor Duplicate Code
Coupling and Cohesion
Encapsulation: Hiding the Right Stuff
    Exercise: Data Hiding
SOLID Principles
    Exercise: Refactor Switch Smell
    Exercise: Refactor Refused Bequest Smell
SOLID in Action
Code Smells and Refactoring
    Exercise: Finding and Fixing Poor Code
Functional Programming: An Introduction
    Exercise: Simplifying Code with Functional Concepts
Test-Driven Development
    Exercise: Test-Driven Development Practice
Evolutionary Design: Growing Systems Effectively
    Exercise: Applying Evolutionary Design

Related Items