Computing · Year 8 · 4 weeks
Safer Cycling Leicester
Driving question
Where are cyclists getting hurt in Leicester, and how can our school routes be made safer?
use 2 or more programming languages, at least one of which is textual, to solve a variety of computational problems; make appropriate use of data structures [for example, lists, tables or arrays]; design and develop modular programs that use procedures or functions
TAUGHT IN Week 1, activity 1; Week 2, activity 1ASSESSED BY Python Data Processing
design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems
TAUGHT IN Week 1, activity 1; Week 2, activity 1; Week 3, activity 1ASSESSED BY Computational Abstraction
undertake creative projects that involve selecting, using, and combining multiple applications, preferably across a range of devices, to achieve challenging goals, including collecting and analysing data and meeting the needs of known users
TAUGHT IN Week 3, activity 1; Week 4, activity 1ASSESSED BY Tool Combination and Presentation
Contains public sector information licensed under the Open Government Licence v3.0.
Pupils investigate local road safety by analysing open collision data for Leicester using Python. Working in pairs, they write programs using lists, loops, and conditional statements to filter records of cycling collisions, abstracting real-world incident records into map coordinates and danger factors. They then combine Python data outputs with digital mapping tools and presentation software to build a route report recommending one safer cycling corridor to school, which they present directly to the council road safety team.
The teacher projects a street map of Leicester with three pupil cycle routes marked on it, alongside a news clipping about local road safety. Pupils place red stickers on junctions they think are dangerous, then compare their guesses against a raw table of official collision records.
- What road collision data does the government collect about Leicester?
- How do we write Python code to search through large lists of data?
- Which junctions near our school have the highest cycling collision numbers?
- What changes or safer paths can we propose to protect pupils cycling to school?
Your lessons: 1 a week, 60 minutes.
Week 1
Filter raw Leicester collision data using Python lists and conditionals to find local cycling incidents.
Inspect an open collision dataset for Leicester, write a Python script that stores records in lists, and use a conditional loop to filter only cyclist incidents. Narrow the dataset to collisions within a mile of the Clock Tower so the map is readable and the streets are ones pupils know.
· 1 lesson
Supports
Provide a Python starter script with syntax frames for EAL pupils, paired coding with a step-by-step keyword glossary for pupils with SEND, and an extension task to filter collisions by time of day or road conditions. Give a starter notebook with the CSV already loaded so pupils write the filter and the loop, not the file handling.
Deliverable
A tested Python script that extracts and prints all cycling collisions in Leicester from the dataset.
Week 2
Write modular Python code to abstract incident locations and export filtered coordinates near the school.
Define a Python function to filter incidents within two miles of the school, extracting road names, severity, and coordinates into a clean output file.
· 1 lesson
Supports
Provide pre-written function definitions with missing parameter gaps for pupils with SEND, translated data column glossaries for EAL pupils, and challenge advanced pupils to calculate total collision counts by junction.
Deliverable
A clean export file and summary list of local cycling collision hotspots produced by their Python program.
Week 3
Plot data onto digital maps and draft a safer school route recommendation for peer critique.
Import collision coordinates into an online map layer, plot an existing school route against danger spots, and draft slides proposing one safer detour. Swap the matplotlib charts for an import into Google My Maps; the plotting library was too much for week 2.
· 1 lesson
Supports
Provide a digital map template with pre-set map pins for pupils with SEND, visual sentence starters for EAL pupils writing route notes, worked examples and an unplugged card sort for AND and OR logic, and challenge fast finishers to add pedestrian crossing data layers.
Deliverable
A draft digital map layer and presentation slides showing dangerous junctions and an alternative cycle route.
Week 4
Revise route recommendations based on feedback and present final reports to the road safety team.
Refine map annotations using peer feedback and deliver a five-minute route presentation combining data charts and digital maps to local road safety officers.
· 1 lesson
Supports
Provide speaking cue cards with key vocabulary for EAL pupils, structured timing prompts for pupils with SEND, and ask advanced pupils to field technical questions about the data filtering logic.
Deliverable
A completed multi-tool presentation and route report delivered to the council visitors.
End of week 3
Pairs swap draft route maps and slides during a structured peer review using a clear checklist: Does the data match the hotspot? Is the detour realistic for pupils? Each pair receives two written suggestions to address before the final lesson.
Student reflection
Pupils complete a short written reflection sheet reviewing how their Python code helped them uncover patterns in raw numbers, and identifying what they would improve in their route choice.
What they make
A digital presentation combining a customised map layer of local collision hotspots with a clear recommendation for one safer cycle route to the school.
Options
Pairs choose which common approach to school to study, whether to present via slide deck or recorded digital map tour, and which safety improvements (such as cycle lanes, lower speeds, or off-road detours) to highlight.
Who sees it
Officers from the council road safety team visiting the classroom during the final lesson of week 4.
Teams
Pupils work in pairs chosen by the teacher, pairing pupils with complementary coding confidence.
| Criterion | beginning | developing | proficient | advanced |
|---|---|---|---|---|
Python Data Processing KS3 Computing: use 2 or more programming… · individual | Script runs with syntax errors or only processes hard-coded data without using lists or loops correctly. | Script uses lists and loops to display collision data but relies on teacher code to filter records. | Script uses lists, loops, and conditional statements inside modular functions to filter collision records accurately. | Script uses modular functions with error handling to clean, filter, and organise collision records efficiently. |
Computational Abstraction KS3 Computing: design, use and evaluate computational… · team | Map or model includes irrelevant data points that do not represent road safety risks accurately. | Model identifies collision spots but mixes relevant danger factors with unneeded raw data fields. | Model accurately abstracts real collision records into relevant danger hotspots and coordinates near the school. | Model evaluates collision severity and junction patterns to clearly justify the safety profile of the proposed route. |
Tool Combination and Presentation KS3 Computing: undertake creative projects that involve… · team | Final presentation uses only one tool with limited or incomplete data connection. | Presentation combines maps and slides but shows weak links between code outputs and route recommendations. | Presentation successfully combines Python data outputs, digital maps, and slides to meet the needs of the road safety team. | Presentation seamlessly integrates data analysis and interactive digital mapping to deliver a compelling case for route changes. |
Python Data Processing
KS3 Computing: use 2 or more programming… · individualbeginning
Script runs with syntax errors or only processes hard-coded data without using lists or loops correctly.
developing
Script uses lists and loops to display collision data but relies on teacher code to filter records.
proficient
Script uses lists, loops, and conditional statements inside modular functions to filter collision records accurately.
advanced
Script uses modular functions with error handling to clean, filter, and organise collision records efficiently.
Computational Abstraction
KS3 Computing: design, use and evaluate computational… · teambeginning
Map or model includes irrelevant data points that do not represent road safety risks accurately.
developing
Model identifies collision spots but mixes relevant danger factors with unneeded raw data fields.
proficient
Model accurately abstracts real collision records into relevant danger hotspots and coordinates near the school.
advanced
Model evaluates collision severity and junction patterns to clearly justify the safety profile of the proposed route.
Tool Combination and Presentation
KS3 Computing: undertake creative projects that involve… · teambeginning
Final presentation uses only one tool with limited or incomplete data connection.
developing
Presentation combines maps and slides but shows weak links between code outputs and route recommendations.
proficient
Presentation successfully combines Python data outputs, digital maps, and slides to meet the needs of the road safety team.
advanced
Presentation seamlessly integrates data analysis and interactive digital mapping to deliver a compelling case for route changes.
- An open government road collision data file (CSV) covering recent years for the local area.check before use
- A Python programming environment installed on school computers or accessed via a browser.
- A free digital mapping application that allows importing custom coordinate pins.
- Contact details for the local council road safety team to confirm guest attendance.check before use