The document summarizes the emergence and evolution of software engineering approaches from the 1950s to modern times. It describes early exploratory programming using assembly languages. It then discusses the introduction of high-level languages and increased focus on control flow-based design. Subsequently, the complexity of software led to data-flow oriented design using data flow diagrams. Object oriented design revolutionized the field by enabling reuse through concepts like encapsulation and inheritance. Finally, it briefly outlines evolutionary, RAD, spiral models for iterative development.