Project Deadlines are available on the Calendar page
Violating the No Copying Policy could result in a 0 on your project grade, and will cap your course grade at 50%
The project is completed in pairs for Checkpoints 1, 2 and 3. Checkpoint 0 is completed individually.
You need a partner by end of your first lab after the Checkpoint 0 deadline.
Attend *your* lab the week of the C0 deadline if you need to meet people or be assigned a partner.
There will be no teammate swaps. Teams can only be split in cases of non-academic misconduct.
If you are in a situation where your teammate is not pulling their weight, we deal with that through grade adjustments.
The project is a single, cumulative project, that progresses over the semester. At regular intervals there are submission checkpoints. To ensure you are staying on track. There are 4 checkpoints (0,1,2,3) and then final release grading. Grading Details Here
You must use Github Issues to track your work. All your commits must reference the issue they address. These will serve as a basis for your Scrum meetings with your TA.
To meet this checkpoint you must write tests and achieve coverage of our reference project implementation
Meeting these checkpoints involves adding functionality, cumulatively, according to the specification. Each checkpoint suite checks its own new functionality, and checks prior functionality.
Each checkpoint suite checks its own new functionality, and checks prior functionality.
Each week you must meet with your TA for a Scrum meeting to detail your progress.
Please see project grading for details.
Autobot wait times increase massively as deadlines approach. Do not leave submission to the last minute.
The project is an integral part of this course. The project will be difficult and time consuming. Projects will be completed in pairs (everyone must have a partner, and you must work with the same partner for the duration of the term). Your partner needs to be in the same lab section as you. The project will proceed in 5 2-3 week sprints; the requirements for each sprint is detailed in a deliverable document.
You should expect the project to take ~6 hours / week / person (13 weeks * 2 people * 6 hours = 156 hours).
It is extremely important you not leave project deliverables until the last moment. It is impossible to stress strongly enough how important this is; 36h over three weeks is no problem, but over a weekend is impossible. These time estimates are based on effective effort, if you are multitasking or just randomly trying to cobble something together without a plan or tests, the project may take much longer.
The project will rely heavily on self-learning. The course content is necessarily broad to provide coverage that will be applicable to most software development projects. It is important to remember that the project is a single software project that will utilize only a subset of the in-class material; the lectures will not serve as a tutorial for the project, it is expected that you will have to use your own creativity to reason about the project requirements, design a solution, and build and validate it yourself.
Engineers use automated test suites to validate that their software is working as expected. We will evaluate your project deliverables similarly using AutoTest. In addition to AutoTest, each team member will be independently asked a small number of questions in the lab to assess their understanding of the solution. While it is reasonable for team members to be more knowledgeable about different parts of the system, it is expected that you will understand your entire solution at a high level and be able to provide specific in-depth insight to some meaningful components of your solution.
See the full project description for complete details about the project, the lab, project grading, and finding partners.