Data Science Roadmap for Beginners
From your first line of Python to models you can trust: SQL, charts, statistics, then machine learning with scikit-learn. Real code in your browser, a chart in every ML lesson.
2,421,911+ codders enrolled across these courses
487 lessons539 challenges2,161 quiz questions
- Beginner friendly
AI-assisted coding help
Hands-on interactive lessons
Audio narration on every lesson
Quizzes to test your knowledge
8 free certificates along the path
Train a model in your browser
Real scikit-learn code with its real output. Drag the slider to change one line and see what the model learns.
Small k memorizes every training point and draws a jagged border. Larger k smooths it out.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_moons
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
X, y = make_moons(n_samples=200, noise=0.3, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
k = 5
model = KNeighborsClassifier(n_neighbors=k)
model.fit(X_train, y_train)
print(f"train accuracy: {model.score(X_train, y_train):.2f}")
print(f"test accuracy: {model.score(X_test, y_test):.2f}")
xx, yy = np.meshgrid(np.linspace(-2, 3, 56), np.linspace(-1.5, 2, 40))
proba = model.predict_proba(np.c_[xx.ravel(), yy.ravel()])[:, 1]
proba = proba.reshape(xx.shape)
plt.figure(figsize=(5, 4))
plt.pcolormesh(xx, yy, proba, cmap="coolwarm", alpha=0.35)
plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train,
cmap="coolwarm", edgecolors="k")
plt.title(f"k-nearest neighbors, k = {k}")
plt.show()
The data science roadmap, step by step
Each step is an existing Coddy course. Take them in order, or jump into the one you are missing: your progress is saved per course either way.
- 1Step 12 sections, in order
- 2Step 2
SQL for getting the dataDedicated page
Start this stepStartSelect, filter, join, group and aggregate real tables. Most company data lives in a database, and a data scientist who can query it does not wait for someone else to export it.StartDedicated page2 sections, in order - 3Step 3
Data and plotsDedicated page
Start this stepStartNumPy arrays, pandas tables and matplotlib charts, then the built-in iris, wine and digits datasets. The toolkit every machine learning project starts with, with a chart in every lesson.StartDedicated page - 4Step 4
Statistics for machine learningDedicated page
Start this stepStartCenter and spread, distributions, probability by simulation, outliers, correlation, trend lines, p-values, scaling and encoding. Learned by simulating and plotting, not by memorizing formulas.StartDedicated page - 5Step 5
Supervised learningDedicated page
Start this stepStartSplit, fit, predict and score with scikit-learn: k-NN, linear and logistic regression, trees, forests, boosting, cross-validation and pipelines, ending with a penguin species classifier.StartDedicated page - 6Step 6
Unsupervised learningDedicated page
Start this stepStartFind structure without labels: k-means, hierarchical clustering, DBSCAN, PCA and anomaly detection, ending with a project that maps and groups handwritten digits.StartDedicated page
Learn by Doing
Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.
Build Your Streak
Stay consistent and watch your progress grow! Track your daily coding habit, protect your streak with freeze days, and earn rewards for showing up every day.
12 days streak
Return tomorrow to keep your streak!
January 2026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
21
22
23
24
25
26
27
28
29
30
Double or Nothing
Day 5 of 7
Streak Freeze
2 left
You're Not Alone
Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!
Every way to learn
Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.
A variable is a named container that stores a value you can reference later in your program.
In Python, you create one by writing the name, an equals sign, then the value you want to store.
The value can change over time - reassigning the name simply points it to a new value.
Earn a Certificate
Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.
Why follow this data science roadmap on Coddy
- One order, no guessing. Python first, then SQL to get the data, then charts and statistics to understand it, then models to predict from it. Each step uses what the step before taught.
- You see the data. Every machine learning lesson has a chart or a diagram, and the charts your code draws appear in the Plots tab beside it, so a distribution, a correlation or a decision boundary is something you have looked at, not only read about.
- Real tools, nothing to install: Python, SQL, NumPy, pandas, matplotlib, SciPy and scikit-learn, all running in your browser at the versions data scientists use.
- Two finished projects, a penguin species classifier and a handwritten digit explorer, plus final challenges on churn, fraud and A/B tests. Each course ends with a free certificate.