Project Details

The project is open-ended, and can be one of several "flavors" described below. It can be done individually or (depending on the scope) a team of two people.


Implementation oriented:
Pick a topic and approach that doesn't have an implementation that you can use, and implement the approach. Show how it works on small example. (It is not always easy to implement an idea described in a paper!)
Alternatively, pick an approach that has an implementation that can be used, and find several examples/applications on which to evaluate it. Measure the performance on your application. (Better yet, if there are two or more different approaches with implementations, use them for the application and measure the differences.) This is analogous to the experimental evaluation portion of a research paper.


Research paper oriented:
Pick a topic and 3 (or more) papers that propose different approaches to solve the topic (one of the papers can have been presented in class, the others should be new). Write a (<10 page) paper comparing and contrasting the approaches, using an example to show the differences. This is analogous to what you need to do for the WPEII.
Optionally, you could write a short survey (<10 page) of a topic area. Here you would try to be as inclusive as possible in terms of papers and classify the problem space in a few dimensions -- the paper by Alon Halevy "Answering Queries Using Views" and "Foundations of Modern Query Languages for Graph Databases" are (much more sophisticated) exemplars. Again, the use of examples to illustrate the ideas is important.


Small research idea:
If you have a research idea related to the topics of the course and an idea of how to tackle the problem, propose it and the approach that you will use to solve it. The output of this would be a paper where you 1) motivate the importance of the problem; 2) describe your approach; 3) discuss preliminary results using the approach. This is analogous to writing a short grant proposal, where you have done some preliminary work to justify the approach you will take.