courses.pgbovine.net

Final Project Deliverables

By the time you present your final project to your TA for grading during Week 10, you should have all of the functionality in your project finished and fully working. If you have new experimental parts that don't quite work, it's better to leave those out so that your app fully works when your TA tries it. Think about this final in-class demo as showing your product to a complete stranger who is a potential customer. They want a good user experience when first trying your app, so make sure you're not including components that don't fully work.

In addition, create a 2-minute (or shorter) demo video showing your app in action with voice narration. Keep it short, while showing off the motivation behind your project (why should users care?) and all the main features of your app. Record a screen video capture of your app itself in a web browser with screen recording software such as Quicktime on Mac or Camtasia (free limited-time trial download).

(We will be very strict about enforcing a 2-minute time limit for these videos, to be fair to all students. Think of this like a hard 'page limit' on written assignments.)

Refer to the rubric to find out what to include in your video, since that is what we will be grading you on.

Then write up a final.md Markdown file and put it in your project's GitHub repository. And add the proper comments to your source code. See the rubric for details.

Finally, fill out a teammate assessment form.

Your TA will grade your milestone in class during your assigned grading day, so plan to come to class then to present your demo. If you do not come to class that day, then your milestone will not be graded.

Grading rubric (30 points)

All of these requirements are due before your assigned grading date/time.

Final Markdown file (5 points):

  • final.md is present in your project's GitHub repository. (1 point)
  • final.md contains each of your team members' names (do not put PIDs in this file) along with a paragraph or bullet points briefly describing all of their contributions to your team's project. Note that in general, all team members will receive the same grade unless there are extenuating circumstances. (2 points)
  • final.md contains a list of all source code files in your GitHub project repository that your team members wrote, along with a brief description of what functionality is implemented in each file. This should include all HTML, CSS, JavaScript, and other relevant code files that you wrote. (You don't need to include descriptions for library or module files that you didn't write.) (2 points)

Final code (5 points):

Your TA will look through your project's GitHub repository to inspect your code at a high level to make sure your code base looks relatively neat. (Don't stress about the low-level details of your code!)

  • There is one definitive version of your project's code base, which exactly matches the files described in final.md. Make sure to delete all extraneous source code files that don't contribute to your app's final functionality so that your TA knows which files to look at. (You can leave old milestone Markdown and image files in your repository.) (1 point)
  • Each source code file has a brief paragraph written in comments at the top of the file describing what functionality is implemented in that file. You should also write brief comments to describe non-trivial functionality elsewhere throughout your source code files so that your TA can get a high-level sense of what each part of your code does. (You don't need to comment every function or block of code in great detail; general high-level comments are fine.) (4 points)

Demo video (5 points):

(Don't worry too much about making your demo video look overly polished, since that could take a lot of time.)

  • final.md contains a link to your demo video that is publicly viewable (test on your friend's computer or an Incognito/Private browser tab), and the video is at most 2 minutes long. If your TA cannot access your video, you will not get any credit for this whole section. (1 point)
  • Demo video clearly articulates a real user need that your app aims to address. (1 point)
  • Demo video shows a screen capture video walkthrough of the important functionality of the actual app itself working in a web browser (or on your mobile device). (3 points)

Final in-person demo to your TA (15 points):

Pretend like you are showing your app to a total stranger who may be a potential customer of your product. Your TA will play around with your app on your laptop (or mobile device) as though as they've never seen it before. They will ask you questions if they get stuck on anything along the way.

Again, it's very important that your app's functionality works properly, since a real customer is not going to appreciate seeing components that don't fully work. If something is too risky or experimental, then it's better to leave it out of your final app. However, you shouldn't cut out too many features, or else your app will not perform the functionality that it originally promised.

The more realistic the data and interactions are, the better. If your TA sees that a lot of the data or interactions are still 'mocked up' or 'faked', then that will not be as good as if they are more realistic. However, we understand that it may not always be possible to get realistic data for all scenarios, so your TA will take that into account when interacting with your app.

Your TA will record down their impressions of your live demo as though they were a potential customer, and the entire staff will meet during finals week to go over all projects' in-person demo notes and demo videos when assigning final grades. Although we cannot make any promises, in general there should be no last-minute grading surprises since your TA has seen the progression of your project over the past 6 milestones, so they have a good sense of how your team has been progressing.

Frequently Asked Questions

First please check the project FAQ.