Project Report Guide


You are free to discuss projects with your classmates. However, each project report must be solely your own work: it must be written by you in its entirety, including all Python code. Plagiarism of any kind (copying from other students, or permitting someone to copy your work, copying from the internet etc.) will result at the minimum in the failing grade on a report, and possibly in additional sanctions (an F grade for the course, an academic disciplinary action etc.).

Using external resources

You are free (and encouraged) to consult Python documentation and other resources to better understand various tools we will be using. You are not allowed to copy code you found online and use it in your reports.

In the narrative of a report you can insert a brief quote from some source if you find it useful, as long as you provide a proper attribution. Quotes used without an attribution are an instance of plagiarism. Long quotes - e.g. using a few paragraphs from Wikipedia for the report introduction - will decrease the value of your report, even if they are attributed.

Report grading rubrics

Detailed rubrics which will be used to grade project reports are posted here.

Report Style Guide

Report introduction

A report must begin with an introduction section. It should explain the project and the goals of the report in a way which is engaging and understandable to person who does not take this course. While writing a report imagine that you are creating a part of a portfolio that you will show while applying for a job to demonstrate your skills.

The introduction of a report must not be limited to a list of tasks you want to accomplish. While explaining the project use your own words, do not copy the project description posted on this website.

Report conclusions

The final section of the report must summarize your results and conclusions.

Report organization

Beside the introduction and conclusions, the body of the report should be logically organized into sections. Each section should have a meaningful title.


If you used books, articles, websites etc. while preparing the report, they should be listed at the end of the report.

Math formatting

Use LaTeX to format all mathematical symbols and formulas.

Code structure

Python code should be split into possibly short code cells that accomplish a single, well defined task. In particular, you should not define several functions in one cell or define a function and execute it in the same cell.

You should explain (even if very briefly) the purpose of each piece of code. As a rule, you should not have in a report two consecutive code cells without any text between them.

Code sequencing

All Python code in the report must be presented in such order that it can be read and executed sequentially, from the beginning to the end of the report. For example, you should not use a Python function in your report prior to defining this function.

Code comments

Code comments should be used to explain workings of the code.

Execution errors

All code included in your report must work. Do not submit reports with execution errors.

Output size

Your report should contain only code output that serves some purpose and that you expect someone to read. As a general rule, do not print more than 30 lines of output unless you have a very good reason for it.

Output formatting

Format code output in a way that makes it easy to read.

Graphs and plots

Graphs and plots must be well formatted. They should have titles and, if appropriate, axis labels, a legend etc.