CSE-444 Class project


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 4-5 students. It is highly recommended that the projects have a web based interface (that will also make it much more fun).

You are free to propose your own project topics. We have provided below several possible topics, and you can also get ideas from projects done in the fall quarter.  Furthermore, you also have the opportunity to work on a project with the Fred Hutchinson Research Center. Bill Alford,  from that center has come up with several possible project topics. In that case, you would be producing a piece of software that would actually be later used by people at the center, and get real world hands-on experience. Needless to say, having produced such software is something that makes resumes look good. For more details, refer to a page that Bill has set up.


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

  Proposals:  January 28.
  Midterm reports: February 16
  Projects due: March 9.


The proposals are meant to get you to start thinking about the project, get into groups and create a plan. They should include the following:

Proposals are meant to be short and to the point. Their main goal is to make sure that we agree on a reasonable project. Come and discuss any questions you may have before the proposal is due.

Midterm report

These reports are meant to make sure that you're on the schedule you've set for yourselves. They should be short, and state what you have accomplished so far (w.r.t. the schedule), what unexpected obstacles you have encountered. In some cases, we may have to revise the project plans as a result of the midterm reports.

Project ideas

The following are several ideas that Jake and Alon came up with. Note: these are not specific proposals, only topic areas. You need to refine the topic and decide on the exact functionalities. More ideas will be added as we go along.

Movies domain:

In this domain you would be modeling entities movies, their actors, directors, genres, playing times, reviews. There exist several sources on the WWW from which you can get data to populate such a database. You can support various queries such as finding specific playing times, finding movies in Seattle directed by a given director. You can also support updates to the reviews section of the database (e.g., viewers giving their own opinions). Another functionality is to provide personal profiles of people (i.e., the movies they like) and then try to recommend movies to them based on profiles of viewers with similar tastes.

Books domain:

In this domain you would be modeling entities such as books, their authors, topics (which may be a complex hierarchy). You may also model various attributes of the authors, the institutions they belong to, etc. You can support a buy/sell service of used books, books used in specific university courses. A personal profile, similar to the one for movies is also a possibility. Pointing an interested buyer to a web source to buy a book is also an interesting option.


This domain would require modeling apartments and their properties, areas of town and their various properties (e.g., bus lines, crime rate distance from various landmarks). You would provide an interface for offering apartments for rent, finding apartments. Some data can be found from the Seattle Times and other sources.

Database of web sites:

In this domain, your basic entities would be web sites. You can model their various properties: topic, url, organization to which they belong, other sites they point to, reviews of the site, quality, cost of accessing, etc. Users can add new sites that they found to the database, add opinions about existing sites, or search for sites that may be of interest for them. See Yahoo.com for a partial inspiration.