This includes the concepts, techniques and disciplines needed to successfully specify, design, implement and test large software systems employing large numbers of engineers and users. The student will learn how to function as a part of a development team and how to define and direct the software development process to ensure the end result meets the requirements and expectations of its users. The Mythical Man-Month , by Frederick P. Brooks, Jr., Addison Wesley, 1995. The date of the exams will be announced at least two weeks in advance. There will be homework assigned on an approximately a bi-weekly basis.
Homework is due at the beginning of class on the day it is due.
Homework will be graded as either acceptable or un-acceptable. Quizzes are possible but unlikely unless it appears that students are not keeping up with the reading. The class will be divided into small teams that will each perform a class project. This project will give them direct experience with at least one method for the systematic development of large software systems. Each student will deliver various documentation and artifacts associated with their method of development.