Data Exploration & Preparation
with rakoon-ds

The same course, without Orange. Fifteen two-hour sessions in a free, browser-based machine learning studio: explore, prepare, join, model and explain, with a written report that builds itself as you work and exercises that check your project instead of your screenshots.

15
Sessions
30
Hours
15
Checked missions
0
Installs
See the programmes
Défiler

What this course is

A data science course where the tool stops being the obstacle

Data exploration and preparation is where three quarters of a data science project actually happens, and it is the part that is usually taught through a tool that fights back. This course teaches the same syllabus as our Orange-based course, using rakoon-ds: a free, no-install, browser-based machine learning studio, at rakoon-ds.apps.way-up.io.

Every session is two hours: about 45 minutes of lecture with live demonstrations in the studio, and about 75 minutes of hands-on work with a practical work sheet and a mission that checks your project automatically. The last two sessions are a real EPITA exam, run in exam conditions, and they get 105 minutes of hands-on each.

Nothing in this course is a promise. Every number quoted in the practical work sheets was measured on a running instance on 2026-09-09, and every feature named exists: where the studio cannot do something, the sheet says so and teaches the way around it. Web scraping, for instance, stays in Python (session 10), because the studio does not scrape and will not pretend to.

Two ways to run it

  • 10 hours, sessions 1 to 5: the core. Exploration, preparation, formats and sources, enrichment and joins, first models and honest evaluation. Ends with a mini exam.
  • 30 hours, sessions 1 to 15: the core plus ten sessions on data quality, feature engineering, time series, geospatial data, semi-structured sources and scraping, explainability, diagnostics, reporting, and a two-session case study on a real exam subject.

Objectives and prerequisites

What you will be able to do, and what you need before you start

By the end you can

  • Read a dataset before touching it: profile, quality report, missing patterns, outliers, duplicates, identifiers, class balance
  • Clean and reshape data with a traceable chain of transformations that can be re-run after any change
  • Import from a file, a built-in dataset, an XML or JSON payload, or a REST API with pagination and authentication headers
  • Join datasets without multiplying rows, and prove it with a count
  • Build features that carry an idea: calendar parts, cyclical encodings, bins, named categories, geographic distances
  • Recognise a data leak, a duplicate-inflated score, a resampling applied before the split, and a random split on a dated dataset
  • Train, compare and diagnose models: baseline first, then learning curves, cross-validation, validation curves and hyperparameter search
  • Explain a single prediction with permutation importance, partial dependence, a what-if simulator and a minimal counterfactual
  • Write a report a non-specialist can read, and defend every number in it

You need

  • A recent browser. Nothing to install: the studio runs on the web, and computation happens either in your own tab or on the server
  • An account on rakoon-ds.apps.way-up.io and the join code of your group
  • Basic statistics: mean, median, quartile, correlation. No proofs are required
  • Python only for session 10 (web scraping): pip install requests beautifulsoup4. Every other session is click-only, apart from one deliberate Python node in session 15 that the exam subject demands
  • No prior machine learning. Sessions 1 to 4 assume none

Good to know

The studio interface is available in English, but the registry that names transformations, charts and algorithms is served in French whatever the interface language. Every practical work sheet therefore gives you both: the French label you will click, and the technical key in code font.

Programme, 10 hours

Five two-hour sessions: 45 minutes of lecture, 75 minutes of practical work

# Session Lecture Practical work Materials
1 Data exploration and the rakoon-ds studio Workflow as a graph, projects, dataset cards, profile, quality report, the first questions to ask a dataset 45 min 75 minTitanic: explore, five questions, first report block. Mission dep-1
2 Data preparation Cleaning, missing values, duplicates, encoding, dates, derived columns, lineage and re-running, class imbalance 45 min 75 minCalifornia Fire Incidents prepared with clicks, and two ways a score lies. Mission dep-2
3 Data formats and sources CSV, Excel, Parquet, XML and XPath, JSON, REST APIs and online feeds with pagination and headers, and when scraping is the wrong tool 45 min 75 minWorld countries over a paginated XML API, holidays over JSON, joined and counted. Mission dep-3
4 Enrichment and joins External data, joins that do not multiply rows, concatenation, dates and public holidays, weather, resampling before or after the split 45 min 75 minFires plus weather plus holidays, and the honest question: did it help? Mission dep-4
5 First models and honest evaluation Random and temporal splits, baseline models, forests, metrics, confusion matrix, error map, sealed test set, final report 45 min 75 minMini exam: full run, report handed in, instructor progress view. Mission dep-5

Total: 10 hours, 5 lectures of 45 minutes and 5 practical works of 75 minutes, plus 5 missions checked automatically.

Programme, 30 hours

Draft. Sessions 6 to 15 exist as first versions (decks, practical works and missions) but their production was paused before the final consistency review; use the 10 hour track for teaching.

The five sessions above, plus ten more. Sessions 14 and 15 are a real exam, with 105 minutes of hands-on each

