Carnegie Mellon University

Introduction to Software Engineering


John Vu

Number of Lectures


Course Description

This course is the first course in a series for first year Software Engineering students. It is designed as a non-programming course to be taught along with the Fundamentals of Computing 1 and 2 (as replacements for the CS101 and CS102, courses from a typical Computer Science program). It focuses on the software product, process, methods, and tools, as well as the software life cycles and overview of the disciplines of software engineering.

The course covers the following topics:

Overview of Computer Science: history, basic concepts, trends in industry, software engineering concepts, software life cycle, customers, users and their requirements, software products, process and models, overview of formal methods, software engineering disciplines such as requirements, design, implementation, reviewing and testing, software engineering support disciplines such as planning, quality assurance, configuration management, release management, change management, design & testing methods, evolution principles, handling changes, problem reporting and tracking.



Recommended Textbook