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 3-4 students. Projects will
have a web front end.
Finding an application are for which database systems would be required,
Modeling the domain of the application, and defining the application functionalities
Designing and implementing the schema
Populating the database
Writing the code needed to embed the database system in the application
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 of last year.
Furthermore, you also have the opportunity
to work on a project with the Fred Hutchinson Research Center.
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
that Bill has set up.
What should be in the project?
Every project should illustrate the following features:
- Conceptual design of the domain,
- Schema design for the application,
- Sophisticated querying,
- Database updates,
- Use of multiple views.
There are several steps we will follow to help you with assessing progress:
Proposals: October 19.
Midterm reports: November 9.
Projects due: December 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:
Project description: what is the domain, what aspects of the domain will
be modeled by the database.
What are the application specifications? I.e., what functionality will
the system provide?
What is the role of each project member in the project?
What special software will you be using? Make sure that there are no software
obstacles (i.e., there is no tool that you will be spending hours just
getting to run).
Schedule: what are the landmarks in your work.
Other, more specific comments if appropriate.
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.
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
The following are several ideas that Aung 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.
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.
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
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.