This document provides an overview of object-oriented design fundamentals. It discusses the steps of object-oriented design which include developing design class diagrams, using CRC cards to define class responsibilities and collaborations, and explaining fundamental design principles. CRC cards are used as a technique for designing object-oriented software where classes are assigned responsibilities for how they collaborate to accomplish use cases. The document also outlines notation for design classes and provides examples of applying object-oriented design.