Course projects

You are required to complete two course projects, of which at least one must be implementational.

Group projects:

Any implementational or experimental projects may be done in a group of two or three people. Of course, the more collaborators on a project, the more I shall expect. Two individuals may not collaborate on two different projects.

Due dates:

The first project is due Oct. 26. The second is due Nov. 30. A letter grade will be deducted for each week tht the project is late. (E.g. if the project is worth an A- but is a week late, it will get a B-.)

Project plan:

At least two weeks before the due date of each project, send me a brief description for my approval. This should include at least:

Project categories

I can think of three categories of projects: implementational, experimental, and theoretical (meaning, writing a paper). Feel free to propose projects that do not fall within any of these categories, or that combine more than one category.


Format: Source code should be emailed to me. Write-ups may be handed in hard-copy or emailed in one of the following formats: (1) ASCII text; (2) Postscript; (3) HTML (4) A URL for a web page in one of the above formats. No other formats will be accepted. In particular, do not send me .DOC files, Word files, or anything MIME encoded. The deliverables for each category of project are characteristically as follows. (Of course, this will vary somewhat depending on the content of the project.)

Implementational projects: These may be done in any language that I can compile and run on the Sun network.

Experimental projects: Take an existing piece of software and test it on some data set. You should use a data set of substantial size, probably not less than fifty documents.


Theoretical project: The deliverable is a paper of not less than 4000 words. It should show substantial reading in the literature and serious original thought.

Suggested projects

You are encouraged to come up with your own ideas; those listed below are just suggestions. If you come up with any ideas for projects that you don't want to do yourself, but you think someone else might like, please email them, and I'll add them to the list.

Implementational projects:

Experimental projects Theoretical projects

Back to course page