Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

COMP 4910 — Capstone Project

Course syllabus, Fall 2026

Authors
Affiliations
Thompson Rivers University
Thompson Rivers University
InstructorsDr. Quan Nguyen · Dr. Ghazanfar Latif
Emaillnguyen[at]tru[dot]ca · glatif[at]tru[dot]ca
Office HoursTo be posted on Moodle by the end of Week 1
Class TimeThursdays, 3:30 PM – 4:20 PM · OM 1241
Milestone DaysThursdays, 3:30 PM – 6:00 PM · OM 1241 (Oct 1, Oct 29, Nov 19, Dec 3)

Course Description

COMP 4910 is the capstone of the BCS and CS Major programs. You will spend one term working in a team to build software for an external client, under supervision rather than direct instruction. The work is assessed through project deliverables rather than assignments or examinations.

The course is structured around four milestones: requirements and analysis, design and architecture, an implementation increment with testing, and a final demonstration at the CS Showcase. At the first three you present to your instructor, and at the CS Showcase you present publicly with your client present. Between milestones you meet your supervisor weekly and do the work.

Projects and clients are confirmed before the term begins. Week 1 is a single introductory session in which the project catalogue is presented and you submit your project preferences. Assignments are posted the following Monday. Week 2 is the scoping week. The class meets in person to work through what Milestone 1 requires, and each team separately meets its client at a time the team arranges directly, outside the class slot.

Project Selection and Team Formation

Projects are allocated by preference matching, not by self-organised teams. The process runs in three steps.

1. The catalogue is posted. Every capstone proposal accepted from our clients is published in full before the Week 1 session — the client, the problem, the expected scope, and any technology or access constraints attached to it. Read the whole catalogue. The Week 1 session walks through it and is your opportunity to ask about individual projects before you rank them.

2. You submit your top ten preferences. Each student submits an individual preference form ranking 10 projects, first choice to tenth, due Saturday Sep 12 11:59 PM. Rank on the basis of the work itself: what you want to build, what you want to learn, and what constraints you can realistically meet. A brief note on relevant experience helps where a project carries a specific technical requirement.

3. Assignments are optimised and posted. I allocate students to projects to maximise preference satisfaction across the cohort as a whole, subject to team sizes and to any requirements a client has set. Assignments are posted the Monday after the form closes, Monday September 14, and your team is whoever else is allocated to your project.

You are not guaranteed your top choice. The allocation optimises for global happiness across the class as a whole rather than for any one student.

Prerequisites

References

There is no required textbook. For most technical questions in this course, the current official documentation of the tools you have chosen will be the most reliable reference. Any external source you rely on should be cited.

Course Learning Outcomes

By the end of this course, students will be able to:

CLO 1 — Formulate a project plan and scope. Produce a project plan, scope statement, and teamwork contract in response to a client brief, including explicit exclusions and a risk register.

CLO 2 — Analyze stakeholder needs. Elicit and validate software requirements from a client, and trace each requirement back to a stated need.

CLO 3 — Design a system architecture. Design a system architecture, data model, and interfaces appropriate to the requirements and constraints of the project, and justify the technology choices made.

CLO 4 — Develop a working implementation. Implement a functioning increment using version control, reproducible builds, and documented third-party licence compliance.

CLO 5 — Validate through testing. Design and execute a testing strategy appropriate to the system, and present evidence of its results.

CLO 6 — Collaborate professionally. Work productively within a distributed team and with an external client, under a signed confidentiality and intellectual property agreement.

CLO 7 — Articulate project outcomes. Explain project rationale, progress, and results to both technical and non-technical audiences, in writing and in person.

CLO 8 — Self-manage project work. Plan, report, and self-manage sustained project work in a largely asynchronous setting.

Assessment Overview

