CS 497 — A for-credit entrepreneurial course at the Cheriton School of Computer Science

CS 497: Capstone Project (Pilot) • Winter 2022

CS 497: Capstone Project is a pilot offering of a single-term course similar to the CS 493/CS 494 Team Project sequence but scoped for completion in a single term. Students form teams of three to five members that work together on a project of their choosing. The course gives students the opportunity to work in teams on open-ended, large-scale computer science projects.

After an initial project identification and refinement effort, students are instructed on and gain experience in teamwork, planning, communication, critical thinking, requirements definition, and agile development. Teams must use modern software tools and methods, as appropriate to their project. User-centred design and test-driven development will be emphasized. Ethical and legal implications must be considered, as appropriate to the project. Guidance will be provided from the start (forming teams, picking projects), through development work, to a culminating symposium.

Teams will be composed of three to five students and projects may range from new software systems, to contribution to existing open-source projects, to research projects. There will be in-class instruction on several topics, but the emphasis will be on the project work with guidance from the instructor, and there will not be lectures every week. Project work will lead up to a demo day near the end of the term. This demo day will include technical presentations from each group, providing an opportunity to learn and practice technical presentation skills.

Professor Charles Clarke with a student


  • Only CS major students with fourth-year standing may enroll
  • Pre-requisites: CS 246, CS 341, CS 350
  • Anti-requisites: CS 493, CS 494, SE 390, SE 490, SE 491
  • May not be taken by software engineering students


The SE Capstone Design Project Handbook will be used as a resource for the course. While the SE Capstone is a three-term sequence, so that it will not be possible to cover all material from that sequence, the project handbook distills many years of experience and provides invaluable guidance. Hardware and software requirements will vary with the chosen project. Beyond the standard hardware/software resources provided to all CS students, students are responsible for obtaining any necessary resources. Free/open-source tools are encouraged where applicable. Students should be aware that some widely used free services are hosted on servers physically located outside Canada, and it may not be possible to provide alternatives hosted at the university or within Canada.

If a team drops below three students due to students dropping the course, illness, etc., the instructor will work with the remaining students to restructure their project or to merge them with another group depending on the individual situation and the point in the term. Irreconcilable conflicts and similar situations are handled on a case-by-case basis by the instructor working directly with the students to develop a reasonable and equitable solution.

Grading scheme

  • Preliminary idea/proposal/pitch — 10%
  • Refined idea/proposal/pitch — 10%
  • Established development methodology and initial iteration — 10%
  • Mid-point check-in and feedback — 20%
  • Final iteration and feedback — 30%
  • Technical presentation and demo day — 20%

Instructor: Professor Charlie Clarke, claclark@uwaterloo.ca