This document discusses the General Responsibility Assignment Software Patterns (GRASP) principles for object-oriented design. It introduces the nine GRASP patterns: information expert, creator, controller, low coupling, high cohesion, indirection, polymorphism, pure fabrication, and protected variations. For each pattern, it provides a brief definition and examples of how and when to apply the pattern to achieve better object-oriented designs with low coupling and high cohesion. The presentation aims to explain the importance of understanding and applying these fundamental GRASP patterns for assigning responsibilities in software design.