Project Information

40% of the course grade is based on your performance on a project. This 40% is divided into several components, listed by their absolute percentage on the final course grade:

Project Proposal

Your project proposal should conform to this template; more details are in that document. This example proposal gives a sense of what I'm looking for. You may use this example as-is, if you so choose, but note that it's very large; this would qualify for the full 25% bonus.

The project proposal asks you to select some capabilities for automated testing. You are being asked to make a decision with incomplete information; it is wholly expected that this information will need to be revised later. In the meantime, some minimal details follow about some of the techniques we will discuss later in the class. Instead of an automated testing approach, you may select a verification approach as well, but be advised that these will likely be more difficult, and we won't be covering them until late in the class. Bonus is available if you select a verification-based approach.

Note that the above list is not exhaustive; you may select something that's not in this list.;

Project Report Information

You must also write a short project report, which discusses what you've done and what you'd do differently if you could do it all over again. A template is available here. The main purpose of the report is to explain exactly what you've done. I will use this report during grading to confirm that you've done what you set out to do in your proposal.

If you'd prefer, I'll also accept a video of you going through your code and explaining your changes as evidence. If you take this route, you still need to explain the same content that the template expects.