DS105 2025-2026 Winter Term Icon

πŸ““ Syllabus

DS105W (2025/26 Winter Term)

Author

Dr Jon Cardoso-Silva

Modified

19 March 2026

Check this page every week for updates on course content and requirements.

πŸ”” UPDATES: the content of Weeks 07-11 was updated again on 19 March 2026. Mini-Project 2 now runs until Wednesday 1 April, the W09 Lab includes group formation and GitHub Pages setup, and the W11 pitch is formative rather than graded.

πŸ–₯️ Week 01 19 Jan 2026
-
23 Jan 2026

Setup and first data exploration

Reserve 1–2 hours to set up and interact with the platforms of communication (Slack) and for coding (Nuvolos) we will use throughout the course, and to experience the kind of data analysis you will be doing in the near future.

You’ll use a Jupyter notebook to explore yearly heatwave counts, then compare your step-by-step process with an AI-only approach to understand when each method works best.

Note

No need to install anything.

All assessed work in this course can be done on Nuvolos Cloud with VS Code preconfigured. You do not need to install anything on your machine unless you prefer to.

Click here to see how to get help this week

There is a way to get help every single day of the week. Don’t hesitate to contact us for help. We love hearing from you!

Here are the best ways to get help with your DS105W studies this week:

  • Slack: Post questions or comments to the #help channel at any time. Jon monitors regularly throughout the week, with dedicated support from David (Mon 5-7pm, Wed 5-6pm), Sara (Thu 11am-1pm), and Tabby (Fri 10:30am-12pm).
  • Office Hours: Book via StudentHub for one-on-one support with Tabtim Duenger (Tue 5-6pm), Jon Cardoso-Silva (Wed 2-5pm), or Sara Luxmoore (Fri 12-1pm).
For the full schedule, see the Contact Hours page. For extensions and admin queries, email Kevin at .

From data to insight: the importance of clean data
🎞️ Slides

Introduction to course goals and assessment. Reveal solution to the formative. Discuss the AI diagnostic, when AI helps versus when it fails. Notebooks as a professional tool.

Exploring daily temperatures with pandas
πŸ›£οΈ Roadmap Tutorial

Build on Week 01’s yearly heatwave data by exploring raw daily temperature records. Learn to load CSV files into pandas, apply basic DataFrame operations like filtering and sorting, and connect daily observations to the summary data you worked with in practice.

πŸ–₯️ Week 02 26 Jan 2026
-
30 Jan 2026

Python foundations and file management

Complete foundational Python lessons through DataQuest, focusing on variables, data types, and collections. Learn to organise your workspace with proper folder structures and document your learning using Markdown formatting in Jupyter notebooks.

Tip

Actively post questions to Slack or attend support sessions if you get stuck.

Click here to see how to get help this week

There is a way to get help every single day of the week. Don’t hesitate to contact us for help. We love hearing from you!

Here are the best ways to get help with your DS105W studies this week:

  • Slack: Post questions or comments to the #help channel at any time. Jon monitors regularly throughout the week, with dedicated support from David (Mon 5-7pm, Wed 5-6pm), Sara (Thu 11am-1pm), and Tabby (Fri 10:30am-12pm).
  • Office Hours: Book via StudentHub for one-on-one support with Tabtim Duenger (Tue 5-6pm), Jon Cardoso-Silva (Wed 2-5pm), or Sara Luxmoore (Fri 12-1pm).
For the full schedule, see the Contact Hours page.

From tables to live data: pandas and one API
🎞️ Slides

Connect your DataQuest Python foundations to real data analysis. Explore how collections (lists and dictionaries) relate to DataFrames from Week 01. See a live API demonstration with weather data and preview next week’s JSON work.

From collections to DataFrames
πŸ›£οΈ Roadmap Tutorial

Practice connecting the Python collections you learned in DataQuest (lists and dictionaries) to pandas DataFrame operations. Apply bracket notation and indexing skills to real data analysis tasks.

πŸ–₯️ Week 03 02 Feb 2026
-
06 Feb 2026

