Final Exam Period
Preparing for the Final Presentation

Final Exam Period

In lieu of a final exam, teams will give short presentations about their compilers and their process. Participation is required.

In addition to giving your presentation, you will write two kinds of short evaluation:

If we have time at the end of the period, I will present some summary statistics about your compilers and about how they run, including on one or more new Klein programs, and some historical information to put your achievement in context.

The rest of this page provides information about your three tasks on presentation day.

The Final Presentation

Each team will give a 12- to 15-minute presentation of their project. Approach the presentation as a talk to a group of peers who are interested in learning about your compiler and its fit with the project specification.

The presentation should, to the extent possible, be a team effort. This includes design, presentation, and delivery.

Content

The content of the presentation should include the following items.

High-Level Description

Describe at a high level what makes your compiler different or interesting. Be sure to include:

  • any scope changes to the Klein language spec
  • any optimizations your compiler performs

If you don't have your own ideas about what makes your compiler different or interesting, you could present:

  • at least two things you like (or find interesting) about your approach
  • at least two specific challenges you encountered during design or implementation
Demonstration of Your Compiler

Run your compiler on at least two Klein programs. Be sure to include:

Please demo the version of your project you submit as Project 7 unless you make arrangements with me.

Demonstration of Your Compiler's Output

Run the code generated by your compiler in one of the TM simulators.

Form

The initial presenter should introduce the team, including team name and the team members. Put this information on a title slide, even if you don't make (m)any other slides.

If you are comfortable speaking in front of your code and demo, you do not have to prepare an elaborate set of slides and all the trappings of a more formal presentation.

However, using a few slides can help both you and the viewer. For instance, if you describe two things you like or find interesting about your compiler, having one slide for each can help the viewer follow your description.

Don't put too much information on any slide. Use a large font — 48 point or 64 point — to ensure that the audience in the back can read it clearly. That will also prevent you from overloading the slide.

While this is not a formal presentation, please take some care in presenting your work, both to show the class the result of your semester's labor and to give them a chance to learn from what you have done.

Logistics

Make sure that your team has one laptop computer set up as the presentation machine.

The teaching podium has video connections for VGA and HDMI. If you need some other connector, please bring an adapter.

Ideally, all presentation materials (the project directory, including compiler code; TM simulator; and any other items you intend to show) will exist locally on the presentation machine. If you choose to rely on a remote server, be sure to test network connections, etc., in advance.

Be prepared to record your presentation using Zoom or some other software that produces a standard video file. You will submit the video file to the instructor for use by the CS faculty.

Evaluating Other Teams' Presentations

Each member of the class will evaluate each other team's presentation. These evaluations serve two purposes:

On presentation day, I will give you a page on which to write each evaluation. That page will ask you to consider these elements of each presentation:

You will be given two minutes after each presentation to write your evaluation of it. This will allow you time to consider the different presentation elements and to write a brief, well-reasoned comment.

I will remove the evaluator's name from the evaluation and provide it to the presenters. If only for this reason, be sure to show care in your listening ane evaluating, and write your comments in a constructive fashion. Of course, you should do those things anyway, as they develop and reflect your own professionalism.

Evaluating Your Team

The last task you will perform is evaluate your own team's project and performance. These evaluations serve three purposes:

You will be given a page on presentation day on which to perform your evaluation. It will ask you to comment on the contribution made to the team by each team member, including yourself. Items to consider in this evaluation include:

Your answers can refer to contributions learning Klein and TM, designing the compiler, writing the compiler, writing test programs, creating documentation, working with other members of the team, and any other element you think is relevant to your project experience.

You will be given at least ten minutes at the end of the class period to write your evaluation. This will allow you time to consider the different evaluation points and to write brief, well-reasoned comments.

Be as specific as possible. I will use your answers as a part of my evaluation of the project. Your answers will not be read by anyone but the instructor, so you can speak openly. Even so, you should write your comments in a constructive fashion, reflecting an attitude of professionalism.