# Session Lecture Practical work Materials
1 to 5 The 10-hour core, unchanged Exploration, preparation, formats and sources, enrichment and joins, first models and honest evaluation 5 x 45 min 5 x 75 minMissions dep-1 to dep-5
6 Data quality in depth Missing values and their patterns, outliers, duplicates, identifiers, the five leak codes and the leak no detector catches, sealed test sets 45 min 75 minThree datasets, three defects: 240 duplicates worth ten points of accuracy. Mission dep-6
7 Feature engineering Binning, named categories, formulas including cyclical sine and cosine, interactions, short text, feature selection 45 min 75 minTurn 0.49 into 0.89 without changing the algorithm. Mission dep-7
8 Time series and temporal splits Trend, seasonality, lags, splitting by time, and why a random split on a dated dataset flatters you 45 min 75 minThe same model twice: 0.89 at random against 0.62 in time. Mission dep-8
9 Geospatial data Coordinates, Haversine distance, maps and their sampling, joins by territory, rates rather than counts 45 min 75 minWhat a tree does with coordinates that a linear model cannot. Mission dep-9
10 Semi-structured sources and scraping Nested JSON and mapping, multi-level XML, scraping in Python then importing the CSV, and the ethics of collecting data yourself 45 min 75 min1 000 books scraped in Python, analysed with clicks. Mission dep-10
11 Understanding a model Native and permutation importance, partial dependence, the what-if simulator, minimal change, path through the tree, nearest neighbours 45 min 75 minExplain one Titanic prediction in 150 words, without jargon. Mission dep-11
12 Diagnosing and tuning Learning and validation curves, cross-validation, hyperparameter search, the coach, overfitting and underfitting 45 min 75 minCalifornia housing: four diagnostics, one applied combination, one model card. Mission dep-12
13 Reporting and communication The seven-section plan, blocks poured from the workshop, the automatic journal, the model card, limits and ethics, what a non-technical reader expects 45 min 75 minWrite and export a full report on an existing project, then cross-review. Mission dep-13
14 Case study, part 1 EPITA 2026 exam, SNCF lost property, 14 tasks, exam conditions with missions and hints. Short lecture: instructions, traps, marking scheme 15 min 105 minTasks 1 to 8. Embedded mission epita-2026f, checkpoints dep-14
15 Case study, part 2 Finish, hand in, instructor progress view, commented correction, and an honest comparison with the Orange version 15 min 105 minTasks 9 to 14, report handed in, debrief. Embedded mission epita-2026f, checkpoints dep-15

Total: 30 hours, 15 sessions of 2 hours. Thirteen sessions of 45 minutes of lecture and 75 minutes of practical work, and two exam sessions of 15 minutes of instructions and 105 minutes of hands-on. Fifteen missions, 80 steps and 153 automatic checks in total.

Assessment

Three layers, and none of them is a screenshot

1. Checked missions, one per session

A mission is not a text. It is a list of steps, and each step carries declarative checks on the real state of your project: a dataset with a given name and row count, a transformation actually applied, a trained model with a given algorithm and target, a metric threshold, a pinned figure, a report section long enough to say something. You click Check and you know where you are; the instructor sees the whole group without opening a single project.

Eight kinds of check exist and this course uses all eight: dataset_present (with a minimum and a maximum row count, which is how a join gets verified), transform_applied, model_trained, metric_at_least, metric_at_most, model_count, report_section_filled and viz_pinned. Progress is monotone: a step that is validated stays validated. Hints are progressive, given one at a time, and each request is counted.

The fifteen missions of this course are published next to the sheets, as missions/dep-1.json to missions/dep-15.json. An instructor pastes one into the mission editor, clicks Validate the JSON and assigns it to a group.

2. A written report, every session

Every practical work ends in the report panel. The plan is imposed: seven sections, each with its guiding questions. You do not draw in the report, you pour into it what the workshop produced: a pinned figure with its capture, a dataset profile, metrics, a confusion matrix, a variable importance chart, an experiment comparison, the lineage of your chain, and the automatic journal. A block whose source has changed is flagged as stale and refreshes in one click. Export is Markdown, Markdown plus images, an enriched notebook, or a print-ready PDF.

3. A mock exam, then two real ones

Session 5 is a mini exam: a full run in 75 minutes on a dataset you already know, with a sealed test set. Sessions 14 and 15 are the EPITA 2026 exam on SNCF lost property, run as written: fourteen tasks, 258 902 items, seven files, four joins that multiply rows if you are careless.

rakoon-ds ships eight EPITA exam subjects as missions (epita-2021s1, epita-2023f, epita-2023s, epita-2024f, epita-2024s, epita-2025f, epita-2025s, epita-2026f), covering nine subjects across three data families: San Francisco car crashes, SNCF lost property, and air passengers. An instructor imports them in one click, or presses the exam sandbox button which creates the space, three groups and all eight missions at once. The subject data is not shipped: the platform delivers the mission, not the files, and each mission says where to find them.