Terminal navigation and Python control flow

Play Shell-it game to learn file system navigation, practise terminal commands for professional workflows, and complete DataQuest lessons on loops and conditionals. Create your first notebook using terminal commands, explore different file formats, and document your learning journey.

Note

Warm-up: Shell-it (paths and terminals)

Play β€œShell-it: The London Episode” at least 10 times: https://shell-it.vercel.app/. Spend one minute reflecting on paths and directories before opening the Nuvolos terminal.

Tip

Actively post questions to Slack or attend support sessions if you get stuck.

Click here to see how to get help this week

There is a way to get help every single day of the week. Don’t hesitate to contact us for help. We love hearing from you!

Here are the best ways to get help with your DS105W studies this week:

  • Slack: Post questions or comments to the #help channel at any time. Jon monitors regularly throughout the week, with dedicated support from David (Mon 5-7pm, Wed 5-6pm), Sara (Thu 11am-1pm), and Tabby (Fri 10:30am-12pm).
  • Office Hours: Book via StudentHub for one-on-one support with Tabtim Duenger (Tue 5-6pm), Jon Cardoso-Silva (Wed 2-5pm), or Sara Luxmoore (Fri 12-1pm).
For the full schedule, see the Contact Hours page.

Operating systems, file I/O, and Git setup
🎞️ Slides

Understand how operating systems organise files and why paths matter for reproducible code. Learn about environment variables and their role in software. See a live demonstration of collecting API data and saving to JSON and CSV files. After the break, hands-on Git setup session where you create your personal repository and practise the basic Git workflow.

Control flow practice with temperature data
πŸ›£οΈ Roadmap Tutorial

Apply loops and conditionals from DataQuest to real temperature analysis. Fetch July 2024 weather data from Open-Meteo API, save to JSON files, then use control flow to categorise hot days.

πŸ–₯️ Week 04 09 Feb 2026
-
13 Feb 2026

London heatwave analysis

Build your first complete data pipeline: fetch historical temperature data from Open-Meteo for London (1990–2025), transform the JSON data into a usable format, and create a heatwave summary table showing yearly counts.

Mini-Project 1 (20%) - Weather data analysis
TODO: link + deadline details

Click here to see how to get help this week

There is a way to get help every single day of the week. Don’t hesitate to contact us for help. We love hearing from you!

Here are the best ways to get help with your DS105W studies this week:

  • Slack: Post questions or comments to the #help channel at any time. Jon monitors regularly throughout the week, with dedicated support from David (Mon 5-7pm, Wed 5-6pm), Sara (Thu 11am-1pm), and Tabby (Fri 10:30am-12pm).
  • Office Hours: Book via StudentHub for one-on-one support with Tabtim Duenger (Tue 5-6pm), Jon Cardoso-Silva (Wed 2-5pm), or Sara Luxmoore (Fri 12-1pm).
For the full schedule, see the Contact Hours page.

Working with DataFrames
🎞️ Slides πŸ–₯️ Live Demo

Understand why tidy, reproducible steps matter for data analysis. Learn how Python collections (lists and dictionaries) connect to pandas DataFrames, and practice essential operations like selection, grouping, and creating simple plots.

Data quality and transformation workshop
πŸ‘₯ Pair Programming

Work with real-world messy data to understand when to clean versus when to investigate inconsistencies. Practice applying transformations to datasets and learn to document your data quality decisions clearly.

πŸ–₯️ Week 05 16 Feb 2026
-
20 Feb 2026

Summarising and presenting data
🎞️ Slides

Master pandas transformations including .apply() with custom functions and .groupby() aggregations. Learn principles of seaborn visualisation design and standards for communication of insights.

Visual communication workshop
πŸ›£οΈ Roadmap Tutorial

Practice creating multiple chart types from the same data, learn to justify your choices for different audiences, and develop skills in writing compelling narrative titles.

πŸ–₯️ Week 06 23 Feb 2026
-
27 Feb 2026

