This document provides an introduction to software engineering. It defines software engineering as an engineering discipline concerned with all aspects of software production. It discusses why software engineering is important given that errors in complex software systems can have devastating consequences. It also outlines some key software engineering concepts like the software development process, process models, types of software, and important attributes of good software.