This document introduces software engineering and its importance. It defines software as a series of instructions that direct a computer to perform tasks, and software engineering as the systematic study and application of engineering principles to software design, development, implementation and maintenance. The document also discusses different types of software, software process models, the generic activities in a software development process, and attributes of good quality software such as maintainability, dependability, efficiency and cost/performance.