Contents:
Overview
Presentation
Written Report
Project Demo
What to Handin, and how
Overview: Report, Presentation, Demo
The final part of your course project consists of an oral presentation, a
written report, a project demo, and project code submission.
The written report and oral presentation are the main parts on which your
final project grade will be determined.
You will deliver a ~30 minute presentation on your final project
during one of the two final exam slots for our class. And
you will write a 10-13 page final report that describes
your project (using the latex template in your Project repo).
It should be similar in style and organization to the
research papers that we read this semester. This is your opportunity
to describe in detail what problem you were solving,
how you solved it, how you tested your solution, what your results show,
difficulties you encountered along the way, what you would have liked to
have done (or done differently), and what you learned from your project.
You will also submit all your project code and give me a demo of your
project. However, your grade is almost exclusively
determined by your written report and oral presentation. This models the
real research world where the research paper is the primary, and usually only,
mechanism through which your work is evaluated, and where written conference
proceedings and conference presentations are the main mechanism through
which others learn about your work. Therefore, you should spend a
significant amount of effort making sure that you have a complete, and
well-written final report and presentation; don't do a fabulous project
and then fail to present it well.
See the "Project Presentation" and
"Detailed Requirements for the Written Report" section below
for details and requirements for these two parts.
Project Presentation
You will give a 30 minute presentation of your work. Plan for 25 minutes
of presentation with 5 minutes of questions.
Your scheduled time is available here:
Project Presentation Schedule for May 13
Add a .pdf of your talk slides to the moodle wiki prior by noon on May 13.
You may additionally add .pptx (using MacOS fonts) and/or a link to a google
doc of your slides if you want to present using either of those formats
instead of a pdf. However, you should make sure to also upload a .pdf
regardless of if you plan to deliver your talk from this format or not.
Organization
Your talk should include, the following:
- Introduction to your project, including motivation, problem
statement, and a clear statement of question your project
is addressing and the parallel and distributed focus.
- Description of the main algorithm/system you
implemented/tested. Include figures and examples.
- Clear description of the parallel or distributed
parts/focus of your work, its parallel/distributed goals.
- Description of experiments run (and why/what hypotheses).
- Clear presentation of results, and explanation of what
they show.
- Conclusions, Future directions (what is, or would be, next?).
Your talk should also have a logical narrative flow to it, so think about
structuring your presentation in a logical way. Striving for a top-down
approach will help with this. Using lots of figures and diagrams will
help explain your project. Simplify, at least at first. And make it clear
where the parallel/distributed focus is in your project.
See my
Oral Presentation Guide for more detailed information on organizing,
slide design, presenting, and preparing for an oral presentation.
There are also links to other oral presentation advice.
Also, use these
CS87 final presentation rubrics
to help you structure your talk and determine good slide content.
Project Demo
During final exam period, your project group will give me a 30
minute demo of your project. You should sign-up for a demo slot
on this google doc (link was emailed to the class with some more
information about the demo).
It is up to you to decide what you are going to demo. Before we meet,
decide what you are going to show me, come up with a simple demo script,
and run through it several times to make sure that there are no glitches
during the demo. This is your chance to show off all your hard work; you
want to convince me that you did something interesting and that you did
a substantial amount of work.
Detailed Requirements for Project Written Report
Paper Organization
Writing Style Guidelines
What to handin
You should prepare a final written report that describes
your project following the "Paper Organization" and in the manner
of the "Writing Style" both listed below.
Your report should be 10-13 pages long using the latex template
provided to you in your Project repo.
Your report must be at least 10 pages and may not be more
than 13 pages long (including references). You may add additional appendices
that exceed this length, but they should not contain main content of
your paper; they must be true appendix content such as complete longer
examples or extra figures (the main figures and graphs should be in
the body of your 10-13 page report).
You must write your paper in latex using the template for it in
the FinalReport subdirectory of your Project repo:
Project/FinalReport:
Makefile README.md finalreport.bib finalreport.tex
The README.md file has information about these files and some
links to resources.
Paper Organization
You should have the following main sections in your paper:
- Abstract
The abstract is a brief summary of your work. It should be written
to make the reader want to read the rest of your paper. Briefly state the
basic contents and conclusions of your paper: the problem you are solving,
why the reader should care about this problem, your unique solution and/or
implementation, and the main results and and contributions of your work.
- Introduction
The introduction is the big picture of your work: what, why,
and how. It includes a definition of the problem you are
solving, a high-level description of your solution including
any novel techniques and results you provide, and a summary of the main
results of your paper. In addition, motivates the problem you are solving
(why should a reader find your work important), and describes your
contribution to the area (this may not be applicable to your project).
The first paragraph of the introduction should contain all of this
information in a very high-level. Subsequent paragraphs should discuss in
more detail the problem you are solving, your solution, and your results and
conclusions.
- Statement of Problem Being Solved
- Motivation
- Problem Solution
- Results and Conclusions
- Related Work
This is an essential part of a research paper; discussing related work is
a good way to put your work in context with other similar work, and to
provide a way for you to compare/ contrast your work to other's work.
You should use feedback on the annotated bibliography from your project
proposal to structure this section; it should be written as a
re-write of your annotated bibliography in a single Related Work section.
- One or more sections describing your Solution
- Details of the problem you are solving
- Details of your solution and the project's implementation
Even though you may have spent an enormous amount of time writing
code, this should not include a listing of any code you wrote. Only
if your project is about developing an algorithm or a new language, may
code examples be appropriate here.
- Discussion of how your solution solves the problem.
- Experimental Results demonstrating/proving your solution
- Explain the tests you performed (and why)
- Explain how you gathered the data and details of how your
experiments were run (any system/environment set up)
- Present your results
Choose quality over quantity; the reader will not be impressed with
pages and pages of graphs and tables, instead s/he wants to be
convinced that your results show something interesting and that your
experiments support your conclusions.
- Discuss your results!
Explain/interpret your results (possibly compare your results to
related work). Do not just present data and leave it up to the
reader to infer what the data show and why they are interesting.
- Conclusions & Future Directions for your work
Conclude with the main ideas and results of your work. Discuss ways in
which your project could be extended...what's next? what are the interesting
problems and questions that resulted from your work?
- A brief meta-discussion of your project
Include two paragraphs in this section:
- Discussion of what you found to be the most difficult and least
difficult parts of your project.
- In what ways did your implementation vary from your proposal and why?
- References
At the end of your paper is a Reference section. You must cite each
paper that you have referenced...your work is related to some prior work.
Writing Style Guidelines
- Write in a top-down style
First present the the high-level issues, then expand them.
This applies to the overall organization of your paper as well as the
organization of sub-sections and individual paragraphs.
- Conclude each paragraph, section and entire paper
Each chunk of your paper whether it be a paragraph, a sub-section, a
section, or the entire paper should have a conclusion. For example, each
paragraph should be written as follow:
- 1st sentence(s): main idea of paragraph
- middle sentences: expansion of the idea (further explanation or
elaboration of the topic)
- concluding sentence(s)
Each section of your paper should be organized as: high-level important points
first, details second, summarize high-level points last.
- Use active 3rd person
We present, we show, we demonstrate...
- Define terms, and always define them before using them
- Use figures
Use diagrams to help explain system design, and graphs or tables for
presenting results. If your project has a GUI component, then your paper
should have some screen dumps of your interface (look at the man page for xwd).
You should have a figure showing the high-level design of your
implementation.
More detailed writing advice and guidelines can be found here:
CS Research and Writing Guide
What to hand in
- Project Report Before noon on Friday May 11:
- Push your .tex .bib and any other files necessary to build your
report .pdf to your repo (like figures and graph files).
- Also, hand in a hardcopy of your project report to me in person.
If I'm not in my office, you can slide it under
my office door and email me that you did so. You must submit a printout
of your report (do not just email me a .pdf). On our system you can
open a .pdf in either acroread or evince and print from either.
- Project Presentation Sunday May 13:
- Before noon: slides uploaded to Moodle final project presentations wiki
- Oral Presentations: you are required to attend the entire session to
which your talk is assigned, and you will be graded on feedback you
provide to other presenters. You are not required to attend both sessions,
but if you do, you will
receive a bonus 1% towards your final grade. You are welcome to swap sessions
with another group. Just let me know the change in presentation schedule
if you do.
The Presentation Schedule:
May 13, 2-5pm Presentations
|
May 13, 7-10pm Presentations
|
1. Carlo, Maggie, Tiffany
| 6. Alex, Cristian
|
2. Daniel, David
| 7. Do June, Eugene, Ryan
|
3. Jimmy, Michael, Shawn
| 8. Alan, Pepper
|
4. Andrew, Caleb
| 9. Annie, Becky, Brent
|
5. Henry, Rachel, Tai
| 10. Jonah, Kei, Liam
|
- Project Demo during final exam week, and on or before May 16
Sign up for a demo slot on the google doc. The link was emailed to
the class.
- Project Code due: Monday May 14 before 11:59pm
You should push to your Project repo (in the source subdirectory) all your
project code, Makefile, run scripts, etc. Make sure to include a file
named README.final with the information described below.
The source/ subdirectory of your Project repo should include:
- Everything I need to build and run your project
- A README.final file that explains how to build and run your project.
Give me example command lines for running. It should take no more than my
running make to build, but if that is not true, then also tell me how
to build your project. Also, give me any information I need to set up
a run environment (again this would be a good thing to include in your
Makefile), and any information I need to use any run scripts you have.
If your project only runs on XSEDE resources, then give me much more
detailed run instructions.