Skip to content

Progress Tracker

Copy this file, paste it into your notes app, and check items off as you complete them. Work through the course in order — each section quietly prepares you for the next.


How to Use This

  • Check off each item only when you can explain it out loud, not just when you've read it.
  • The interview questions at the end of each section are the real test — if you can answer them fluently, you're ready to move on.
  • Return to unchecked items before a study session ends, not the next day.

Week 01 — Data Science Foundations

Day 01 Part 1 — Python Basics

  • [ ] Understand Python's data types (int, float, str, bool, None)
  • [ ] Write and call functions with arguments and return values
  • [ ] Use control flow: if/elif/else, for loops, while loops
  • [ ] Build and manipulate lists, tuples, and dictionaries
  • [ ] Write a list comprehension to replace a for loop
  • [ ] Handle exceptions with try/except
  • [ ] Use a context manager (with statement)
  • [ ] Answer the interview questions out loud

Day 01 Part 2 — Advanced Python

  • [ ] Write a class with __init__, instance methods, and __repr__
  • [ ] Use *args and **kwargs correctly
  • [ ] Read and write files with open() and a context manager
  • [ ] Import and use a module from the standard library
  • [ ] Handle a specific exception type (not just bare except)
  • [ ] Write a decorator that wraps a function
  • [ ] Answer the interview questions out loud

Day 02 Part 1 — NumPy Fundamentals

  • [ ] Create arrays from lists, ranges, and random generators
  • [ ] Index and slice arrays (1D and 2D)
  • [ ] Understand broadcasting — explain it without looking at notes
  • [ ] Replace a Python for-loop with a vectorised NumPy operation
  • [ ] Use np.where, np.clip, np.argmax, np.argsort
  • [ ] Compute mean, std, min, max along an axis
  • [ ] Complete the NumPy exercises

Day 02 Part 2 — Pandas Basics

  • [ ] Load a CSV into a DataFrame
  • [ ] Select columns by label and rows by condition
  • [ ] Handle missing values (.isna(), .fillna(), .dropna())
  • [ ] Rename and drop columns
  • [ ] Compute descriptive statistics with .describe()
  • [ ] Sort a DataFrame by a column
  • [ ] Answer the interview questions out loud

Day 03 Part 1 — Pandas Advanced

  • [ ] Group data with .groupby() and apply aggregations
  • [ ] Merge two DataFrames on a key column (inner and left join)
  • [ ] Apply a custom function to a column with .apply()
  • [ ] Detect and handle duplicate rows
  • [ ] Reshape data with .pivot_table()
  • [ ] Complete the exercises

Day 03 Part 2 — Data Visualization

  • [ ] Create a line chart, bar chart, and histogram with Matplotlib
  • [ ] Customise labels, titles, and figure size
  • [ ] Create a scatter plot and interpret correlation visually
  • [ ] Create a heatmap with Seaborn
  • [ ] Choose the right chart type for a given question
  • [ ] Complete the mini project

Day 04 Part 1 — Statistics Basics

  • [ ] Compute and interpret mean, median, mode — and know when each is appropriate
  • [ ] Compute variance and standard deviation by hand (once)
  • [ ] Explain normal, Poisson, and binomial distributions in plain English
  • [ ] Understand skewness and kurtosis conceptually
  • [ ] Complete the practice questions

Day 04 Part 2 — Inferential Statistics

  • [ ] Explain a p-value correctly (what it is and what it is NOT)
  • [ ] State the null and alternative hypotheses for a scenario
  • [ ] Explain Type I and Type II error — and the tradeoff
  • [ ] Know when to use a t-test, chi-squared test, and Mann-Whitney test
  • [ ] Explain the difference between statistical and practical significance
  • [ ] Answer the interview questions out loud

Day 05 Part 1 — SQL for Data Science

  • [ ] Write SELECT queries with WHERE, ORDER BY, LIMIT
  • [ ] Use GROUP BY with aggregations (COUNT, SUM, AVG, MIN, MAX)
  • [ ] Understand the difference between WHERE and HAVING
  • [ ] Write INNER JOIN, LEFT JOIN — know what each returns
  • [ ] Write a subquery in a WHERE clause
  • [ ] Write a CTE (WITH clause) for a multi-step query
  • [ ] Write a window function with PARTITION BY and ORDER BY
  • [ ] Complete the SQL case studies

Day 05 Part 2 — Exploratory Data Analysis

  • [ ] Inspect a new dataset: shape, dtypes, missing values, duplicates
  • [ ] Detect and investigate outliers (IQR method, z-score)
  • [ ] Produce univariate summaries for numeric and categorical features
  • [ ] Compute and visualise bivariate relationships (correlation, crosstab)
  • [ ] Write 3 Observation/Interpretation/Action insights from an EDA
  • [ ] Complete the mini case study

Week 02 — Machine Learning and Projects

Day 01 Part 1 — Machine Learning Basics

  • [ ] Explain the difference between supervised and unsupervised learning
  • [ ] Explain the bias-variance tradeoff without looking at notes
  • [ ] Explain data leakage — give an example of each type
  • [ ] Split data into train/validation/test correctly
  • [ ] Fit and predict with a scikit-learn model using the standard API
  • [ ] Complete the exercises

