This document provides an overview of software and software engineering. It defines software as a set of programs, documents, and data that form a configuration. Software is complex and does not physically wear out over time like other engineered artifacts. The document outlines different types of software applications and categories, including system software, application software, embedded software, and web applications. It also discusses challenges with legacy software and laws of software evolution, highlighting that software must continuously adapt and change to remain satisfactory. Finally, it notes common software myths that can lead to bad decisions if not grounded in reality.