Data Science Foundations with Python & SQL

Turn small, messy datasets into reproducible analyses and defensible decisions using Python and SQL.

What you'll be able to do

  • Validate records instead of silently dropping inconvenient values.
  • Explain uncertainty, denominators and data-quality limits.
  • Deliver a reproducible analysis with executable checks.

Before you start

  • Basic spreadsheet familiarity
  • A local Python 3 environment; no paid service required

The curriculum

  1. Ask a question the data can answer — Free preview

    Define a decision, an observation and a useful denominator before writing code.

  2. Make invalid records visible — Free preview

    Parse a small dataset into validated records without hiding rejected observations.

  3. Turn an analysis into a reusable function — Sign-in access

    Separate a calculation from input/output and check its boundaries.

  4. Join tables without multiplying the story — Sign-in access

    Use keys, grouped queries and reconciliation checks to make SQL results trustworthy.

  5. Describe variation before choosing a headline — Free preview

    Distinguish typical values, unusual observations and uncertainty about the future.

  6. Design a chart that survives questions — Sign-in access

    Choose clear units, honest scales and a comparison that answers the decision.

  7. Build a pipeline that fails informatively — Sign-in access

    Connect validation, aggregation and a deterministic output with explicit failure behavior.

  8. Deliver the Community Meter decision pack — Sign-in access

    Combine code, checks and a careful recommendation in a complete local project.

Community Meter

Analyze synthetic community-library equipment loans to recommend a small, testable staffing experiment.

Deliverables

  • Validated synthetic loan dataset and data dictionary
  • Repeatable Python analysis and SQL summary
  • Decision memo with limitations and a follow-up measurement plan

Review your work

  • Invalid rows have explicit rejection reasons.
  • Totals reconcile before and after aggregation.
  • A clean local run reproduces the memo's numbers.