Plan
This lab opens in week 11. The full step-by-step page, the starter repository and the tests are published before that Monday; the plan below is final.
- schema.sql: tables with primary and foreign keys for a students/courses/enrollments dataset.
- load.py: read the CSV and insert rows with parameterized queries.
- queries.sql: eight questions, from a simple WHERE to a three-table JOIN with GROUP BY; time one before and after CREATE INDEX.
- injection.py: a login check built with string formatting, an input that bypasses it, and the parameterized fix.
- Explore notebook: pandas versus SQL on the same questions.
How it works
Same loop as every lab: accept on Classroom 50, open in Codespaces, solve the TODOs, python3 check.py until green, git push. See how labs work and the setup guide.