Self-paced course · Beginner · 66 lessons

PYTHON FROM PUCK DROP

FoundationZ of Data Science

The on-ramp to Python for analytics, core syntax, data wrangling, plotting, and best practices, so you're ready for machine learning and the job.

An agent can write the first script. This course is about being able to read it, change it and trust it.

Who it is for. Complete beginners who want a real Python foundation for analytics before moving into machine learning.

$99 Enroll now One payment, lifetime access. Included with Membership.
Why take this

Three things you leave with.

Python syntax and data structures, from scratch

Data cleaning and analysis with Pandas

Clear visualizations with Matplotlib and Plotly

Not for you if
  • You already know Python and Pandas, this is the on-ramp
  • You want advanced ML, take this first, then Python MachineZ
  • You want R, this is Python
Play with the data

Run the code, in your browser.

The chart on this page, drawn by code you can edit. R runs on webR and Python on Pyodide; nothing loads until you press Run, and nothing you type leaves the page.

Python
This chart is the code's result. Run recomputes it in your browser.
Every ball in play on a drawn field, colored by result. Click a result in the legend to hide it; hover for the ball.

Edit me: Add a column for hard-hit balls (launch_speed of 95 or more) and run again.

Data: Spray chart (spray.csv). Simulated for practice by AthlyticZ (agents/sim_data.py, seed 20261109). License CC BY 4.0.

The code runs in your browser on Pyodide; nothing you type leaves the page.

What you get

Everything that exists for this course, and nothing that does not.

  • Every lesson66 lessons in 9 sections, yours to keep
  • Project files and codeEvery notebook, dataset and finished build, to keep and adapt
EC
Your instructor Evan Callaghan

Teaches the course the way the work is done in the role above. The team page lists everything they teach here.

The problem

You want to work with sports data and you do not yet write code; every analysis you want to do starts with a language you have not learned.

Three decisions it teaches
  1. Python from the first line: syntax and data structures as tools for a question, not as a syllabus
  2. How to clean and reshape real data with pandas before you trust a single number from it
  3. Which chart makes the point, and how to keep the whole project reproducible

The artifact. A cleaned season of data, the charts that answer a question about it, and a project you can rerun from scratch.

Pythonagents/viz/foundationz-of-data-science.py
2026-11-09T02:12:22.554244 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 80 85 90 95 100 105 110 115 exit velocity, mph 200 250 300 350 400 450 distance, feet One more mile per hour buys about 5.1 feet (least squares, n = 500)
Five hundred batted balls: exit velocity against distance, and the straight line a first Python analysis fits through them. Drawn at build from the data on this site by the code below.
The code that drew it
# Five hundred batted balls: exit velocity against distance, and the straight line a first Python analysis fits through them.
import sys, pathlib, csv
sys.path.insert(0, str(pathlib.Path(__file__).parent))
from _palette import plt, emit, GOLD, AQUA, MUTE
import numpy as np

rows = list(csv.DictReader(open("site/18-practice/batted-balls/files/batted_balls_2026.csv")))
x = np.array([float(r["launch_speed"]) for r in rows]); y = np.array([float(r["hit_distance"]) for r in rows])
b, a = np.polyfit(x, y, 1)
fig, ax = plt.subplots(figsize=(7.2, 4.2))
ax.scatter(x, y, s=12, color=AQUA, alpha=.65, edgecolors="none", rasterized=True)   # 500 points as one raster layer keeps the SVG small
xs = np.linspace(x.min(), x.max(), 50); ax.plot(xs, a + b * xs, color=GOLD, lw=2)
ax.set_xlabel("exit velocity, mph"); ax.set_ylabel("distance, feet")
ax.set_title(f"One more mile per hour buys about {b:.1f} feet  (least squares, n = {len(rows)})")
emit(fig)

Data: Batted balls. Simulated for practice by AthlyticZ (agents/sim_data.py, seed 20261109). License CC BY 4.0.

Curriculum

Every section, every lesson.

From the academy course record, in the order it is taught. The first section is open; the rest fold out.

66 lessons in 9 sections, 7 quizzes. Every lesson is yours to keep.

Course Introduction4 items
  1. Course Overview Welcome to the course
  2. What is Data Science? Studying data to extract insights
  3. Data Science in Sports Sports data science implementation
  4. Python for Data Science A leading language for data science
Python Basics11 items
  1. Introductory Python Our first look at Python code
  2. Syntax and Variables Python language rules and creating variables
  3. Data Types and Structures Different methods of storing data in Python
  4. Conditional Statements Handling decisions in Python
  5. Loops Repeating operations multiple times
  6. Functions Code designed for a specific task
  7. Libraries and Modules Expertly-written code resources
  8. Exception Handling Responding to errors in our Python code
  9. Overview Overview of Python Basics modules
  10. Exercises Practicing Python Basics concepts
  11. Quiz Assessing our Python Basics knowledge quiz
