CS 616 - Software Engineering

Bulletin Description

This course provides an overview of the software engineering discipline: software requirements, software design, software construction, software management, and software quality. Testing and validation techniques will be emphasized throughout the course. Programs and program fragments will be developed and studied throughout the course to illustrate specific problems encountered in the lifecycle development of software systems.


At least nine hours of graduate computer science courses.

Expected Preparation

The student is expected to be familiar with programming in a object-oriented language, have studied algorithms and data structures, and have completed at least 9 credits hours of graduate level computer science.

Student Learning Outcomes

Students will learn software engineering techniques useful for the development of large software/hardware projects. Experience will be gained in working with teams throughout the complete development cycle of a class project.

Syllabus Information

Possible Textbooks:

Software Engineering: A Practitioner's Approach, Fifth Edition
ISBN: 0-07-052182-4

Possible Resources:

Stephen R. Schach
Classical and Object-Oriented Software Engineering, 4th Edition, WCB
McGraw-Hill, 1999
ISBN: 0-07-230226-7

Mythical Man Month, 2nd Edition
Addison Wesley

Peters and Pedrycz
Software Engineering: An Engineering Approach
John Wiley & Sons

Additional materials in the form of articles and reviews will be supplied by the instructor.