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
-
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
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.
Schedule
There are several steps we will follow to help you with assessing progress:
Proposals: January 28.
Midterm reports: February 16
Projects due: March 9.
Proposals
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.
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.
Apartments:
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.