Full description [Brief description]:

This course teaches the fundamental concepts of object-orientation. Participants will see each object-oriented principle related to and contrasted with an equivalent principle that they’ve probably already encountered in their systems careers. The course also discusses the positive and negative implications for managers of adopting object-orientation and an “object-oriented” lifecycle.

Detailed contents:

In this course you will learn:
Basic concepts of object-orientation
  • Encapsulation
  • Implementation/information hiding Objectification
  • Message passing
  • Classes versus objects
  • Class internal structure
  • Inheritance
  • Polymorphism/overloading/dynamic binding
  • Genericity
  • Object-oriented and object-based systems
  • Objects in distributed systems
Background of object-orientation
  • What is object-orientation?
  • What is it for—and why?
  • Using an object-oriented approach
  • An historical perspective on object-orientation
Management implications of object orientation
  • Promises and pitfalls of object-orientation
  • How people learn object-orientation: the seven stages of expertise
  • Training for object orientation
  • The “technology trap” of object orientation
  • The organizational and cultural changes of moving to object orientation
  • Running a shop for reusability
  • Managing the class library (object-class repositories)
  • The “object-oriented” lifecycle
  • The changing nature of projects: waterfall, whirlpool, fountain, Jacuzzi—or what?
  • Expected productivity gains from object orientation: how much and when