UW home page

Last Updated: November 17, 2003


There are two main style of projects: research proposals and implementation projects. In some cases, we will allow for another type of project, such as an actual research project. However, if you wish to do another style of project, you should discuss your ideas with and get approval from one of the instructors.

Research Proposals

A research proposal will be a paper from five to ten pages in length. Our expectation is that you would start from the paper you chose to present in class, and explore potential research avenues related to the work in this paper. If you would prefer to start from another paper as a basis for your research proposal, you should discuss your plans with one of the instructors. While the format of the paper is not strict, we would expect the following to be in the paper:
  • Introduction - describe your topic, mentioning key paper(s). One or two paragraphs should suffice.
  • Background - a short discussion of background material. Concentrate here on the background material you will need to discuss your research ideas. You should probably mention any weaknesses in in the paper you read and how to address them as part of the proposed research.

    You should also give a summary of any papers or books you read to support your proposal, and how closely you looked at the various works. Consider this to be an elaborated bibliography that will let us know what your background is for your proposal. You should still have a bibliography at the end of your proposal.

  • Research Proposal - this should be the majority of your paper. Topics to cover are the general ideas; what you would have to implement; how you might test these ideas; potential pitfalls you might encounter; any experiments you need to run; any hardware requirements your research would require; what results you expect; how big an impact would this work have. The exact format for this section is hard to describe since it will depend on the proposed research.
  • Time Line - This section is somewhat optional - an outline of when you would expect to complete the various components were you to actually carry out the research. However, even if you don't include it in your proposal, you may find such a timeline useful for organizing your thoughts on the research.

Implementation Projects

For an implementation project, you would implement ideas based on the paper you presented. If you want to use another paper as the basis for your implementation, you should discuss your project with one of the instructions. You do not necessarily have to implement every thing in the paper, but you should implement enough to reproduce the key results. This may require playing with the code and/or parameters to get things to work. If so, keep track of what tweaks you make.

You should make a short write-up (one to five pages) of your project, saying precisely what you implemented and what changes, etc., you had to make. You will be expected to demonstrate your project to the instructors of the course.


The above are two general areas for a project. The boundary between the two is not sharp - you might want to implement something as a basis for your discussion in your research proposal, for example. Likewise, other projects are possible. Again, you should discuss such ideas with one of the instructors.
University of Waterloo | Computer Science Department | 200 University Ave. W. | Waterloo, Ontario Canada | N2L 3G1 | 519.888.4567 | http://www.cgl.uwaterloo.ca/~smann/cs888-f03/