ComponentWeightFormatWhen
Teamwork Contract and Project Scoping5%Team submission on MoodleMon, Sep 21 (Week 3)
Milestone 1 — Requirements and Analysis15%Report (max 3 pp.) + group presentationThu, Oct 1 (Week 4)
Milestone 2 — Design and Architecture15%Report (max 3 pp.) + group presentationThu, Oct 29 (Week 8)
Milestone 3 — Implementation and Testing20%Report (max 3 pp.) + group presentationThu, Nov 19 (Week 11)
Milestone 4 — Final Demonstration15%Public presentation at CS ShowcaseThu, Dec 3 (Week 13)
Final Project Report10%Team document, peer-adjustedTue, Dec 8, 11:59 PM
Weekly Supervision Meetings10%Individual, assessed by supervisorWeekly
Client and Instructor Evaluations10%Individual assessmentEnd of term
Total100%

There is no final exam in this course. The December examination period does not apply to COMP 4910.

Teamwork Contract and Project Scoping — 5%

The deliverable is a one-page teamwork contract, due Monday September 21, written after your team has met its client. It sets out how decisions get made, how work is divided, what your definition of done is, what level of AI tool autonomy you have agreed, and what happens when someone misses a commitment.

Work from the Teamwork Code of Conduct template, and commit your completed version to your team repository as CODE_OF_CONDUCT.md.

This is graded on specificity rather than polish. General statements of intent such as “we will communicate well” carry little credit. A clause such as “progress posted to the team channel by Monday 9 AM, with anyone silent for 72 hours escalated to the supervisor” is what the contract is for.

Milestones 1–4 — 65%

Each milestone is an extended class session, 3:30 to 6:00 PM, with all teams present. Milestones 1 to 3 are presented to the instructor and the other teams; clients do not attend. The presentation is delivered as a group, with every member covering their own segment and answering questions on their own work. Marks reflect the team’s presentation as a whole, and your participation factor accounts for your part in it.

Supplementary report. Milestones 1, 2, and 3 each require a supplementary report of no more than three pages, submitted on Moodle before the review session begins. The page limit is firm, and any material beyond the third page will not be marked. Diagrams, tables, and figures count toward the limit. Appendices, repository links, and generated artefacts do not. Milestone 4 has no supplementary report, since the Final Project Report covers it.

Milestone 1 — Requirements and Analysis (15%). Validated requirements traceable to the client brief, stakeholder analysis, scope boundaries with explicit exclusions, and a risk register. The supplementary report carries the requirements set, the exclusions, and the risk register.

Milestone 2 — Design and Architecture (15%). System architecture, data model, interface design, technology selection with written justification, and a licence inventory covering every third-party dependency. The supplementary report carries the architecture diagram, the technology justification, and the licence inventory.

Milestone 3 — Implementation Increment and Testing (20%). A working implementation increment, submitted through your repository, with version-controlled source, reproducible build instructions, and a testing strategy supported by evidence of execution. Implementation and testing are marked separately at 10% each. The supplementary report carries the testing strategy, the evidence of execution, and the build instructions.

Milestone 4 — Final Demonstration (15%). Public demonstration at the CS Showcase, to faculty, industry partners, and invited guests, with your client present.

Final Project Report — 10%

A professional technical report covering problem, approach, implementation, evaluation, and handover. The handover section matters most: assume the reader is the person who maintains this after you graduate. Due Tuesday, December 8 at 11:59 PM, the last day of classes.

Weekly Supervision Meetings — 10%

Each team meets its assigned supervisor for 30 minutes every week. The recurring time is set in Week 1. On supervision-block Thursdays the meeting runs in the class slot; in milestone and lecture weeks it is scheduled around them.

Come prepared to cover what you have done since the last meeting, what you are doing next, and what is blocking you. No written submission is required.

This component is assessed individually on attendance, on your ability to account for your own work, and on whether problems are raised early enough to be addressed. Blockers raised at a supervision meeting can usually be resolved; the same problem surfacing for the first time at a milestone review generally cannot.

Your supervisor responds to anything urgent raised between meetings within 48 hours, excluding weekends and holidays.

Client and Instructor Evaluations — 10%

Your client and your supervisor each assess your professional conduct at the end of term: responsiveness, reliability at meetings, quality of communication, and whether you did what you said you would do. This component is individual and is not peer-adjusted.

GitHub (Mandatory)

Every team keeps its work in a GitHub repository, and every member commits and pushes their own contributions under their own account. Do not have one person push on the team’s behalf. Do not paste a teammate’s work into your own commits.

