An introduction to the issues and techniques encountered in the design and construction of software systems. The theory and models of software evolution. Topics include requirements and speci cations, prototyping, design principles, object-oriented analysis and design, standards, integration, risk analysis, testing, and debugging.

Skills and knowledge students should have prior to beginning the course:
Course Topics:
Course Format:
Method of evaluation: