This document outlines the objectives and concepts of a course on object-oriented software design and software engineering. It includes definitions, key examples of software applications, and highlights the importance of effective software methodologies and practices to manage complexity and risks in software development. Historical context and notable software engineering disasters are discussed to emphasize the need for continuous improvement in the field.