Overview
Implement your analysis, process your data, and interpret the results.
Then, complete your report to include the results and conclusions of
your analysis. Plots and other visual representations of data are
very useful in conveying your conclusions.
Report
Submit your report in PDF format. Your report will probably be about
4-6 pages of text long, but there are no fixed upper or lower bounds
on its size. You should write at an appropriate length: neither so
briefly that you omit information, nor so verbosely that you pad your
report or bury the important information under irrelevant
details. Visualizations can definitely make your report longer - which
is fine!
Please annotate any
visualizations with the method used to produce them (e.g. did your
python program produce them or did you create them using some other
method). Please include plots in your report, not as separate
files! At this time you may also go back and improve any of the
previous sections you have written.
Your report should contain at least the following parts. You are permitted
to write additional sections as well.
-
Title and author(s).
-
Summary of research questions AND RESULTS. Repeat
your research questions in a numbered list.
After each research question, clearly state the answer you determined.
Don't give details or justifications yet — just the
answer.
-
Motivation and background.
-
Dataset.
-
Methodology (algorithm or analysis).
-
Results. Present and discuss your research results. Treat
each of your research questions separately. Focus in particular on
the results that are most interesting, surprising, or important.
Discuss the consequences or implications. Interpret the results: if
the answers are unexpected, then see whether you can find an
explanation for them, such as an external factor that your analysis
did not account for. Include some visualization of your results
(a graph, plot, bar chart, etc.). These plots should be created
programmaticaly in the code you submit. If you have to create plots by hand
using a program like Excel, you must provide a good reason why it was not possible
to create the plot you wanted using Python.
-
Reproducing your results. Give clear and explicit
instructions for obtaining the data and for running the analysis
— this is usually a set of commands that can be typed to the
command line (not in canopy). We should be able to follow these
directions to run your code ourselves. Also explain how to interpret
the results or to find the interesting parts in the output.
These instructions must make it possible for the course staff to
re-create, without any additional data entry or
interaction, both (a) every number or figure that appears in
your report and (b) any other results that support your argument but
that you did not include in your report.
-
Work Plan Evaluation.
Include your work plan and evaluate it. How accurate were your work plan your estimates from Part I? Why
were your estimates good or bad?
-
Testing. Describe how you tested your code. Did you use
asserts? Smaller data files? Be sure to submit your tests and
any testing files when you submit your code. Why should we trust
your results?
-
Live Presentation or Video? Tell us whether you are planning
to give A) a ~2 minute presentation about your project on Tuesday
June 11, 2019 2:30-4:20pm OR B) submit a 4 minute video of your
presentation. For either option, all your materials are due
by Tuesday June 11, 2019 at 12pm (Noon).
-
Collaboration.
State which students or other people (besides the course staff and your
project partner, if any) helped you with the assignment, or that no one
did.
Code
Your source code should be well-written and well-commented. It should be
clear
enough for another programmer, such as the course staff, to understand and
modify if needed. Your source code documentation should assume that the
programmer has already read your report — you do not need to repeat
any of those details, but may wish to use concepts that it introduced.
A typical final project might contain around 200 lines of well-structured
code without duplicated functionality, though longer or shorter is possible.
It is acceptable for you to scale back, or to expand, the scope of your
project if necessary. It's better to do a great job on a subset
of your original proposal, than to do a bad job on a larger project. If
you have to scale back, then explain why the task was more difficult than
you estimated when you wrote your proposal. This will help you to make a
better estimate for your next project. It will also convince the course
staff that you have done an acceptable amount of work for CSE 163.
Submission
For this part of the project, you will submit:
- Your report as a PDF. Do not turn in a Word document or plain text
- Your code as one or more Python files and any other supporting files you need. You do not need to submit your dataset for this part, but there should be clear instructions in your report for the course staff to download the data so they can run your program.
One group member should submit your report on Gradescope and should use Group Members functionality to add the appropriate partner if you have one. If you want to learn about how to add Group Members on Gradescope, please see instructions here. Group members that are not listed in Gradescope by the late-cutoff will be marked as not submitted.
Reminder: You can only submit Part 2 one day late regardless of the number of late days you may have remaining.