Those subjects were run end to end before this course was written. The verdict, with numbers: a student can sit them in rakoon-ds without Orange and hand in a better dossier. On the car crashes subject, nine tasks out of ten are click-only and the loss is about 3 points out of 26, all on a task that requires a Python library the sandbox does not have. On the air passengers subjects, all twenty-one tasks are click-only and no Python node was needed at all.

rakoon-ds instead of Orange

What the studio brings, and what Orange still does better. Both lists are short and both are true

What rakoon-ds brings

  • Nothing to install. A URL and an account. No version conflict in the room, no add-on that will not build, no laptop left behind
  • Free, and multi-learner. Spaces, groups with a six-character join code, and a trainer view of the whole cohort
  • The report is inside the tool. Seven sections, blocks poured from the workshop with their captures, an automatic journal that reconstructs the chronology, and exports to Markdown, PDF and notebook. It replaces both the annotated workflow and the hand-written PDF
  • Missions check the project, not the screenshot. Eight declarative checks, progressive hints, and a progress table per group
  • The baseline is an algorithm. Comparing against a majority-class or median model is one click, so honest comparison is the default path rather than a personal discipline
  • Leaks are flagged before the metrics. Five codes, a banner above the score, plus a warning when resampling was applied before the split and a warning when a dated dataset is split at random
  • Joins tell you when they multiply rows. Rows before, rows after, and the multiplication factor in red in the preview, before you apply anything
  • Explainability is built in. Permutation importance, partial dependence, a what-if simulator, the minimal change that flips a class, the path through a tree, the neighbours of a kNN, the equation of a linear model
  • Re-running is instant. Re-plug the head of a chain and re-run everything: nine transformations in 0.05 s on a dataset that just grew from 8 902 to 11 128 rows
  • Some things are simply easier. Weekday extraction is a checkbox where Orange needs a Python script; Haversine distance, quantile binning and threshold categorisation are shipped transformations; a sealed test set is a padlock

What Orange still does better

  • The widget library. Orange has hundreds of widgets and a live add-on ecosystem; rakoon-ds has 26 transformations, 22 algorithms and 15 chart types. The coverage is deliberate and it is narrower
  • Scraping. Orange has widgets for it. rakoon-ds does not scrape, so session 10 is a Python session followed by a CSV import. We think that boundary is the right one, and it is still a boundary
  • Image analytics and text mining. Orange has embeddings, image import, corpus widgets and topic modelling. rakoon-ds has none of it, and no deep learning
  • Some hyperparameters are missing. The random forest exposes the number of trees and the maximum depth, not max_features or min_samples_split. An exam screenshot that sets them cannot be reproduced
  • No cumulative distribution chart, and no readable difference between two dates in days: both are asked by real exam subjects, and both need a workaround
  • The graph becomes unreadable past about fifty nodes. A four-hour exam produces seventy to a hundred, and the layout stacks them in one column. It is the first thing to fix
  • Desktop control. Orange runs on your machine with your data and your Python. A hosted studio is a shared instance: two deep forests are enough to occupy a gigabyte of disk and push the server to 2.7 GB of memory
  • Language. Orange is fully in English. rakoon-ds translates its interface into four languages but serves its registry, its journal and its mission check labels in French, which an English-language course has to work around

The honest summary: Orange is a wider toolbox, rakoon-ds is a better classroom. It removes the install, the version drift and the screenshot deliverable, and it makes the three habits this course is really about (a baseline, a checked join, an honest split) the path of least resistance rather than a lecture.

Open the rakoon-ds studio

All fifteen practical works

Each sheet carries its objectives, its data, its timed steps, its deliverables and its mission

PW 1

Explore the Titanic

Five questions, five charts, one quality report and the first blocks of a written report

PW 2

Prepare the California fires

Constant columns, identifiers, dates into features, and two ways a score can lie to you

PW 3

Countries from a REST API

Paginated XML with XPath, a JSON array, and a join checked on its row count

PW 4

Enrich with weather and holidays

A three-key join, a holiday flag, a Haversine distance, and an honest verdict on the gain

PW 5

Mini exam

A sealed test set, a baseline, two models, one badly predicted individual, one report

PW 6

Data quality in depth

Missing patterns, 240 duplicates worth ten points, and the leak no detector catches

PW 7

Feature engineering

Calendar parts, sine and cosine encodings, bins, interactions, and which of them paid

PW 8

Temporal splits

The same model twice, 27 points of R2 apart, and the honest number reported first

PW 9

Geospatial data

Maps and their sampling, great-circle distances, and joins by territory

PW 10

Scrape, then analyse

A paginated scraper in Python, 1 000 books, and everything after that with clicks

PW 11

Understanding a model

Importance, dependence, simulation, minimal change, and 150 words without jargon

PW 12

Diagnosing and tuning

Learning curve, cross-validation, validation curve, grid search, coach and model card

PW 13

Reporting

Seven sections, poured blocks, the automatic journal, and a cross-review checklist

PW 14

Case study, part 1

EPITA 2026, tasks 1 to 8: 258 902 items, four joins, and a leak to avoid

PW 15

Case study, part 2

Tasks 9 to 14, the hand-in, and the debrief against the Orange version