Submission Best Practices

This page details how to prepare assignments for submission. The “Submission” section of your assignment should provide the details for what format and where to submit assignments. This document should be used in conjunction with each assignment to ensure that all required files are submitted, and in the correct format.

General Document Preparation

When answering questions, don’t just answer the question, phrase the answer in a complete sentence which includes what the question asked. For example:


What is the sum of one and one?



Instead, provide context and detail in your answer, like this:


What is the sum of one and one?


Our group found that the sum of one and one is two. This was verified in two ways. First we ran a simulation using the following code….

Second we ran an experiment where we took M&M’s and counted how many there were when we put one next to another. We found the answer was two across ten experiments with a mean of 2 and standard deviation of 0.1 M&M’s. We attribute the error to the fact that Maxwell ate one.

This will help when you transition from assignment reports to your final report. Please still include the question or at least the question number before your answer for the convenience of the grader.

Figures & Tables

Please include figures and tables inline with the text so that it is easy to find when referring to it in the text. Figures may be composed of images, data-centric plots, or annotated graphics. Here are some other guidelines:

CAD renderings or screenshots

Code Snippets


Literary References must be used in body of your text, and supplied in a bibliography section at the end. Use IEEE format. Reference managers such as Mendeley can do this formatting for you automatically.

Plain text, unformatted hyperlinks should not be supplied in the main body of reports and documents. If you wish to use a hyperlink in the main body of a document, please use a footnote to the full-text link1. Please do not use masked links in text.

File Format-specific instructions

Different assignments may require you to submit documents and supporting files in a number of different formats. Please see below for the submission guidelines for each file type


If the document is requested as a pdf, produce a single, monolithic pdf with all document parts such as figures, tables, images, code snippets and references included inline.

When submitting pdf-based submissions to Canvas, you should only attach two files: 1) the monolithic pdf, and 2) any supporting files in a separate .zip file.


If the document is requested as a web page, produce your site using markdown or html with all document parts such as figures, tables, images, and references embedded inline. Inline files(media files, data, etc…) will need to be separately uploaded to the web host as well. Supporting files may be uploaded to the host and linked from the web page. You may use external sites to render uploaded jupyter notebooks rather than converting them to markdown, if desired. See the tutorials for more information

When submitting web-based assignments to Canvas, submit the link to the web page and the underlying github repository. Ensure that any supporting files in are linked from within the web page and render completely from a separate computer.

Jupyter Notebooks

Jupyter submissions are convenient because they permit code, reporting, figures, photos, etc all to be housed within one dynamic document. This format is highly encouraged for many assignments.

When you submit a Jupyter notebook, ensure that 1) the notebook has been fully compiled before submitting, and 2) that any external files are included either as a separate .zip file or, if the file is to be added to the website, uploaded to your web server. The notebook can be recompiled by opening the file in the jupyter browser and in the top jupyter menu selecting “Kernel” –> “Restart and Run All”.

If posting jupyter notebooks to a web page, there are two options: 1) download your jupyter notebook as a markdown file (or .zip) and upload that document, or link to the original .ipynb file using an external service. More details may be found in the jupyter notebook and web page tutorials.

If submitting jupyter assignments to Canvas, Submit the source .ipynb file. Ensure that any supporting files are included in a separate .zip file are uploaded separately. Include your name at the beginning of all notebooks.

Other Code (python, microcontroller, etc.)

Zip up all files used to run your code (outside of standard packages). Indicate any other packages you installed which are required to run it, where you got, them, how you installed them (conda, pip, etc), and what version you installed. The professor and TA should be able to run your code using the instructions and files provided. After finishing the code, print output as your name in the last line before submission.


Utilize the File –> “Pack and Go” Feature to include all files required to view parts and assemblies into a single zip file. Drawings in .dxf format must be exported to .pdf format and submitted separately. Make sure you include your name and reference the drawings in the report.


You may be asked to submit or post recorded presentations or experiments as videos. Due to space limitations, please embed these videos as embedded YouTube videos in web pages or link to their YouTube pages in .pdf documents. Please make sure the video is “unlisted” rather than “public” or “private”. For more information on exporting recorded powerpoint presentations to .mp4, see the tutorial.

When taking videos, try to follow these general rules of thumb:


Slides & Presentations

Slides may be submitted in .pptx or pdf form. If submitting .pptx files, beware of linked(rather than embedded) videos, unembedded fonts, missing codecs, etc. I can’t play – or grade – what’s not included.

If submitting pdf files of presentations, include any embedded videos separately as indicated in the videos section.