File ProjectReport.html    Author McKeeman    Copyright © 2007    index

Project Report

Standard Research Presentation

Reporting your scientific results is usually best 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.

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 may differ from the final presentation. The is an old, 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 have 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 only highlight the specific problems you had to solve. For Validation, unit test and product test results are useful. That is probably enough for a first compiler project.