This document provides an introduction to software engineering. It discusses the importance of software today and how it has evolved significantly since the Apollo 11 moon landing. Some key characteristics of good software discussed include maintainability, correctness, reusability, reliability, and portability. The document also examines the software crisis and reasons it occurred, such as requirements constantly changing and not enough developers. Different paradigms for software development are presented, including waterfall model and agile development. Finally, the document introduces computer-aided software engineering (CASE) tools and how they can benefit the software development process.