COMP 20: Web Programming

Spring 2017 Semester Group Project


You will be working on a team of no more than 5 people maximum to create a prototype pertaining to computer or video games. Please note that a prototype is different than a product: a product is a complete system with documentation while a prototype simulates most of the complete system. I do not expect a full-blown product to be completed by the end of the semester.

Unacceptable Project Ideas

Example Projects From Fall 2016

Find The Way


Captionary (MULTIPLAYER)

3D Grandmaster Tic Tac Toe (MULTIPLAYER)

Absolute Requirements

Your team's project must adhere to the following non-negotiable requirements:

  1. Must use HTML5.
  2. Must use JavaScript.
  3. The team must use Git revision control for the project. Each team will be provided a private repo in GitHub under the tuftsdev organization.
  4. Must have desktop and mobile web user interfaces. That is, the user interface is different on the desktop than on mobile.
  5. Must use a server-side framework or technology (e.g., Node.js, Django, Ruby on Rails).

Pick Three

On top of the absolute requirements, the project must utilize at least three of the following technologies or ideas (your team's choice):


  1. Project proposal and design doc (15 points; due on Friday, March 10th). In Markdown format, in a file in your team's GitHub repository, using bullet-points:
  2. Project checkup (10 points; due on Friday, March 31st) - I will be looking for evidence in your team's private GitHub repository that your team started working on the project. It does not have to be elaborate.
  3. Status report 1 (5 points; due on Friday, April 7th) - This file must be in your team's private GitHub repository, written in either text or Markdown format, that outlines (1) what was accomplished during the week, (2) challenges and issues team faced during the week, and (3) your goals for the next week.
  4. Status report 2 (5 points; due on Friday, April 14th) - Please do not overwrite your status report from the week before.
  5. Status report 3 (5 points; due on Friday, April 21st) - Ditto.
  6. The completed project (40 points; ABSOLUTE DEADLINE on Tuesday, May 2nd at noon)
  7. Elevator pitch presentation at Semester Group Project Demo Day (10 points; on Tuesday, May 2nd at noon at 51 Winthrop Street) - You have less than 5 minutes to explain your project to me and to the judges!

The remaining 10 points of the project (out of 100 total points) will be for individual performance on the team based on your teammates' feedback. That is, underperforming members of a team can receive a lower grade for the final project.

Example Project Proposal

Here is one from spring 2013 from Tyler Lubeck, former head TA of the course (fall 2014). Overall, it is a good proposal but not an excellent proposal: Tyler even made a note of this in the document! The team did not list the features of the project: "Emails/SMS" was listed but emails and SMSes for what? A features is what a user can do; a simple example is "user search for song." The proposal also did not briefly describe the purpose of each API.

Intellectual Property

All works and ideas are owned by the members of the team. I cannot take ownership of any of your work. I do not have stake or equity in any project created in my classes for that matter.

Important Notes


Your team will be graded on five factors:

  1. Functionality - Something that works consistently. Remember, a project with fewer features that work is significantly better than one with numerous features, in which some either do not work or are buggy.
  2. Utility - Does your project fulfill a recognized need? Is it also easy to understand?
  3. Originality - C'mon, another running app or calorie counter? Better if your team strives to do something more cosmic.
  4. Technical Competency - Use good programming practices, consistent Git commits and pushes, meaningful Git commit messages used. Egregious data collecting will be penalized.
  5. Teamwork - Does all team members contribute? Having one or two people doing all the work is not good.

Here is the rubric form that will be used on Semester Group Project Demo Day: semester_group_project_rubric.pdf

After the completion of the semester group project, you will evaluate your teammates via 360 degree performance evaluation. Each member of a team will receive the same grade for the semester group project. However in some cases, your participation grade may increase or decrease depending on the evaluations from your other teammates. Your review will not be read by your other teammates.

Semester Group Project Demo Day

The room (51 Winthrop Street) will have a number of tables. Two teams can share a table to showcase their work. I will go to each table and each team shall give me a 5 minutes-or-under demo. Others can walk around and look at other team's work. The atmosphere will be like a fair. There will be people outside of this class in attendance, including professors and even trustees of the University. Please feel free to invite your friends and family to attend. In the past, students have brought their parents to this event. Remember, it should not be a stressful day --it is a day to have fun!


Team 1

Team 2

Team 3

Team 4

Team 5

Team 6

Team 7

Team 8

Team 9

Team 10

Team 11

Team 12

Team 13

Team 14

Team 15

Team 16

Team 17

Team 18

Team 19

Team 20

Team 21

Team 22

Team 23

Team 24

Team 25

Team 26

Team 27