ICS 499

Software Engineering and Capstone Project

4 Undergraduate credits
Effective August 17, 2014 – Present

Graduation requirements this course fulfills

This course focuses on the theory and practice of effectively and efficiently building software systems that satisfy the requirements placed upon them by customers. This course gives an overview of the software lifecycle and introduces various process models used to develop software.

Special information

Note: Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.

Learning outcomes


  • Effectively and efficiently build software systems.
  • Elucidate requirements, and use those build a system that fulfills those requirements.
  • Manage the software lifecycle.
  • Select an appropriate process model for a project.
  • Verify and validate a system.
  • Manage a software project, including estimating effort, time, and resources needed.
  • Work cooperatively in a group
  • Create a project plan and execute it
  • Elicit and document system requirements
  • Design and document a complete system and implement it
  • Write user manuals
  • Present work orally
  • Understand Computer Ethics issues