How to document, submit, and reflect on your programming project
The project report is the written component of your final assessment, accounting for 50% of your total project grade. It is your opportunity to explain what spatial problem you tackled, how you designed your workflow, what you actually implemented, and what you learned along the way.
The report does not replace your Jupyter Notebook or your GitHub repository; instead, it acts as the bridge connecting them. It guides the reader through the purpose of your project, the logic behind your code, your main results, and the key challenges you overcame.
1. The Purpose of the Report¶
Programming in spatial data science is not just about making code run; it is about making your workflow understandable to others. Your code might execute perfectly, but if your report fails to explain the core problem and your methodology, a key part of the project is missing. Conversely, a beautifully written report cannot mask a broken, unreproducible workflow. The report, notebook, and repository must work together.
A strong report tells the story of your project in a compact, focused way. It should help an informed reader understand exactly what spatial problem you addressed and why it matters. It must clearly outline how you designed your workflow, highlight your most important implementation steps, present your final results, and candidly discuss the challenges you faced and how you resolved them.
Think of the report as an executive summary for a peer who has access to your repository but needs a high-level overview of your approach before diving into the code.
2. Required Contents and Structure¶
The written report is limited to approximately 6,000 characters with spaces (±1,000), which corresponds to about two pages of text. Figures and images are not included in this limit.
Because the report is short, you need to be selective. Focus on the most important aspects of your project: the research question, data, methods, key results, and interpretation. More detailed explanations, code, intermediate steps, and additional outputs should be documented in your notebook.
Key figures and images should be included with the report where they support your argument. Make sure they are readable, appropriately sized, and accompanied by clear captions. Figure captions are excluded from the character count.
A Practical Report Structure¶
To ensure you hit all the required grading criteria, we recommend structuring your report as follows:
Introduction: Briefly explain your chosen project topic, the specific spatial question you are answering, and the ultimate aim of the analysis.
Workflow and Implementation: Summarize the logical steps of your workflow. Focus on your overarching approach to data cleaning, spatial analysis, and visualization rather than minute technical details.
Results: Present your main findings, outputs, and spatial observations clearly.
Challenges and Reflection: Discuss at least one meaningful technical or analytical challenge you encountered. Describe how you dealt with it and what you learned from the debugging or redesign process.
Repository Link & AI Statement: You must include the URL to your public GitHub/GitLab repository. If you used AI tools, you must also include a short disclosure statement (see Section 4).
A useful writing question
When editing your report, ask yourself:
Does this paragraph directly help explain the problem, the workflow, the result, or a challenge?
Am I wasting space repeating technical details that are already obvious in the notebook?
Would a fellow student understand the logic of my project after reading this?
If not, simplify and refocus.
3. Submission Format Requirements¶
Your final submission must be uploaded as a single PDF document via the MS Teams assignment. However, this single PDF should contain two distinct parts merged together:
The Written Report: Your concise, project summary including key figures and images.
The Notebook Export: A PDF export (via Markdown/HTML print) of your fully executed Jupyter Notebook.
This combined format allows the assessors to read your high-level summary and immediately scroll down to verify the documented code and visual outputs that support it.
Report File Name¶
Please name your final PDF file in a clear and consistent way. The file name must include the course name, the project number, and your full name using your first name and surname.
Use the following structure:
SDS210_project[number]_[first_name]_[surname].pdfFor example:
SDS210_project3_noah_clue.pdfUse lowercase letters for your name and separate the parts of the file name with underscores. This helps us identify, organise, and archive submissions consistently.
Repository Expectations¶
Your written report must include a clickable link to your public GitHub or GitLab repository. This repository is where your reproducibility is tested. It must include clear setup instructions in the README.md, rely entirely on relative file paths, and contain a notebook that executes cleanly from top to bottom.
Notebook Expectations¶
Your exported Jupyter Notebook is not just a script; it is part of your documentation. Your notebook should feature logically structured code, well-defined functions, meaningful variable names, and concise comments explaining complex operations.
4. AI Use Disclosure¶
In SDS210, the use of AI tools (like ChatGPT or GitHub Copilot) is permitted, provided it is purposeful, transparent, and reflective. AI is an excellent tool to support learning, but it must never replace your own understanding, judgment, or decision-making.
If you used AI tools at any point during the project, you must state this clearly at the end of your report.
What is Expected¶
You are responsible for all content submitted in your project. Any AI-assisted text or code must be critically reviewed, edited, validated, and fully understood by you. Copying AI-generated text or code without revision, understanding, or acknowledgment is considered plagiarism and will be sanctioned according to University of Zurich guidelines.
Acceptable vs. Unacceptable Use¶
AI is great for explaining complex spatial concepts, improving your grammar, reviewing code for syntax errors, or exploring alternative analytical approaches. However, it is unacceptable to submit material that you cannot explain or justify yourself. If you use AI to write a complex spatial function, you must be able to defend exactly how that function works during your live presentation.
Example Disclosure Statement¶
The syllabus provides the following example of an appropriate disclosure statement, which you can adapt and place at the bottom of your report:
I used a large language model as an assistance tool during the preparation of this project to check grammar and spelling, improve linguistic clarity, and help debug code for data processing. Apart from the uses listed above, no AI tools were used in the preparation of this submission, and all final logic and writing was verified by me.
5. Deadlines and Final Advice¶
The deadline for the report submission is Friday, 22 May 2026 at 18:00. You must submit the combined PDF via the MS Teams assignment.
Why Timing Matters¶
Do not treat the report as an afterthought to be written in the final 48 hours. Because the report directly references your repository structure, notebook logic, and final maps, it is significantly easier to write if you draft it alongside your code.
Finish the technical coding early enough that you actually have time to revise the written report for clarity. Clear, concise scientific writing is almost always the result of heavy revision, not last-minute assembly.