Surveys basic software engineering topics associated with the processes, documents, and products of the entire software life cycle. Topics include software evolution, project organization, and management, feasibility studies, product definition, design, implementation, and testing issues, and the role of the software engineer within the life cycle.