Course home · 14 lectures in 19 parts · 3 practice classes · 17 labs
Introduction to Data Science and Machine Learning
Md Mahbub E Noor · Assistant Professor, Department of CSE, University of Barishal
>>> model.fit(X_train, y_train) → Python · pandas · charts · regression · classification · evaluation · features · clustering · responsible ML
Dark
How to use
Slides: → /Space next step, ← back, F full screen, a number and Enter to jump, S slide list. The bar on top switches sessions ([ ] ) and opens the lab (L ). Press ? for all keys.
Labs: each lab runs Python ideas in the browser and checks every number against real Python and scikit-learn. Its bar goes back to the slides, or to the previous or next lab. Then write the same code in Jupyter or Colab.
Offline: everything is in this folder: slides, videos, labs, data and fonts. Copy it to a lab PC and open index.html in any browser, no internet needed.
Instructor: press N on any slide to show or hide the speaker notes under the slide (your choice is remembered). PPTX downloads the PowerPoint deck with notes. The student edition has neither.
Part 1 · Data science: from Python to a spam detector lectures 1–6
1 Turning data into decisions What data science is, and why it matters 13 slides · recap video
2.1 Getting started Running Python online in Colab and offline in Jupyter Notebook 20 slides · recap video
2.2 Hello, Python Your first lines of code: numbers, variables and text 16 slides · lab: Variables Lab · recap video
2.3 Finding and fixing mistakes Reading error messages and debugging, step by step 26 slides · lab: Debugging Lab · recap video
3.1 Making decisions if, elif, else, and match: teaching Python to choose 28 slides · lab: Decisions Lab · recap video
3.2 Lists and tuples Storing many values: a whole inbox in one variable 29 slides · lab: Lists Lab · recap video
3.3 Loops for, while, range, break: judging a whole inbox 35 slides · lab: Loops Lab · recap video
4.1 Functions Write once, use everywhere, and how Python passes arguments 39 slides · lab: Functions Lab · recap video
4.2 Counting words with dictionaries The idea behind real spam filters 17 slides · lab: Word Counting Lab · recap video
5 Real data with pandas Exploring 5,572 real text messages 18 slides · lab: Real Data Lab · recap video
6 Build a real spam detector From 5,169 messages to a working model, step by step 21 slides · lab: Spam Model Lab · recap video
Part 2 · Machine learning lectures 7–14 · practice classes
7 Seeing data Charts and basic statistics: the foundation of machine learning 20 slides · lab: Charts Lab · recap video
8 What is machine learning? Learning from examples: the ideas behind every model 19 slides · lab: What is ML? Lab · recap video
9 Regression Predicting numbers with a straight line 20 slides · lab: Regression Lab · recap video
10 Classification k-nearest neighbours and decision trees 20 slides · lab: Classifier Lab · recap video
P1 Regression and classificationpractice class Hand calculations first, then code 14 slides
11 Evaluating models properly Overfitting, cross-validation, precision and recall 22 slides · lab: Evaluation Lab · recap video
12 Preparing features Missing values, categories, scaling and pipelines 19 slides · lab: Feature Prep Lab · recap video
P2 Evaluation clinicpractice class Find the mistakes in four experiments, then fix them 16 slides
13 Unsupervised learning Finding groups without labels: k-means clustering 17 slides · lab: Clustering Lab · recap video
P3 A complete mini-projectpractice class Recognising handwritten digits, from question to report 14 slides
14 Responsible ML and what's next Fairness, privacy, and a first look at neural networks 17 slides · lab: Responsible ML Lab · recap video
Your project ★ Your machine learning projectproject Choosing a question, finding data, and planning honest evaluation 9 slides
Works offline Interactive labs · 17 labs
One lab per lecture from 2.2 on, opened from the lab slide in each lecture. On a lab PC, students can also start from labs/START_HERE.html .
2.2 Variables Lab Memory boxes · Operators · Text tools · f-strings
2.3 Debugging Lab Error decoder · Logic error hunt · Notebook trap
3.1 Decisions Lab Grade machine · and · or · not · Spam rule tester · match-case
3.2 Lists Lab List playground · Slicing · Ask the list · Two names, one list
3.3 Loops Lab Loop stepper · range() explorer · Nested loop grid · Predict the loop
4.1 Functions Lab Call visualiser · Argument matcher · Change or move? · Write and test
4.2 Word Counting Lab Split and clean · Dictionary builder · Spam vs normal · Spam score
5 Real Data Lab Look inside · Word clues · Group and compare · Duplicates
6 Spam Model Lab Split · Words to numbers · Train and evaluate · Try your own
7 Charts Lab Mean, median, spread · Histogram · Scatter and correlation · Box plot
8 What is ML? Lab Sort the tasks · Be the model · Same pattern, any model · Memorise or generalise
9 Regression Lab Fit by hand · Outliers and extrapolation · Real data: diabetes · What R² means
10 Classifier Lab k-NN by hand · Decision boundaries · Read the tree · Compare the models
11 Evaluation Lab Underfit and overfit · Choose depth honestly · Precision and recall · The accuracy trap
12 Feature Prep Lab Missing values · Categories to numbers · Scaling and neighbours · Data leakage
13 Clustering Lab k-means by hand · Watch k-means · Choose k · Limits of k-means
14 Responsible ML Lab Check every group · Privacy · One neuron · A small network
Homework: every lecture from 2.2 on ends with a homework slide; submit notebooks as the slide says.
SMS Spam Collection: T. A. Almeida and J. M. Gómez Hidalgo, UCI Machine Learning Repository (2011). Other datasets are built into scikit-learn. Slides, figures, videos and labs were made for this course; every code output shown was produced by running the code.
IBM Plex fonts: SIL Open Font License (assets/fonts/OFL.txt).