The commit history is the evidence of your contribution. It is what the instructor reads when corroborating peer assessments, and a member whose work does not appear in the history has no record of having contributed. Commit as you go, in reasonably sized pieces with meaningful messages.

Repositories should be kept private. Add the instructor as a collaborator in Week 3 and include the repository URL in every milestone package. Where your client agreement sets additional conditions on access or hosting, note them in your teamwork contract and follow them.

How the individual grade is computed

Team marks are adjusted by an individual participation factor (PF). Team output and individual contribution are not the same thing, and this is the mechanism that separates them.

The instrument. Each member rates every teammate on five dimensions, scored 1 to 5, with behavioural anchors given at 1, 3, and 5:

  1. Contribution to the work

  2. Reliability and communication

  3. Keeping the team on track

  4. Expecting quality

  5. Relevant skill and learning

Your raw score R is the mean of the ratings you receive. Raw PF = R divided by the team mean of R.

Raw PFWhat happens
0.90 to 1.10Neutral range. PF is set to 1.00 and no adjustment is made.
Outside that rangePF is clamped to the interval [0.80, 1.15] and applied.
Below 0.80Mandatory meeting with your supervisor before any mark is finalised.

When it applies. PF is recalculated from scratch at every milestone and never carried forward. A weak round does not follow you. The Milestone 4 factor applies to both the Showcase and the Final Project Report. In total it governs 75% of your grade.

Worked example. A four-person team earns 80% on Milestone 2. Raw scores are 4.6, 4.4, 4.2, and 2.8, so the team mean is 4.0.

MemberRRaw PFApplied PFMark
A4.61.151.1592%
B4.41.101.00 (neutral range)80%
C4.21.051.00 (neutral range)80%
D2.80.700.80, plus supervisor meeting64%

Anti-gaming provisions. Submitting ratings is mandatory; a member who does not submit for a round receives PF 0.90 for that round. Ratings showing no variation across teammates, or showing signs of coordination, may be excluded at the instructor’s discretion. Retaliatory rating is an academic integrity matter. Ratings are confidential and are never disclosed in attributable form. All peer assessments are corroborated against the commit history and supervision records.

Course Schedule

Classes run Thursdays, 3:30 – 4:20 PM in OM 1241. Milestone days run 3:30 – 6:00 PM in the same room.

WeekDateSessionModeDue
1Thu Sep 10Lecture 1 · Course introduction: milestone structure, project catalogueIn personProject preference form, Sat Sep 12 11:59 PM
2Thu Sep 17Lecture 2 · Briefing: Milestone 1 · PF calibration roundIn personClient scoping meeting, arranged per team
3Thu Sep 24Supervision blockOnlineTeamwork contract, Mon Sep 21
4Thu Oct 1MILESTONE 1 — Requirements and Analysis (3:30–6:00)In personM1 package
5Thu Oct 8Lecture 3 · Briefing: Milestone 2, design, architecture, licence inventoryOnline
6Thu Oct 15Supervision blockOnline
7Thu Oct 22Supervision blockOnline
8Thu Oct 29MILESTONE 2 — Design and Architecture (3:30–6:00)In personM2 package
9Thu Nov 5Lecture 4 · Briefing: Milestone 3, implementation increment, testing, reproducible buildsOnline
10~~Thu Nov 12~~No class — fall mid-term break
11Thu Nov 19MILESTONE 3 — Implementation Increment and Testing (3:30–6:00)In personM3 package
12Thu Nov 26Lecture 5 · Briefing: Milestone 4, Showcase demonstration and Final Project ReportOnline
13Thu Dec 3MILESTONE 4 — Final Demonstration · CS SHOWCASEIn personShowcase presentation
14Tue Dec 8 (last day of classes)No session · Submission windowFinal Project Report · Repository handover · Confidential peer assessments, 11:59 PM

Tuesday, December 8 is the last day of classes. Final report, handover package, and confidential peer assessments are due that night at 11:59 PM.

Communication

Course Policies

Attendance

A registered student who does not attend the first two events of their course and who has not made prior arrangements acceptable to the instructor may, at the discretion of the instructor, be considered to have withdrawn from the course and have their registration deleted.

