DS105 2025-2026 Winter Term Icon

πŸ–₯️ Week 11 Lecture

Databases, Dashboards, and Agentic Coding

Author

Dr Jon Cardoso-Silva

Published

18 April 2026

πŸ₯… Learning Goals

By the end of this lecture, you should be able to: i) design and create a SQLite database with primary keys and foreign keys, ii) populate it from pandas and read back with pd.read_sql(), iii) build a Streamlit dashboard with interactive filters, iv) judge when a dashboard adds value versus when a static report is more appropriate, v) apply the 4D AI Fluency Framework when using AI coding tools.

πŸ“ Logistics

πŸ“Location: Thursday, 2 April 2026, 4-6 pm at CKK.LG.03

Today is the last lecture of DS105W. It covers three topics that feed directly into your πŸ“¦ Group Project work over Easter and beyond: designing and populating a SQLite database, building a Streamlit dashboard, and working productively with AI coding tools.

Note: The third part of this lecture (agentic coding with GitHub Copilot) will not be recorded. It is available only for students attending in person.

πŸ“‹ Preparation

  • You attended the πŸ–₯️ W10 Lecture and πŸ’» W10 Lab
  • You completed the formative group pitch on Monday or Tuesday this week
  • Your group has a GitHub repository set up through GitHub Classroom

Sad pandas who gave up on asking for survey responses

Well, we tried but still only a minority responded to the survey
β„Ή
(39 out of 103 have completed the course survey. We did not reach the green zone.)
38%
0% – 50%
50% – 75%
75% – 100%

The LSE runs a course survey every term, and your feedback genuinely shapes how this module is taught next year. It takes about 3 minutes. 🐼

πŸ’‘ Note: Please assess all the instructors you have interacted with
(Jon counts as a teacher too!).

Last updated: 2 April 2026

πŸ—£οΈ Lecture Overview

Part 1: Designing a Database for Your Project
  • Why split data into separate tables (the IMDb example from W09/W10)
  • CREATE TABLE with column types, primary keys, and foreign keys
  • Column type affinity in SQLite (connecting back to bits and bytes from W02)
  • The DS105 way: build DataFrames in pandas, then df.to_sql(..., if_exists='append')
  • Managing your connection and reading back with pd.read_sql()
Part 2: Building Dashboards with Streamlit
  • From Markdown to HTML to Streamlit: the connection
  • A minimal Streamlit app and interactive widgets
  • Caching and keeping your code clean with utils.py
  • When a dashboard earns its place vs when a static report is more appropriate
  • Live walkthrough of an ONS report
Part 3: Agentic Coding with GitHub Copilot (not recorded)
  • How coding workflows have changed with AI tools
  • GitHub Copilot in VS Code: inline suggestions, chat, agentic mode
  • The 4D AI Fluency Framework (Delegation, Description, Discernment, Diligence)
  • Live demo and implications for your Group Project

πŸ““ Lecture Materials

Today uses facilitation slides across all three parts. No separate lecture notebook this week; the code examples are embedded in the slides and designed for you to adapt to your own project data.

🎬 Facilitation Slides

Use keyboard arrows to navigate. Select the slides below or view fullscreen.

Or download the slides directly as a PDF:

πŸ”– Appendix

Useful Links

Looking Ahead

  • Easter break: Front-load your πŸ“¦ Group Project work. This is your biggest block of uninterrupted time before the deadline.
  • ~20 April: Virginia Leape (WFP) visits LSE. WFP track groups should have API access and initial data collection working by then.
  • 26 May, 8 pm UK time: πŸ“¦ Group Project final submission (40% group + 10% individual reflection)
  • Slack: Check #announcements for updates, use your group channels to coordinate.