Student Projects in CSU430 Database Design - Fall 2007

Professor Futrelle - College of Computer & Information Science, Northeastern U., Boston, MA

Version of 23 November 2007


IMPORTANT ANNOUNCEMENT ABOUT YOUR FINAL PROJECT - 11/23/2007

There is now a set of detailed requirments for your Final Project. Access it here.

EARLIER IMPORTANT ANNOUNCEMENT

As explained in class on Monday, November 5th, you will be required to include various database techniques in your projects, rather than trying to build fancy projects on an overly simple collection of elementary SQL. Details will follow, but the first item I'm posting is the collection of examples I displayed and ran in MySQL in class on Monday, November 5th. Access these notes here.

Quick link to project details, specs, due dates.

Overview

Project required: Every student is required to complete a project for the course. Below I give a number of examples of possible topics, varying from designing and building a non-trivial database, to building a database-backed web application, to exploring cutting edge tools such as embedded databases or an implementation of the Google File System. Every project will involve using a computer database of some sort, preferably by driving it through a program you write in Java, PHP, Perl, or some other.

Descriptions of what you need to hand in at each project deadline are on this page.

Most of the material I've created about database systems for this course is this collection of pages focusing on MySQL (with notes about SQL Server and some other sytems).

Amount of effort, complexity of your DB: Not everyone will work on a relational DB project (though your various tests will require good knowledge of relational DBs). Whatever you do, you should be creating and working with a relational DB, or its equivalent, comprising a half-dozen tables totaling a few hundred rows. It's not difficult to find data, in ways I'll describe, that could contain thousands of table rows. That's fine too.

Some suggestions for your project: My suggestions for projects can be found on this page. This list may be updated in the first few weeks of the course. (Look at its version date.)

Your two preliminary reports: The project will be completed in two preliminary stages preceding the final hand-in. You will be required to speak, at least briefly, to the class, describing your project and answering questions. You'll mail your URL or documents (PDF(s),slides) to me in advance, so I can put them on the screen during your presentation. (Details about your presentations are forthcoming.)

My viewing, running your project database/code: All your projects have to be in some form that I can access your database and run your code, else special arrangements will need to be made, such as demoing your system to me personally. I need to do this in order to properly evaluate what you have accomplished. The course TA has some expertise in various systems that complements mine, to some extent.

A written report: You must produce a written report as part of both your preliminary reports and final project. Your writing must be clear and substantial. You will be graded on both the form (your English) and the technical content of your written report, in addition to your computer work.

Discuss any questions with me as you go: If you have questions of any kind about your project ideas, computer resources and use, or your writing - form and content, you should discuss these things with me as we go, rather than waiting to be surprised by my reaction to what you hand in.

Joint work: I am leery of having more than one student working together on a single project, for one simple reason: This often leads to an unbalanced effort, in the extreme, one student of a pair may never do any coding or other computer work. This is unacceptable. Worse, it's impossible for me to know who has done what. This is not just a matter of my assigning grades. It is for your benefit too. If you go through the course essentially never doing any computer work, you have only hurt yourself as a professional in computer science, in the long run. After graduation you obtain or migrate to a job in which you don't do programming. But that is then and this is now.

Undergraduate research opportunities: Some students in the past have worked on course projects related to my research. Some continued to work with me on projects during the course and after the course finished. Some former students have gone on to graduate schools, great jobs, and even a prestigious award. See the research projects/opportunities page for more details.


Return to CSU430 Fall 2007 homepage. or RPF's Teaching Gateway or homepage