Capstone Projects

Software Systems Capstone Projects (Capstones) provide SoSy students opportunities to apply their software systems skills to significant projects of depth and/or breadth that require contemporary knowledge of systems and software system development. Through collaboration with industry, non-profits, or academic research labs, students will be able to develop software projects that they can be proud to publicize.

How Does It Work?

Each Capstone will be based around an approved capstone proposal submitted by a faculty member who will act as a mentor for the project. Students may work with faculty in order to construct/modify a proposal that finds agreement between the abilities and interests of both the students and faculty involved. When an agreement is reached, the mentor will inform the SoSy Capstone Committee and have the students enrolled in the Capstone courses* (CMPT 494 and subsequently CMPT 495).

During the course of the two fourth-year courses (CMPT 494 and CMPT 495), small groups of students (typically 2-4) will work with their faculty mentor on various parts of the project on a regular basis. This includes, and not limited to, proposing, conceptualizing, designing, developing, and demonstrating the project.

Upon completion of a Capstone, students are required to complete a final project report providing the context for the problem they worked on, the challenges they faced, and how they students overcame these challenges. Appropriate knowledge of existing work must be demonstrated. This project report may serve as a white paper or conference paper depending on the nature of the Capstone project.

All Capstone students will also be required to create a poster and a live demonstration (as appropriate) of their work in a Capstone Showcase or the Computing Science Undergraduate Research Symposium.

*The proposal approval process is a prerequisite for CMPT 494, while successful completion of CMPT 494 is a prerequisite for CMPT 495. For details, see the Capstone Project Requirement section of this page:

Important Dates For Sosy Capstone Projects


Spring 2022-Summer 2022 Cycle

Fall 2022-Spring 2023 Cycle

Spring 2023-Summer 2023 Cycle^^

Match-Making Starts

on 22 Nov, 2021

on 25 Jul, 2022

on 21 Nov, 2022

Fill out Project Application 

by 15 Dec, 2021

by 19 Aug, 2022

by 16 Dec, 2022

Meet with Mentor(s)^

by 7 Jan, 2022

by 9 Sep, 2022

by 6 Jan, 2023

Fill out Commitment Form

by 7 Jan, 2022

by 9 Sep, 2022

by 6 Jan, 2023

Auto-Enrollment by School  

by 14 Jan, 2022

by 16 Sep, 2022

by 13, Jan, 2023

CMPT 494 Starts

on 10 Jan, 2022

on 7 Sep, 2022

                                                                                                      on 4 Jan, 2023


^Once the students have met with the mentor(s) and an agreement is reached, they can fill out the Commitment Form directly. There is no need to wait.

^^Tentative schedule. It is subject to change.

Why Do A Capstone Project? 

Capstones are expected to be incentivizations themselves from the student perspective. They will provide an opportunity for exploring a problem the student is interested in for an extended period. Students may propose their own group projects to a faculty member. Because of the competitive nature of student applications for Capstones, students must strive and demonstrate appropriate knowledge to be approved. This will elevate both SoSy and the students. In addition, Capstones will provide both material for participating students’ CVs and the possibility of winning the Capstone Showcase award. Specific benefits may include high quality reference letters for the student, the opportunity to work with graduate students in a research lab, and the opportunity to work with an industry partner. 

Capstone Requirement 

A capstone requirement may be added similar to existing Systems and Software Engineering requirements.

Students complete EITHER (CMPT 494 (3) Software Systems Capstone Project I and CMPT 495 (3) Software Systems Capstone Project II) OR 2 out of: CMPT 379 (Principles of Compiler Design), CMPT 431 (Distributed Systems), or CMPT 433 (Embedded Systems).

How To Get Involved? 

Before the start of term, you will be receiving an email with an invitation to join our Canvas course where you can read about the available Capstone projects and find a match for you!