ICS 321 Course Project (100pts)
The goal of the course project is to
- implement an application that uses a
DBMS,
- investigate and evaluate alternative design/implementation choices made
in the course of implementing the application.
The EMPHASIS is on goal #2!
You are free to choose an application domain of your choice (the application
can be related to your work or interests). A web-based interface is not
essential to the course project, but might be helpful. In order to help you manage your project activities and time, this project is structured in two parts:
- Part 1: Implement the data intensive application in the most straightforward or expedient way.
- Part 2: Investigate alternative ways of implementing the application, implement, compare and make a recommendation.
Your Tasks
-
Form a group of 3 students. It would be wise to consider the schedule and interests of group members. Exceptions may be given for single person projects under special circumstances.
You could use Laulima->Discussion List->Student Lounge to find groups/members
-
Pick a database-intensive application to implement. Discuss what features are required and what software is needed to implement the application.
-
[Part 1]
Write a brief project proposal for Part 1 and post it in
Laulima->Class Discussion with "Project:" as a prefix in the title. Your proposal should include:
- Project: Title
- A meaningful short project identifier not more than 12 chars long.
- Members.
Assign one person as the group representative
- Short description of the application including critical features. The description should include some implementation plan (what software, libraries, packages to use etc).
- A brief timeline with milestones
- Ideally you should have an idea who is doing what
-
[Part 1]
Do the project. Implement the application and look out for places where there could be alternative design or implementation choices.
-
[Part 1]
Record a short 5 minute demo of your application using screencast-o-matic and upload it to youtube.com. Submit the link to laulima->assignment
-
[Part 2]
Write a proposal for Part 2 as a follow-up on your proposal in
Laulima->Class Discussions. Your progress report should contain the following material.
- An honest assessment of what you have accomplished so far, and what
unexpected obstacles you have encountered if any. In some cases, we may have to
revise the project plans as a result of the midterm reports.
- What alternative design/implementation choices you plan to investigate
and how you would evaluate these alternatives experimentally and
quantitatively.
-
[Part 2]
Do the project.
- Implement the alternatives.
- Generate/download data and run experiments to evaluate the alternatives.
- Analyze the measurements obtained from your experiments and present them in an easy-to-understand way.
-
Prepare a short 8 min presentation and/or demo and optionally record it as a screencast using sceencast-o-matic.
-
Present your project either live in person OR using a screencast in class and be prepared to answer questions.
-
Document the roles and work performed by each member of your team. Submit the documentation and your slides to laulima.
-
Participate in peer evaluation of projects.
Deliverables
- Project proposal (10 pts) due Oct 2 1700h
-
A 5 minute screencast demonstration of Part 1 of the project (30) due Oct 30 1700h
-
Project progress report (10 pts) due Oct 30 1700h
-
Project presentation (50 pts) due Dec 2,4,9 1700h
-
Project presentation slides and documentation on each member's role to be submitted in laulima. Due Dec 11 1700h.
You are not required to turn in code, but be prepared to show any code you
wrote, should the instructor request for it for the purpose of grading. The
grading of the projects will be based on the following criteria:
- Quality of analysis of the different alternatives.
- Amount of work/effort put into the project.
- Relevance to learning database systems.
- Presentation quality (clarity,enthusiasm, etc.).
Evaluation of Peer Projects
You are encouraged to evaluate the project of your peers critically but
constructively. You will receive 0.1 percentage points as extra credit towards
your course grade for every evaluation that you submit to:
The peer evaluation consists of 5 questions:
- The presentation is clear and understandable.
- I learned something new from the presentation.
- The group/individual put in a lot of effort and work for the project.
- What did you like best about this project?
- What could be improved in this project?
Resources