Princeton University
Computer Science Dept.

Computer Science 425
Database Systems

Andrea LaPaugh

Spring 2003

Project Overview

The goal of the course project is to have you explore in greater detail some aspect of the design or use of database systems. The choice of project is yours, but it does need to be approved. You may work individually or in pairs. The project may be primarily experimental -- the implementation and evaluation of some technique -- or it may be primarily in-depth literature research of the state-of-the-art of an area within databases. Here are some suggestions. You may choose one or use them as guides to specifying your own project.

  1. In past offerings of COS425, the same project was done by all students. It was the implementation and evaluation of the main query optimization algorithm. A detailed specification of that project can be found in the COS 425 spring 2001 project description.
  2. Implement the main file organizations and index structures that we have studied: sorted files, B+ trees, linear hashing and extensible hashing. Design workloads of inserts, deletes and searches to study the performance of these organizations in detail. This project involves determining how one should model workloads as well as getting data on the performace of the storage and indexing methods.
  3. Implement an application that requires database support. Implement the user interface, the application interface to the database and the database. This application needs to have some complexity in functionality, constraint maintenance, reliability or user interface. The application should be something in which you are interested and for which you can obtain or generate a reasonable set of interactions and data for testing. (See Chapters 6 and 7 of our text (Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems, Third Edition), for a discussion of "application development".)
  4. Extensible Markup Language(XML) is being promoted as more than an enhanced markup language. It can indicate structure and semantics for a document. A lot of work is being done which considers XML as specifying a semistructured data model and develops query languages for XML documents. This is presented in Chapter 27 of our text, which we will discuss in class. However, many details are not covered in the text. Explore some aspect of XML as a database language. Possibilities:
  5. Database techniques and systems exist for special kinds of data. For example, Chapter 28 of our text presents techniques for spacial (geometric) data. Your project may focus on techniques for a special kind of data. Possibilities include:

Important note:If you are a graduate student and wish to satisfy your programming requirement with the COS 425 project, you must choose an implementation project, and you must notify me in advance that you want to use the project to satisfy the requirement.

Requirements

Each individual or pair must submit by Dean's date a report that describes your project. This must include the goals of the project, your methodology and the results. If it is an experimental project, you need to describe what was implemented, the major implementation decisions, how you designed the experiments, and the experimental results. Your code should be in an appendix. If it is a literature-based project, you need to describe the major issues under study, summarize the major techniques and experiments and critically analyze the results. You must have a bibliography that includes recent research.

Each individual or pair must meet with Professor LaPaugh after the project report is submitted for a project demonstration (where applicable) and discussion.

Projects will be graded on thoroughness and depth of analysis. Difficulty will be taken into consideration. Keep in mind that evaluation is an important part of any project. Be clear on the goals of your project and how you demonstrate or measure success.


A.S. LaPaugh Thu Mar 27 17:51:12 EST 2003