CSCI 1060 - Scientific Programming
Project Presentation and Final Delivery
Overview
Topic: Project Presentation and Final Delivery
Due date: Presentation dates are announced via email. The project report is due Friday after the final exam period.
Submission: Submit your work to Github. If you are working with a partner, you only need to submit to one repository, but the partner must leave a note in their own repository telling me where to find their work.
The final project will be graded on the basis of an in-class presentation,
a written final report, and the code you submit. This page describes each of
these components and gives a grading rubric for each. Each component
contributes to the final grade in the following amounts:
- 30% - in-class presentation
- 30% - written report
- 40% - project code
In-Class Presentation (30% of total)
There have been a lot of good ideas for projects this semester, and the
in-class presentation is an opportunity for you to both show your work as
well as see the variety of problems and solutions presented by your classmates.
Presentations will be relatively short with just 10 minutes for each project.
Plan on ~1 minute to load your files onto the presentation computer and getting
started, 5-7 minutes for your description and demonstration, leaving just 1-2
minutes for a question or two from the audience. In terms of grading, your
presentation must:
- (10%) Be practiced and polished- nervousness and mistakes are OK, but major hiccups reflect poorly
- (5%) Describe your project
- (5%) Say why your selected problem is important, or why it is meaningful to you
- (5%) Describe at least one major technical challenge and your solution
- (5%) Demonstrate your software
As a teaching opportunity you must strive to convey the significance of your
project as well as the effort needed to solve your problem. It is strongly
reccomended that you make use of the whiteboard, Powerpoint, or similar
presentation tools to devlier this information. Remember you only have a few minutes
to present. A presentation format might be just four slides plus your demo:
- Title Slide- Name your project and your group
- Problem Statement- What is your project going to accomplish? Why is it an important problem? Why does it interest you?
- Project Description- What does your project do and how does it address your problem/interest?
- Technical Challenge and Solution- What expected or unexpected challenges were there in implementing your project?
- Demonstration
Lastly, attendance at all presentation sessions is mandatory without prior
approval of absence. Failure to attend all presentation sessions without
prior approval will result in a 10% penalty to your grade.
Written Report (30% of total)
The written report should be a 2-3 page document that describes your project
as well as instructing any would-be users about how to use your software. Much
of the same information contained in your presentation should be present here
as well. Feel free to use text from your project proposal, presentation, and code for some of the
content, but this is a separate document with separate aims. In particular, you should
devote roughly a paragraph to describing each of:
- (5%) The problem you are solving, or why your project interests you
- (5%) Your project's goals and all desired project functionality
- (5%) Does your project meet all the objectives given in your proposal? If not, what does not work and why? Are there any known known bugs in your code?
- (5%) At least one but possibly more technical challenges and their solutions
- (5%) The structure of your code. Did you use a script or a function, or both? Why? If you have multiple scripts or functions then how did you decide to split functionality?
- (5%) Give detailed usage instructions: What do I need to do to run your code? What menus or text commands are expected? What scripts or functions do you provide and what is their purpose? Give several example commands that illustrate the use of your project. Possibly include screenshots of what to expect if usage is particularly tricky.
Code Submission (40% of total)
The code submission is the project itself, and includes any MATLAB scripts and functions necessary to run your project. This also includes any supporting files such as data files necessary to run your code. If the data is extremely large or otherwise cannot be delivered you are expected to provide a limited data set that demonstrates project functionality.
Your code will be graded on the following basis:
- (15%) Project meets the goals described in the project proposal. Missing features disclosed in the written report will be graded leniently.
- (10%) Code is documented appropriately. Each code file should include comments describing the purpose the file. Scripts should describe what variables control the execution of the script. Functions should describe each input and output parameter. Each file should have the author(s) listed at the top. Code found or referenced online or from another source should be cited in a comment.
- (10%) The examples given in your written report should run without errors and demonstrate the full capability of the code.
- (5%) Your code otherwise runs without errors. Known bugs disclosed in the written report will not subtract from your grade.