22916 Software Engineering

Credits: 4 graduate credits in Computer Science

Prerequisite: Admission to the graduate program in Computer Science 1

The course is based on selected chapters from Software Engineering (9th ed.), by I. Sommerville (Addison-Wesley, 2011); on selected sections from ISO 12207 Information Technology – Software Life Cycle Processes; and on slides posted on the course website.

The course deals with the basic activities of software development [i.e., the definition of software requirements, software design, and software integration and testing] as well as the basic activities of software project management [i.e., scope management, work management, people management, quality and process management, and configuration management]. The course emphasizes principles and basic concepts of these development and management activities and illustrates them with specific techniques.

Students are required to perform a project spanning 6 to 12 months after the end of the semester.

Topics: Introduction to software engineering; Introduction to software project management; Software quality and process; Introduction to systems engineering; Software requirements – principles, concepts and techniques; Software design – principles, concepts and techniques; Software testing – principles, concepts and techniques; Software configuration management.


1Students who have not fulfilled this requirement may, under certain circumstances, enroll in this course.