Final projects will begin on Monday, 9 Apr and be due on Wednesday, May 2nd at 11:59pm.
Projects may be done individually or in pairs. A project done in pairs will be expected to complete more difficult requirements.
ProjectsScoring
Each project will have a list of requirements that needs to be satisfied. Completion of all of those requirements will result in a guaranteed 80% of the final project score.
The security part of the score will be a measure of how secure your application is. This includes making sure your application is not vulnerable to SQL injections or XSS attacks, using CSRF tokens (canaries) to prevent unauthorized requests, securing file uploads (if applicable), and any other security topics we covered.
The user-friendliness part of the score will be a measure of how well your application handles standard use cases. Examples of "user-friendliness" might include login forms showing error messages on invalid login attempts (instead of simply showing the login form again), not submitting blank chat messages, etc.
Requirements (all projects)Mon, 9 Apr - Project (and teammate, if applicable) needs to be chosen and the instructor notified. Email me with subject "CS337 Final Project", the name of your project, and who (NetIDs) will be working on your project. If you are proposing a custom project, requirements will be included.
Wed, 11 Apr - If you are doing a custom project, I will respond by now with an OK of your requirements or with added requirements.
Wed, 2 May - Project is due. All of your code should be turned in to a folder named final in your web directory.
Thu, 3 May to Thu, 10 May - Project grading meetings.
GradingGrading will involve meeting with a TA or the instructor to demo your project for 5 to 10 minutes. This allows you to demonstrate all the functionality of the project to us so we don't have to dig through the code.
We will schedule meeting times when the deadline gets closer.