
1. Why this project matters¶
The programming project is the capstone assessment of this course. Up to this point, you have worked through focused exercises and guided practicals designed to build your foundational skills. This project asks you to take the training wheels off. Instead of following a predefined path, you will define your own workflow, make independent design decisions, and implement a complete solution from scratch.
This step is critical: spatial data science requires much more than just writing code that executes without errors. You must be able to structure a vague problem into a clear computational workflow, select the most appropriate datasets and analytical methods, and write clean, readable, and reusable Python code. Furthermore, you need to confidently explain your analytical choices and ensure your work is fully reproducible by others.
2. What you will learn¶
This project is your opportunity to use your newly developed toolkit in a more independent, connected, and critical manner.
By completing this assessment, you will practice translating a conceptual spatial question into a concrete computational script. You will source, inspect, and handle open data with a critical eye, seamlessly combining Python libraries (like Pandas, GeoPandas, and Matplotlib) for end-to-end analysis and visualization. You will organize your code into modular, reusable blocks and document your workflow so thoroughly that a peer could effortlessly reproduce your results. Finally, you will critically reflect on the challenges, decisions, and inherent limitations of your solution.
Beyond technical syntax, this project strengthens essential professional skills: debugging, problem-solving, technical communication, and managing a coding pipeline from conception to delivery.
What success looks like¶
A successful submission demonstrates that the core problem is clearly defined and scoped. The code runs seamlessly and is easy to read. The workflow follows a logical, step-by-step structure, and the repository contains everything needed for someone else to reproduce the exact results. Your written report effectively summarizes the core ideas, methods, and challenges encountered, while your live presentation proves that you fully understand your own code and the reasoning behind your design choices.
3. Timeline and milestones¶
The project runs alongside the second half of the course. Because coding involves inevitable roadblocks and debugging, you are strongly encouraged to begin early and make steady progress over several weeks rather than rushing near the deadline.
Suggested project rhythm¶
Weeks 9 to 10: Explore the available topics and select one that aligns with your interests. Familiarize yourself with the data, clarify your core question, set up your repository and Git, and sketch out a rough workflow on paper.
Weeks 10 to 12: Build your analysis iteratively. Test your ideas, refine your code structure, and actively comment and document your work as you write it.
Weeks 13 to 14: Polish the project. Verify your reproducibility, finalize your map visualizations, and draft the final report and presentation.
Key dates¶
Please mark the following project dates in your calendar:
Monday, 20 April 2026: Project report assignment published on MS Teams.
Monday, 04 May 2026: Presentation schedule published here.
Friday, 22 May 2026 at 18:00: Deadline for project report submission.
Wednesday, 27 May to Monday, 01 June 2026: Individual project presentations.
Suggested workflow
A highly effective way to manage your time is to break the project into small, actionable steps:
Choose a topic you genuinely understand and find engaging.
Define concrete, answerable research questions.
Load and inspect the raw data to understand its limitations.
Build a basic, “ugly” first version that successfully runs from start to finish.
Refactor your code to improve structure, readability, and reproducibility.
Interpret your results and generate your final visualizations.
Draft your report and presentation based on your finalized workflow.
4. Choosing a topic¶
You will select your project from a set of predefined topics. Each topic is anchored in open data and addresses a real spatial question. This provides you with a solid foundation to get started while leaving ample room for your own analytical decisions and creative problem-solving.
When choosing a topic, try not to base your decision solely on which one sounds the most “impressive.” Be candid with yourself about your current skill level, and pick a topic that offers a clear, manageable path toward a working solution.
A strong topic choice means you clearly understand the underlying real-world question, you can instantly visualize the first few coding steps required, and you find the subject matter interesting enough to stay motivated when you inevitably hit a bug.
How to choose well¶
When evaluating the available project topics, consider whether the subject genuinely interests you and if you understand the context of the data being used. Ask yourself if you can map out a rough workflow in your head right now, and whether the scope of the project is achievable within the next few weeks. Finally, ensure you can summarize the core objective of the project in just one or two sentences.
The next chapter introduces the available project topics in more detail to help you compare them before making your final choice.