CS 791: Senior Project I

(Coordinator: Collette Matthias Powers)

Catalog description

The principal goal of CS 791 is to develop precise functional specifications for the senior projects as well as a complete software design specification. The course will review and expand upon design concepts presented in previous courses, including UML, and CRC approach, and design patterns. Students apply these concepts to the design of their own senior projects. A significant component of the design includes specifications of the testing methodology to be used.


  • This course is a required course.
  • This course can be combined with a CS–696W module to satisfy a Writing Intensive requirement.


  • methodologies of software development:: perform a full software development life-cycle (design, implementation and testing) or perform research and document their findings as well as next steps.
  • understand the principles and techniques of a range of advanced topics in computer science:: student projects require full design and implementation, which enables them to use a variety of techniques in computer science they have learned through their courses.
  • have good written and oral communications skills: document project/research requirements, design and/or results as well as next steps. Present design and completed project to peers as well in the Undergraduate Research Conference.
  • be able to work within a team: students work with peers, faculty and mentors throughout their project.


  • Weekly Journals (15%)
  • Bi-Monthly Team Meetings with Professor (5%)
  • Bi-Monthly Peer Reviews (5%)
  • Requirements Document (15%)
  • Preliminary Technical Design (10%)
  • Technical Design Presentation (10%)
  • Sponsor Evaluation - 2 during semester(40%)


Varies based on project.