File ProjectReport.html    Author McKeeman    Copyright © 2007    index

Project Report

Standard Research Presentation

Reporting your scientific results can be done in a paper with four major sections:

  1. Statement of the Problem
  2. Review of the Literature
  3. Results
  4. Conclusions and Next Steps

The idea is writing for the reader. The reader will want to know if this paper is relevant without having to read it all. In advancing knowledge, the researcher is responsible for insuring that this work is new. The Results may have considerable substructure, depending on how complex the original problem is. The Conclusions guide the reader on where this work might lead. It is presumed the author, having worked on the problem, also might know what remains to be done and what can be done with the results so far.

The front material of a paper includes the authorship and an abstract giving a succint summary of the results. It may also include a table of contents. The end material may include acknowlegement of help and support. For a large report, an index is helpful.

What is not standard, but seems important to me: Don't Be Boring. I also recommend not using words ending in "ly." Adverbs signal a sales pitch; trust your facts to speak for themselves.

Compiler Project

A compiler implies a programming language. A programming language needs a name and definition. A compiler needs implementation and testing. These are the basic components.

The sequence of tasks to complete the project may differ from the sequence of topics in the final presentation. There is a discredited sequential software process called the waterfall.

  1. Requirements
  2. Design
  3. Implementation
  4. Validation
  5. Integration
  6. Maintenance

The wisdom of the model was in its clean separation of concerns. The failure of the model lay in the fact that the hardest decisons had to be made when the least was known. It turns out to be a nice presentation format. As Parnas notes, you have to fake it, because you will find it more effective to do parts of all phases side-by-side. For example, you can learn by building tests (Validation) before you do any Implementation.

Your language definition includes a grammar and an addendum to the X Reference Manual, defining your additional features.

Your implementation discussion should highlight the specific problems you had to solve. For Validation, unit test and product test results are useful. That is enough for a first compiler project.

Three students volunteered their report as an example.