The five lectures, the Week 2 client scoping meeting, and the four milestone days are required. Weekly supervision meetings are required. The Week 2 scoping meeting is arranged by your team, which makes attending it entirely within your control.

Missing a required session without an approved concession is treated as a professional conduct matter and is reflected in the instructor evaluation component. Please refer to TRU’s attendance policy.

Academic Concessions

If circumstances such as illness, family emergency, or a significant life event may prevent you from meeting course requirements:

  1. Notify your supervisor at least 24 hours before the deadline.

  2. Requests are considered case-by-case; you may be asked for documentation.

  3. Possible accommodations include deadline extensions, an alternative arrangement for your segment of the group presentation, or an alternative form of assessment.

  4. Requests made after the deadline are usually refused.

Milestone dates are fixed by the room booking and the shared session across all teams, and are the least flexible deadlines in this course. Raise anticipated conflicts early.

Late Work

Missed Milestone Presentations

Milestone presentations cannot be made up, because all teams present in a single scheduled session that is not repeated.

If you miss a group presentation without an approved concession, your team presents without you and your absence is reflected in the participation factor for that milestone. With an approved concession, the standard remedy is a recorded segment submitted within five working days.

Accessibility

Students registered with Accessibility Services who require accommodations must provide their Letter of Accommodation to the instructor as soon as possible. Please arrange this early in the term so that presentation formats and milestone scheduling can be adjusted in time.

Academic Integrity

Capstone work carries a particular risk. The deadlines are set by an external client, and the pressure to submit work you did not produce yourself is highest at exactly those moments.

Cases of academic dishonesty are reported per TRU policy.

Intellectual Property and Confidentiality

Projects involving external clients are governed by a written agreement signed before work begins, and you will sign a confidentiality agreement covering all client material. IP terms vary by project and are stated in your project agreement. You should not assume you own what you build for a client.

If you want to include project work in a public portfolio, get written permission from the client first. Your supervisor can help with that request, which is generally easier to arrange early in the term than at the end of it.

Policy on the Use of Generative AI

AI tools are part of professional software practice, and this course is intended to reflect that. You are permitted to use them. You also remain accountable for everything you submit, which in a capstone setting is a more demanding standard than in an introductory course.

Three conditions govern use.

Disclosure. Every milestone package includes a short AI use statement: which tools, for what, and what you verified by hand. A statement too vague to be informative is treated as non-disclosure.

Accountability. You remain fully accountable for all submitted work. Every milestone includes a group presentation in which you are questioned on your own segment, and being unable to explain, justify, or modify your own submitted code or writing is marked accordingly, regardless of what produced it. This reflects professional practice, where code that cannot be maintained by the team that produced it has limited value.

Client constraints override everything above. Where your client’s agreement prohibits transmitting project material to third-party services, that prohibition governs regardless of convenience. Confidential client data must never be entered into an external AI tool. If you are unsure whether a tool is permitted, ask your supervisor before using it.

On agentic tools. Teams using agentic coding tools must agree an autonomy level in the teamwork contract and record it in each AI use statement. The four-level framework is posted on Moodle. Higher levels of autonomy are permitted provided the team can account for the resulting work.

Please refer to TRU’s guideline on the use of generative AI for more information.

How to Succeed in This Course

Maintain the client relationship. Reply to messages and attend the meetings you have scheduled. Many of the capstone problems that reach an instructor begin with an unanswered email early in the term.

Scope down early, then deliver. Every team in the history of this course has proposed more than it could build. The teams that do well are the ones that cut scope at Milestone 1, in writing, with the client’s agreement, rather than discovering the problem in November.

Commit small and often. Your commit history is the record you present from at every milestone and the evidence used in every peer assessment. Building it steadily through the term is more straightforward than accounting for its absence later.

Write the handover documentation while you still remember why. The report section that costs teams the most marks is the one written last, in December, about decisions made in October.

Raise blockers at supervision rather than at the milestone. Problems raised early can usually be resolved with your supervisor’s help, while the same problem surfacing at a review affects the mark.

Use the peer assessment as information. The Week 2 calibration round carries no weight and exists so you can see how your team perceives you while there is still a whole term to adjust.