Day 01 Part 2 — Regression Algorithms

  • [ ] Explain what linear regression minimises and how it works
  • [ ] Implement linear regression and interpret the coefficients
  • [ ] Explain Ridge vs Lasso — what each penalises and when to use each
  • [ ] Build a decision tree regressor and control overfitting with max_depth
  • [ ] Compute MAE, RMSE, and R² — interpret each
  • [ ] Complete the exercises

Day 02 Part 1 — Classification Algorithms

  • [ ] Explain logistic regression — what it outputs and why sigmoid is used
  • [ ] Understand KNN — the algorithm, the distance metric, the k parameter
  • [ ] Explain why Naive Bayes works well for text despite its assumptions
  • [ ] Build a Random Forest and explain why it outperforms a single tree
  • [ ] Explain the difference between bagging and boosting
  • [ ] Compute precision, recall, F1, and AUC — interpret each
  • [ ] Complete the exercises

Day 02 Part 2 — Clustering Techniques

  • [ ] Explain K-means — the algorithm, when it fails, how to choose K
  • [ ] Build and interpret a dendrogram from hierarchical clustering
  • [ ] Explain how DBSCAN handles noise and arbitrary cluster shapes
  • [ ] Compute and interpret silhouette score
  • [ ] Know when to use each clustering algorithm
  • [ ] Complete the exercises

Day 03 Part 1 — Feature Engineering

  • [ ] Handle missing values correctly (impute vs drop — when each is right)
  • [ ] Encode categorical features (one-hot, ordinal, target encoding)
  • [ ] Scale numeric features — and know which models require scaling
  • [ ] Create datetime features (year, month, day_of_week, lag)
  • [ ] Build a sklearn Pipeline that encapsulates preprocessing
  • [ ] Explain why all preprocessing must be fit on training data only
  • [ ] Complete the exercises

Day 03 Part 2 — Model Evaluation

  • [ ] Implement k-fold cross-validation and interpret the results
  • [ ] Plot learning curves — diagnose bias vs variance from them
  • [ ] Run a RandomizedSearchCV hyperparameter search
  • [ ] Explain overfitting from a learning curve without prompting
  • [ ] Choose the right evaluation metric for a given business problem
  • [ ] Complete the exercises

Day 04 Part 1 — Intro to Deep Learning

  • [ ] Explain what a neural network does (at the level of neurons, layers, activations)
  • [ ] Explain backpropagation in plain English
  • [ ] Know when to use ReLU vs sigmoid vs softmax
  • [ ] Build a simple Keras model (Sequential API)
  • [ ] Explain dropout and batch normalisation — what each does
  • [ ] Identify overfitting from a training history plot
  • [ ] Complete the exercises

Day 04 Part 2 — NLP Basics

  • [ ] Describe the text preprocessing pipeline (clean → tokenise → vectorise)
  • [ ] Explain TF-IDF — the formula and the intuition
  • [ ] Build a TF-IDF + Logistic Regression text classifier
  • [ ] Explain what word embeddings capture that TF-IDF cannot
  • [ ] Explain the Transformer architecture at a high level
  • [ ] Complete the exercises

Day 05 Part 1 — End-to-End Mini Project

  • [ ] Frame a business problem as an ML task
  • [ ] Complete a full EDA and document findings
  • [ ] Engineer features and build a preprocessing pipeline
  • [ ] Train, compare, and select a model
  • [ ] Evaluate on a held-out test set and interpret results
  • [ ] Write a plain-English summary of findings
  • [ ] Review the submission checklist

Day 05 Part 2 — Mock Interview and Resume

  • [ ] Write a 90-second career narrative and say it out loud
  • [ ] Walk through a project using the Problem → Data → Approach → Results → Learnings structure
  • [ ] Answer 5 technical interview questions without looking at notes
  • [ ] Review your resume against the checklist
  • [ ] Set up a GitHub portfolio with at least one project
  • [ ] Complete the mock interview script

Guided Projects

Complete at least one end-to-end project. Start with the one closest to your target role.


Interview Preparation

Work through these only after you've completed the corresponding course sections. Saying answers out loud is the practice — reading is not.

  • [ ] Python — basics, data structures, OOP, functional
  • [ ] SQL — basics, joins, window functions, CTEs, optimization
  • [ ] Statistics — descriptive, probability, hypothesis testing, A/B testing
  • [ ] Machine Learning — fundamentals, regression, classification, clustering, ensembles
  • [ ] Deep Learning — neural networks, training, CNNs, RNNs, transformers
  • [ ] NLP — preprocessing, classical NLP, embeddings, language models
  • [ ] System Design — ML systems, pipelines, serving, monitoring
  • [ ] Case Studies — metrics, experiments, ML framing, business cases
  • [ ] Behavioral — story, projects, conflict, STAR method

The Real Completion Signal

You are done with a topic when you can teach it. Pick a concept from the section, explain it out loud to an imaginary student for 60 seconds without notes, and field one follow-up question. If you can do that, the topic is yours.