Fundamental software engineering techniques and methodologies commonly used during software development are studied. Topics include various life cycle models, project planning and estimation, requirements analysis, program design, construction, testing, maintenance and implementation, software measurement, and software quality. Emphasized are structured and object-oriented analysis and design techniques, use of process and data models, modular principles of software design, and a systematic approach to testing and debugging. The importance of problem specification, programming style, periodic reviews, documentation, thorough testing, and ease of maintenance are covered.
Course instructor: 
Coffman, DeMasco, Garonzik, Lindberg, Schappelle, Wichmann

View Course Homepage(s) for this course.

Course all programs: 
Computer Science
Cybersecurity
Engineering Management
Information Systems Engineering