The document provides an agenda and introduction for a two-day software design training.
Day 1 covers introduction to software design principles, object oriented concepts and design, and evaluating software design. Day 2 covers software design patterns and clean code.
The introduction defines software design, contrasts it with architecture and coding, and outlines principles of software design such as SOLID and DRY. It also discusses software design considerations, modeling, and checkpoints. Later sections explain object oriented concepts, design principles including GRASP, and techniques for evaluating design quality.