C20.0046 Class project

Notice the updated deliverable deadlines!!

General description and goal

The goal of the class project is to implement an application of a database system. This includes Projects will be done in groups of 3-4 students.

Students are encouraged to pick an application domain that excites them, provided it has a nontrivial database component. We make some suggestions below.
 

What should be in the project?

Every project should illustrate the following features: A web front end to the application will be appreciated.
 

Guidelines for the class project

Here are some guidelines that should help you make project decisions. Of the following, the first three guidelines are the most important.

Effective use: Try to make effective use of as much of the course material as possible. As we progress through this course, try to incorporate what we learn into your projects. For example, use joins, aggregates, indexes, triggers, etc.

Completeness: The project must be complete and stable enough for a good demonstration at the end of the course. This requirement is very important. If you are unable to give a reasonable demonstration, your project grade will suffer greatly.

Database size: All project databases must be of nontrivial size. You may interpret nontrivial based on your application. However, (1) there should be at least 10 nontrivial relations; and (2) the total number of attributes times the total number of tuples should be at least 5000. (These are guidelines only; if you feel your application warrants exceptions, come see me during office hours.)

Practicality: The application you build should be of practical use to a sizeable community (at least in the forseeable future).

Innovation: The more innovative ideas you include in your project, the more credit you will receive.

Miscellany: In addition to the above, your project grade will take into account factors such as teamwork, overall effort, timeliness, answers to questions about the project, justification of design decisions, and intermediate and final project reports.

Schedule

There are several steps we will follow to help you with assessing progress:

  Groups formed: January 27.
  Proposals:  February 3.
  E/R design: February 17.
  Formal specification: March 2.
  Sample end to end application: April 4.
  Projects due: April 25.

Groups Decided

One member from each group must send an e-mail to c20-0046-help@egroups.com with:

Proposals

Students must put on their group web pages (this should only be a page or less long): The proposals are meant to get you to start thinking about the project, get into groups and create a plan.
 

E/R design

Each group must post to their project web site

Formal Specification

Each group must post to their web site:

Sample end to end application

Each group must post to their project web site

Completed project

Each group must have a demo of their project.

By April 25, each group must have on their web site in its final form (no working after the deadline):

Also by April 25, each student is required to email the instructor with the following information: Answering these brief questions will help us make the project better.

Project ideas

The following ideas are merely suggestions - you have to flesh out your specific application.

Movies and reviews database

Online store (books, CDs, mp3s etc)

Apartments

Library DB

Job classifieds database

Database of web sites

See Yahoo.com for a partial inspiration.

Room scheduler

Historical stock price data

Stern administrative database

(simple idea, you have to come up with interesting functionality).

Personal Information Manager (PIM)