Focus on Mini-Project 1. Support sessions available.

Submit your Mini-Project 1 (20%) via GitHub until Thursday 8 pm.

πŸ–₯️ Week 07 02 Mar 2026
-
06 Mar 2026

MP2 launch: methodology first, then technical setup
🎞️ Slides

Draft a methodology proposal for MP2, stress-test it with peer judgement, and learn the technical foundations: TfL API key handling and how json_normalize() reshapes nested JSON into tabular data.

Start MP2 with NB02: collect, unnest, adapt
πŸ›£οΈ Roadmap Tutorial

Collect one shared data sample with the TfL API, work through one guided json_normalize() unnesting pass, then adapt collection and normalisation to match your own methodology decisions from the Lecture.

Mini-Project 2 (30%) - London travel time analysis
✍️ Assignment brief
Starts in Week 07. Deadline: Wednesday, 1 April 2026 at 8 pm.

πŸ–₯️ Week 08 09 Mar 2026
-
13 Mar 2026

Reshaping and merging data in pandas
🎞️ Slides πŸ–₯️ Live Demo

Learn pd.concat(), .melt(), .pivot_table(), and pd.merge() to reshape and combine your collected data with the ONS Postcode Directory. Build NB02 for Mini-Project 2.

Reshaping and merging workshop
πŸ›£οΈ Roadmap Tutorial

Practice melt, pivot, and merge operations on your own MP2 data. Contextualise your postcode selections with ONS attributes and save processed outputs to data/processed/.

πŸ–₯️ Week 09 16 Mar 2026
-
20 Mar 2026

EDA critique, refinement, and visual judgement
🎞️ Slides

Stress-test your MP2 assumptions against real outputs, check data quality systematically, compare mean versus median, and learn visual communication principles for your final narrative. Build NB03 for Mini-Project 2 and learn how sns.FacetGrid supports fair multi-group comparison.

Open EDA workshop, group formation, and GitHub Pages
πŸ›£οΈ Roadmap Tutorial

Apply the W09 EDA checklist to an unfamiliar dataset, refine your MP2 NB03 plan, form your Group Project team, and publish a first GitHub Pages site from docs/index.md.

πŸ–₯️ Week 10 23 Mar 2026
-
27 Mar 2026

Git collaboration and SQL for data projects
🎞️ Slides πŸ–₯️ Live Demo

Learn how teams sync work with git fetch, git pull, and merge-conflict resolution, then connect that workflow to an introduction to SQL using the IMDb dataset from W09. Understand when SQL is a better tool than pandas for structured data tasks.

Project board setup and team workflow
πŸ›£οΈ Roadmap Tutorial

Set up a project board for your Group Project, assign roles and tasks, and practise the Git workflow your team will need once multiple people are contributing to the same repository.

Use this week to set up your team’s workflow, organise work through a project board, and prepare your GitHub Page for the formative W11 pitch.

πŸ–₯️ Week 11 30 Mar 2026
-
03 Apr 2026

Agentic AI coding and Git for teams
🎞️ Slides πŸ–₯️ Live Demo

See how agentic AI coding can improve productivity in real data projects through GitHub Copilot prompts, skills, and related workflows inside a new VS Code setup on Nuvolos with powerful AI-enabled features. Return to Git as a team by looking at collaboration patterns, GitHub Issues, Pull Requests, and the habits that help groups coordinate work cleanly.

Group project setup and pitch presentations (Formative)
πŸ‘₯ Group Work

Finalise your group setup, present your project idea as a GitHub Page, and receive feedback from Jon and the teaching team. Use the session to agree how your team will work together after term ends and across the Easter Break.

Submit your Mini-Project 2 (30%) via GitHub by Wednesday 1 April 2026 at 8 pm.

Reserve time this week to discuss and plan how your group will keep working after term ends and after the Easter Break. The Group Project is a 40% group submission due on Tuesday 26 May 2026 at 8 pm. You will also submit an individual reflection explaining how you contributed to the project. That reflection is worth 10% of your final course grade.