CS 4604: Project Assignment 1
Released on Jan 25, 2013. Hardcopy due at the start of class on Feb 1, 2013.
Deliverables:
- Form a team of 2-3 people and decide on a group name.
All groups will work on the same overall project, but each group will
have its own instance of the project data and will build a separate
and unique interface to its instance.
We will work in the domain of research literature, specifically
off the data available in the DBLP Bibliography Site,
which provides a searchable facility for publications related to the
database and programming communities. This domain involves modeling
research publications. You need to identify the title of the
publication, the forum it was published in, the authors, topics,
keywords and related subtopic areas. At the end of the day, you will
be able to identify papers written by a particular person at a
particular venue or papers published in a narrowly defined area.
Browse this website, the ACM Digital
Library, and other similar sites to get a sense of what the
different types of information are that you may need to represent in
your database and highlight in the web interface.
- (100 points) Write a two page project proposal/description in the
following format:
- Name of the project group. Name of the students in
the group.
- The domain of your database application.
- What are the application specifications (i.e., what
functionality will your completed system provide)?
- What aspects of the application will your system model? What
will your system not model?
- What is the role of each project member in the
project?
- What other "value-added" facilities
could your system support (but that you will not build explicitly)? The
goal is for us to mutually agree on a project that is feasible over the
course of one semester. If you have questions, meet the instructor or
the TA during their office hours.
Frequently Asked Questions
- What do you mean by the "domain" of an application?
Answer: Just write a one-two sentence
description of the overall context or situation that your
application is a part of. For example, if had the choice to work
on a books database, you may describe your domain as "the books
available at a library" or "the books sold by a bookstore."
- The project overview says that we
are supposed to use the DBLP database, but it also includes a
section on "Other Project Ideas." Are we supposed to use the DBLP
database or work on the other projects?
Answer:You will be working on the DBLP
project. You will design the schema for the DBLP data, have access
to or insert the entire DBLP dataset into a database, write queries
to your copy of the database, and design a web application to
interact with your database. As the web page says, the other
project ideas included solely to give you an idea of the scope of
domains that databases can impact. You may also get an idea from
these other projects of the types of value added facilities you can
implement in your application.
- Is every group in our class creating a database application
for the information in DBLP? So at the end of the semester, we will
have multiple versions of the same application (but different none
the less)? Or are we partitioning the application into smaller ones
which each group will have its own individual project?
Answer:Every group will create a complete DBLP
application. The core of the application will be identical across
groups. However, the last project assignment will give you ample
opportunities to diverge from each other and to stand apart from the
rest of the class.
- Is the document that we turn in for assignment 1 supposed to be in a
numbered format, similar to the specifications/questions? Or are we
supposed to write an actual paper/essay-like document?
Answer:You can use a numbered format. Some of the
questions may need a longer answer than others.
- For question 3, do you want us to state specifically how are
application will be used? For example, specific search boxes, the
search results page and etc.
Answer:
No, you do not need to go into such details. To give an analogy, suppose
you were designed a web browser. Your answer might say that the browser
will support visiting URLs, maintain a history of visited web pages,
allow users to tag bookmarks, etc. Your answer will not need to go into
the details of the positions of various menu items.
- Since this is a preliminary project proposal, how can we be sure
what the role of each project member will be? How detailed should we get
into this in our writeup?
Answer: You don't have to
"commit" to anything now; what we are looking for in this question
is to see if any of the group members brings special
talents/experiences to bear upon the project. For example, if
one of you has worked in a digital library project, (s)he may
help identify design choices from this point of view.
If one of you has
experience in web-based software development,
then that would be a good thing to mention.
- Do we have
to create a database schema for our application?
Answer: No. We just need an English document
that says what you will do and some details of what the
functionality of the final system is. You will have ample
opportunity to create schemas and juicy things like that later
on in the semester!
- Can
you explain what you mean by "value-added facilities"?
Answer: For example, in the books domain, such
a facility could be a "recommender system" that makes selections
of books for potential customers based on buying trends. In
other words, the recommender system is a facility that will be
enabled by the presence of a database system. This question is
intended to set you thinking in larger-scope, out-of-the-box,
and if you can explain potential advantages of databases from a
user point of view. If you are an IS person for a corporate
organization, you will frequently need to "justify" investing
extra resources into developing something like a
database/web-system etc. One way to do that is for you to think
of what kinds of applications that a
DB can "enable".
- In the part, "what will be modelled
(and what will not)", what do you expect us to write?
Answer: For example, in the books domain, you can write something
like "We will model books, authors, publishers, and printers" but not
"reviews, bookstores and sales figures" so that all of us are clear on
what will be the final outcome. In the specific case of DBLP, you
can take a look at the DBLP website and the DBLP XML records and
related DTD to get a sense of the information you need to
model.
- So do we to have to know how to parse XML files?
Answer: No! Not for this or any other step of the
project. We have already loaded the DBLP data into our PostgreSQL
server, so that you do not have to worry about the initial
processing of this data.
Last modified: Fri Jan 25 2013