Link Search Menu Expand Document

Project: Proposal Draft

DUE MONDAY FEB 3 AT 11:59PM.

Table of contents


In this assignment, you will form teams to develop a project that extends beyond implementing a basic database application, as experienced in CS4400. This project is an excellent opportunity to explore various aspects of database systems, innovate applications, or delve into research and evaluation of database management systems or tools that fit your interests. The project is implementation-oriented, as in we expect programming efforts from all group members. This assignment is not graded and intended for feedback.

Proposal Draft

Forming Teams

You will form teams on your own. Aim for a team of 4 members, although teams of 3 and teams of 5 are also fine. Project scope should be adjusted proportionally according to team size.

You can use the “Search for Teammates” feature on Piazza for forming the group. The “Project Groups” tab under the “People” section on Canvas tells you which students have already signed up for groups.

Proposal Format

Your project proposal should cover the following topics:

  1. Cover Page: Title of the project and team members’ names (last name, first name) in alphabetical order.
  2. Team Background: List each team member’s relevant coursework and practical experience related to databases and technologies they have used. This information will help us better understand your technical choices and work distribution.
  3. Project Goal: Define the project’s primary objectives as well as success criteria.
  4. User/Use Case: Identify potential users and beneficiaries of the system or application that you are building. Discuss how users would interact with your system/application (e.g., interfaces and user interaction flow).
  5. Technical Scope Definition: Discuss 1) core features for minimum viable product, 2) enhanced features if time permits, and 3) out-of-scope features.
  6. Design and Approach: This is the core of the proposal. Consider covering the following aspects :
    • Data: Data sources and format, data preprocessing requirements
    • Technology Stack: Database system(s) choice, programming languages and frameworks, third-party tools and libraries
    • Architecture: Component diagram showing major modules and data flow, database schema design, API specifications
    • Implementation Strategy: Main implementation challenges and solutions, key algorithms and features
  7. Work Division and Schedule: Outline how tasks will be divided among team members and a tentative execution timeline.
  8. Demo Plan: Preliminary idea of how you plan to demo the project. What functionality will be demonstrated?

Project Requirements and Expectations

  1. You have complete flexibility in choosing programming languages, platforms, and database systems.
  2. Your project must use at least one database management system (DBMS) in a non-trivial way.
  3. You are encouraged to interact with any other faculty members or any graduate research students to define a “meaningful yet small” project. Integration with any ongoing research in any group in the college is acceptable if a student is already associated with some research project. However, the class project must stand on its own and cannot be used in any other course.
  4. You may utilize public databases, such as those from our curated dataset collection. However, simply visualizing a public database or running some ML algorithm against the data are not sufficient.
  5. The team-size will be considered in setting the expectations.

When proposing the project, please keep in mind that the final project will be evaluated based on the following criteria:

  • (i) overall effort
  • (ii) how challenging it was and how you approached it, proposed ideas, and hardness/difficulty
  • (iii) completeness of design and implementation
  • (iv) the extent to which new database techniques were used or explored (innovation/novelty)

Sample Projects

We have shared some example projects from the 2024 Spring class on Canvas under “Files/Sample Projects”. For each group, we have shared the project proposal and the final presentation. The PPT presentations are not exhaustive but should give you an idea of what the group did.

Here are some additional examples of past projects:

  1. Implementation of a specific file access or indexing scheme for a temporal/image database.
  2. Use of a DBMS to build an image database with querying by content or by descriptors.
  3. A comparative performance study of relational and NoSQL databases.
  4. A bioinformatics application using a DBMS that deals with genomic data.
  5. An electronic medical record system prototype using Cassandra.
  6. An engineering information system prototype application using mechanical or electrical design data.
  7. A messaging application with a database backend.
  8. A multi-user gaming simulation prototype with database backend.
  9. A database for virtual reality applications.
  10. Reproducing results from database research papers (e.g., learned indexes)
  11. Implementing some aspect of a geographic data management system – e.g., a path finder for going from A to B on campus with certain constraints and making it into a mobile app

Project Timeline (Tentative):

MilestoneDateGrade
Proposal DraftFeb 3Ungraded (Feedback only)
Proposal FeedbackWeek of Feb 17Ungraded (Feedback only)
Revised ProposalMar 35%
Project PresentationApr 16, 215%
Project Demo and CodeFinals Week15%

Submission and Grading

Submit a PDF with your proposal draft on canvas. Only one submission is required per group.

The proposal draft is not graded and is intended for getting early feedback. Your revised proposal will be graded and will serve as a design document for your project.