COMP 20: Web Programming

Spring 2017 Semester Group Project

Spring 2017 Projects

Team 1: Light Cycles 2 (a Tron-clone)

Team 2: NavGator (route memorization + Google Maps)

Team 3: Float Four (Connect Four with a fun twist)

Team 4:

Team 5: TuftScavenger

Team 6: Kanye's in Paris (a driving game)

Team 7: Karaokey (real karaoke with scoring)

Team 8: Trick Turn (Frogger anyone? And no music --Bruce Molay will be happy)

Team 9: Mix Master DJ

Team 10: Mixr

Team 11: Gamr (a computer / video game recommendation service)

Team 12:

Team 13: #AlternativeFacts

Team 14:

Team 15: Canada Goose Chase

Team 16: Memelord

Team 17: Stump Dump

Team 18: Tufts Tasks

Team 19: Pixel Me Tufts

Team 20: Pass & Fold (Pictionary + Telephone Game)

Team 21: Trailer Nailer (a movie trailer quiz)

Team 22: Snake Around the World (a Snake clone)

Team 23: Loud Farm

Team 24: Guess the Song

Team 25: SuperCypher! (a nifty typing game)

Team 26: GeoTufts

Team 27

Overview

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

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):

Deliverables

  1. Project proposal and design doc (15 points; due on Friday, March 10th). In Markdown format, in a README.md 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

Assessment

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!