The NumPy Library10 items
  1. The NumPy Array A new way to store our data
  2. Generating Random Numbers Our first look at probability distributions
  3. Array Operations Data operations with NumPy
  4. Aggregation and Ufuncs Additional array operations simplified by NumPy
  5. Filtering and Sorting Basic NumPy array cleaning processes
  6. Array Manipulation Transforming our NumPy arrays
  7. Linear Algebra A high-level introduction
  8. Overview Overview of NumPy modules
  9. Exercises Practicing NumPy concepts
  10. Quiz Assessing our NumPy knowledge quiz
The Pandas Library13 items
  1. Introduction to Pandas A new way to store our data
  2. Importing Data Reading data into Python
  3. Basic Data Exploration Extracting important details from data
  4. Filtering and Slicing DataFrames Extracting subsets of our data
  5. Data Cleaning Basics of organizing our DataFrames
  6. String Manipulation Pandas shortcuts for text data
  7. Aggregating and Summarizing Data Operations for extracting data insights
  8. Data Transformations Basics of restructuring our data
  9. Combining and Merging Data joins using Pandas
  10. Exporting Data Saving our updated DataFrames
  11. Overview Overview of Pandas modules
  12. Exercises Practicing Pandas concepts
  13. Quiz Assessing our Pandas knowledge quiz
Case Study: Data Wrangling5 items
  1. Case Study Overview Grid example and application data sources
  2. Data Wrangling Importing and cleaning our data
  3. Creating Grid Application Finalizing our grid
  4. Exercises Practicing Data Wrangling concepts
  5. Quiz Assessing our Data Wrangling knowledge quiz
Data Visualization10 items
  1. Introduction to Data Visualization Using Python to create effective graphics
  2. Anantomy of a Plot Breakdown of visualization elements
  3. The Matplotlib Library Creating our first data visualizations
  4. Matplotlib Customization Creating more in-depth visualizations
  5. The Seaborn Library Another useful library for visualizations
  6. Seaborn Customization Creating more in-depth visualizations using Seaborn
  7. Interactive Plots in Plotly Another useful library for visualizations
  8. NHL Play-by-Play Example of sports-specific plotting
  9. Exercises Practicing Data Visualization concepts
  10. Quiz Assessing our Data Visualization knowledge quiz
Introduction to Modeling8 items
  1. Models Based on Similarity Our first look at similarity metrics
  2. Regression vs. Classification A comparison of the two main model classes
  3. Data Splitting A necessary step before implementation
  4. The k-NN Algorithm Concepts behind this popular model
  5. K-Means Clustering Example clustering implementation
  6. Hierarchical Clustering A different approach to clustering
  7. Exercises Practicing Modeling concepts
  8. Quiz Assessing our Modeling knowledge quiz
Case Study: Data Analysis10 items
  1. The EDA Process Defining our case study approach
  2. Defining the Problem Introducing our case study topic
  3. Collecting our Data Accessing different data sources
  4. Cleaning our Data Cleaning operations for our data
  5. Aggregating our Data Getting all data sources on the same level
  6. Assessing Data Quality Ensuring data quality before analysis
  7. Analyzing our Data Drawing insights with visualizations
  8. Modeling Implementing k-NN for player predictions
  9. Clustering Implementing clustering for player analysis
  10. Quiz Assessing our Data Analysis knowledge quiz
Looking Ahead2 items
  1. Course Recap Summarizing key concepts
  2. Machine Learning in Sports
What is included

What is yours when you enroll.

  • Lifetime access Every module and lesson, yours to keep and revisit, forever.
  • Project files and code Every notebook, dataset, and finished build, to keep and adapt.
  • All future updates New lessons and refreshes as the tools move, at no extra cost.
  • Self-paced Start today, go at your own pace, no cohort to wait for.

Refunds. If you enrolled and it is the wrong course for you, write to michael@athlyticz.com and a person will answer.

Questions

The ones that stop a purchase.

Is this included with Membership?

Yes. Membership includes this and the entire course catalog, plus the live Masterclass. If you plan to take more than a couple of courses, Membership is the better math.

Is this too advanced, or too basic, for me?

Complete beginners who want a real Python foundation for analytics before moving into machine learning. If the "not for you" list above reads like you, start elsewhere; if the outcome at the top reads like something you could use next week, it is pitched right.

What exactly do I get, and for how long?

9 sections · 66 lessons. Every lesson, the project files and code, and all future updates. Lifetime access: it is yours to keep.

Is it self-paced?

Yes. Start today and go at your own pace, with lifetime access to every lesson and all future updates.

FoundationZ of Data Science

The on-ramp to Python for analytics, core syntax, data wrangling, plotting, and best practices, so you're ready for machine learning and the job.

This course $99 one payment, lifetime access

9 sections · 66 lessons, the project files, and every future update.

Enroll now
Membership $2,999 a year

This course, the whole catalog, and the Masterclass: every live session and every recording.

Get Membership