Course Project

The work in CS445/CS645/ECE451 centres on the course project, which is the scoping and specification of a software system, of your team’s choosing, that is hypothetically to be developed by another team. Your team will choose a real-world problem that you think can be addressed or mitigated by software. I encourage you to use this course project as an opportunity to think about how software can be used to improve people’s lives (e.g., improve mental health and happiness, reduce waste and share resources, combat climate change, promote equity and inclusion). If you are looking for ideas, consider something related to the UN sustainable development goals. Another source of ideas are projects from past terms (here and here), but your team needs to find its own problem to tackle.

Over the course of the term, your team will progress from choosing a problem to address; identifying the customers and users who are interested in this problem; understanding their problems and needs; expressing their work and workflow using lightweight models; resolving, analyzing, and prioritizing needs into the requirements of a proposed solution; refining requirements into more detailed models and specifications for a software system; and testing your hypotheses, ideas, and prototypes along the way. The weekly deliverables that you produce during the term will contribute to the final deliverable: a Software Requirements Specification that describes a software solution to your team’s problem, in sufficient detail that it can be developed by another team. More details can be found on the course’s Project page.

The success of your project depends on your dedication towards teamwork. There will be materials and activities that aim to help you and your teammates gel as a team and to monitor the health of the team (e.g., team contract, team health survey, peer evaluations). A portion of your grade will depend on your attendance at team meetings and contributing a fair share of the work on your team’s deliverables.

As part of the course project, you will need to interview people who represent members of the target user class for your proposed software system. Because your course project will involve interviews with people external to the course, you will need to complete the TCPS 2 Tutorial Course on Research Ethics (CORE), also known as the TCPS2 tutorial, on ethical conduct for research involving human participants. Every student must complete the ethics tutotial individually. This will probably take 2-3 hours.