Week 01 ToDos

1. Watch Lecture Videos

Watch the week 01 lecture videos, linked below. The lecture videos throughout the term will cover topics on the philosophy, processes, practices, and technologies for software requirements and specifications. In general, you are expected to watch the week’s videos before your team meeting each week.

Unfortunately, you are already behind. Ideally these videos would have been watched in preparation for the team meetings happening on the first day of class – which involve teams. Please watch them as soon as possible and watch the Week 02 videos in preparation for team meetings on Jan 13.

Videos
Introduction Video Slides
Types of Requirements Video Slides
Teams Video Slides
Team Attitude and Body Language: Geno Auriemma, Head Coach of UConn Women's Basketball Team (2:38)Video
Lecture Slides for 2026-01-06Slides

Lecture References:

  • Karl Wiegers and Joy Beatty, Software Requirements, 3ed, Microsoft Press, 2013.
    • Chapter 1: The essential software requirement
  • Steve McConnell, Rapid Development: Taming Wild Software Schedules, Microsoft Press, 1996.
    • Chapter 12: Teamwork
    • Chapter 13: Team Structure

See the course Resources→References for instructions on how to access lecture references.


2. Ethics Training

Each student must individually complete the TCPS2 Tutorial Course on Research Ethics (CORE), also known as the TCPS2 tutorial. This tutorial is mandatory for all researchers who intend to engage in research with human participants. As part of this course, you will interview stakeholders, target customers, and target end users. As such, you need to complete this course before you can conduct interviews (or even contact potential interviewees). Each student must complete the ethics tutorial individually and upload the certificate of completion to LEARN by Monday, January 12. The tutorial takes 2-3 hours to complete. If you have already completed this training, you can upload your certificate from that previous training.

On the TCPS2 Welcome Page, click on the “Login to Core / Create Account” button on the right. Click “Create new account here” and fill in the required fields; make sure you register using your uwaterloo.ca email address. A confirmation email will be sent to the email address that you provide (check spam if you do not see it in your mailbox). Click on the activation link only once to activate your account. Once your account is activated, you can log in and begin the tutorial. It can take up to 3 hours take to complete CORE, depending on how many examples and activities you explore. You can go through the modules at your own pace; your progress is automatically saved, and you can log out and in again to resume your session. If you experience any difficulties, refer to TCPS 2: CORE Frequently Asked Questions.

After finishing the online course, submit the certificate of completion with your name on it to LEARN under the “TCPS2 Ethics Training Certificate” Dropbox.

Grading Scheme: No grade is assigned, but all students must complete this requirement; otherwise, they cannot continue in the course.


3. Access Course Texts and Tools

  • Access online versions of the course texts that you can highlight and annotate. See the Resources→References page of the course website for instructions on how to access the texts using the university’s subscription to the O’Reilly Learning Platform and for adding the course texts to your playlist of books. (Texts from your other CS courses might also be available on the platform.)
  • Ensure you have access “CS 445/CS 645/ECE 451 - Winter 2026” team on MS Teams.
  • After your team has met and decided on a diagramming too, make sure you have access to it. See Resources→Tools.

4. Review Course Website

Read the course Website, including the Course Syllabus (all of it, including the sub-topics!) and the Project page that outlines the expectations of the course project (including samples from past terms).


5. Starting Thinking About a Project Topic

Start thinking about project topics. Everyone will be part of a team that spends the entire term developing the specifications for a software system. You really want that to be a system that is interesting to you! Check out the following links:

Your project topic needs to be rich enough to support three substantial use cases. For example, use cases of WaterlooWorks might be

  1. Obtain a Job,
  2. Hire a co-op student,
  3. Match Students and Employers.

As another example, use cases for an app on Accessibility Problems might be:

  1. Report a Problem,
  2. Respond to a Problem,
  3. View Problems on a Map.

Think abotu potential use cases for your project ideas.

6. Introduce Yourself

Introduce yourself in the Introductions channel in MS Teams. In a single message, tell us your name, your program, your project interests if any (e.g., UN sustainable development goals of interest), your masking preferences at in-person team meetings, and a fun fact about yourself.

While you’re there, read the instructor’s introduction.

Don’t delay this while you’re pondering project topics! This is a key step to finding a team; you need to get out there ASAP!


7. Find a Team!

Use MS Teams to assemble project teams. Teams will have 4 or 5 members; no exceptions!

Here’s the procedure:

  • Review the Introductions channel, looking for people with common interests. Reach out to the most likely candidate(s) with a direct message.
  • If/when two (or more!) of you have a project you would like to pitch, create a new post in the Project Pitches channel describing it and inviting additional members.
  • If you would like to join a team, direct message the person who posted the pitch and tell them why you’d like to be part of the team and why they should add you.
  • As teams gel, update your posts to reflect the status.
    • Edit the subject line of an Introduction to include one of:
      • Looking for a team
      • Looking for team members
      • On a team
    • Edit the subject line for a Pitch to include one of:
      • Looking for members
      • Full
      • Abandoned

The “Abandoned” status reflects the reality that you may not be able to get 4-5 people on your team. In that case, you’ll need to go looking for another team to join (or pitch a new idea).

Hopefully teams can be formed by Friday, Jan 9 (yup, really soon!).


8. Team Meeting

If you are comfortable doing so, I suggest that you get together and make dinner as a team, as a team-bonding activity. This is a great exercise for learning to compromise (on the menu) and learning to coordinate activities in the construction of a joint project (dinner!). As a substitute for that, spend 45 min (or more) together this week and get to know your teammates through some Getting to Know You Questions posted on Teams. Make your way through as many questions as you can; all team members should answer all of the questions that the team reaches during this time allotment.

Finally, the project task for this week (due Monday, Jan 12) is to finalize your project topic. Discuss potential use cases for your proposed project topic.

Download and fill out the project team info form. Make a PDF of it and distribute one copy to each member of the team. One person should submit it to the LEARN dropbox.


Due Next Monday (Jan 12, 8:59pm)

Late days cannot be applied to this first deliverable.