Project Information

CMSC 611, Spring 2000

A semester-long project dealing with some aspect of computer architecture is an integral part of the CMSC 611 course. The best way to learn is by doing, and this project gives students a great opportunity to conduct experiments in computer architecture or explore more "far out" ideas.

Project Overview

Your group may pick any topic related to computer architecture; a list of project suggestions can be found below. However, you're encouraged to pick your own topic if possible. Anything related to computer architecture could become a project, but it should involve some implementation, design, or analysis - merely summarizing existing work in an area is not a project, though verifying previously published claims with your own experiment may be OK. Either way, you'll have to do some library research on your topic to get a basic grounding in the material. I encourage you to pick projects that you (and the rest of your group) find interesting, since those are the ones that are easiest to work on.

Your project will have several milestones throughout the semester to ensure that your project stays on schedule. The project schedule includes information on what has to be handed in for each milestone; some milestones will also require that you meet the professor for 10 minutes. Milestones aren't explicitly graded, and shouldn't require much time beyond what you need to do to finish your project. Milestones will not be graded except as part of the project as a whole. However, groups not satisfactorily meeting milestone dates will lose points from their final project grade.

Resources

Obviously, you'll want to look in the library for papers on your topic of choice. You may want to use the library's online abstract search tools to find papers you might want to read. Another approach is to find a recent paper on the topic and follow references back. You might also want to try using Web search tools such as HotBot, AltaVista, and Google.

Many papers are available on the Web; good places to check are tech report FTP sites and the authors' home pages.

Deliverables

Written report

Each group must hand in a written report on their project. This report should be 3500 - 5000 words long, or 8 to 12 single-spaced pages. It should describe the problem, cover sufficient background material so that others can understand the project, and describe both the project and results in detail. In short, it should resemble a conference paper in both length and scope. A sample project report (yes, this paper started as a class project) is available online. As you can see, it's certainly possible for some particularly interesting and well-done projects to lead to published papers, perhaps with some additional work.

Presentation

Each group must present their projects to the class during the last week or two of classes (the exact number of classes will depend on the number of project groups). The presentations will be 15-20 minutes each, and should focus on the project's results. Normally, only one member of the group will actually give the presentation, but there have been groups where two or more people "shared" the presentation. The presentation should include any slides or other materials that will help the class understand the project.

Project Schedule

Dates marked with a (*) require a 10 minute meeting with the professor. Signup sheets for these meetings are available online.

Project Topics

This is a list of suggested topics for your semester projects. This is by no means an exhaustive list, and you are encouraged to pick a topic that you are interested in. If you're not sure whether your project is appropriate for a computer architecture class, please send me e-mail.

I would prefer that no more than 1 (maybe 2) groups work on each project topic. There are plenty of topics here, and I expect that students will come up with many more interesting topics.