Most Python courses are built for someone who can hold a 45-minute lecture in working memory, sit through it without a reward, and then apply it cold in an exercise at the end. That design assumption breaks down fast for an ADHD brain, and it breaks down quietly — you don't fail the course, you just quietly stop opening it. PyLearnXP was built around a different assumption: working memory is a limited, fluctuating resource, and the curriculum's job is to never ask for more of it than a bad-focus day can supply.La plupart des cours de Python sont conçus pour quelqu'un capable de retenir un exposé de 45 minutes en mémoire de travail, de le suivre sans récompense intermédiaire, puis d'appliquer la matière à froid dans un exercice final. Cette hypothèse de conception s'effondre rapidement avec un cerveau TDAH — et elle s'effondre en silence : on n'échoue pas le cours, on cesse simplement de l'ouvrir. PyLearnXP repose sur une hypothèse différente : la mémoire de travail est une ressource limitée et fluctuante, et le rôle du curriculum est de ne jamais en exiger plus qu'une mauvaise journée de concentration ne peut fournir.
The working memory problemLe problème de la mémoire de travail
Working memory holds a handful of items at once, and every task switch costs something to reload. A standard lesson that mixes new syntax, a worked example, and an open-ended exercise forces three context loads in a row. If attention drops mid-lesson — which, for ADHD, is not an edge case, it's the baseline — the learner loses the thread and has to restart the whole chain from scratch. The fix isn't more willpower. It's shrinking the chain so a dropped thread costs seconds, not the whole session.La mémoire de travail ne retient qu'une poignée d'éléments à la fois, et chaque changement de tâche impose un coût de rechargement. Une leçon standard qui mélange nouvelle syntaxe, exemple commenté et exercice ouvert impose trois chargements de contexte à la suite. Si l'attention décroche en cours de route — ce qui, pour un cerveau TDAH, n'est pas l'exception mais la norme — l'apprenant perd le fil et doit repartir de zéro. La solution n'est pas plus de volonté. C'est de raccourcir la chaîne pour qu'un fil perdu ne coûte que quelques secondes, pas toute la séance.
Module to Lesson to Tier structureStructure Module vers Leçon vers Niveau
Click to zoomCliquer pour zoomer
Task decomposition in practiceLa décomposition des tâches en pratique
PyLearnXP is 28 modules, 75 lessons, 225 exercises — 25 modules are live today, each broken into exactly three lessons: two content lessons and one "Make it stick" recap, with the rest still on the roadmap. That ratio isn't arbitrary. The recap isn't new material; it's the same concept re-approached from a different angle, which does two jobs at once. It reinforces retention — spaced, varied repetition beats a single long exposure — and it gives the learner a lower-stakes lesson to land on if the two content lessons already used up their focus budget for the day.PyLearnXP compte 28 modules, 75 leçons, 225 exercices — 25 modules sont déjà en ligne, chacun découpé en exactement trois leçons : deux leçons de contenu et une leçon de récapitulation « Ancrage », le reste étant encore sur la feuille de route. Ce ratio n'est pas arbitraire. Le récap n'apporte pas de nouvelle matière ; il reprend le même concept sous un angle différent, ce qui remplit deux fonctions à la fois. Il renforce la rétention — une répétition espacée et variée bat une seule exposition prolongée — et il offre à l'apprenant une leçon à moindre enjeu où atterrir si les deux leçons de contenu ont déjà épuisé le budget d'attention du jour.
Why three lessons per module, not onePourquoi trois leçons par module, pas une seule
- A single long module invites all-or-nothing sessions: you either finish it or the progress feels lost
- Three short lessons create three natural stopping points, each one a complete, bookable unit
- Each lesson maps to roughly one sitting, so "just do one more lesson" is a realistic offer, not a lie
- The recap lesson resurfaces the concept without requiring the learner to remember they need to review it
- Un module long unique favorise les séances tout-ou-rien : soit on le termine, soit la progression semble perdue
- Trois courtes leçons créent trois points d'arrêt naturels, chacun étant une unité complète et « refermable »
- Chaque leçon correspond à peu près à une séance, donc « encore une leçon » reste une offre réaliste, pas un mensonge
- La leçon de récap refait surface le concept sans exiger que l'apprenant se souvienne qu'il doit réviser
Three tiers, zero gatingTrois paliers, aucun verrouillage
Every one of the 225 exercises ships with three difficulty tiers, shown as tabs, all visible at once, none of them locked. Guided is scaffolded — most of the code is already there and the learner completes the ending. Debug & Build is the standard tier: a bug is planted in working code plus a section is left blank to write. Challenge hands over a blank editor and the spec, nothing else. The tabs sit side by side before you start, and switching between them mid-exercise costs nothing — no progress bar resets, no badge withheld, no message implying you took the easy way out.Chacun des 225 exercices propose trois paliers de difficulté, affichés en onglets, tous visibles d'emblée, aucun verrouillé. Guidé est échafaudé — la majeure partie du code est déjà écrite, l'apprenant complète la fin. Déboguer et construire est le palier standard : un bug est glissé dans du code fonctionnel, plus une section est à écrire. Défi ne donne qu'un éditeur vide et l'énoncé, rien d'autre. Les onglets sont côte à côte avant même de commencer, et changer de palier en cours d'exercice ne coûte rien — aucune barre de progression réinitialisée, aucun badge retenu, aucun message sous-entendant qu'on a pris le chemin facile.
Traditional flow versus PyLearnXP flowParcours traditionnel contre parcours PyLearnXP
Click to zoomCliquer pour zoomer
Removing the task-switching taxSupprimer la taxe du changement de tâche
Task-switching has a real cost even for neurotypical learners; for ADHD it's steeper and harder to recover from. Two places this shows up in most online courses: switching from a reading tab to a separate code editor tab, and waiting on a remote execution environment to spin up or return output. PyLearnXP removes both. The layout is a fixed split pane — lesson content on the left, editor and output on the right, always visible together, no tab-switching between "reading" and "doing." Code execution runs through Pyodide, CPython compiled to WebAssembly, inside a Web Worker in the browser itself. There's no API call, no server round trip, no setup step, and the interface never freezes while code runs. Feedback on whether an exercise passed arrives instantly, which matters more for ADHD than it sounds — a delayed reward loop is a much weaker reward loop.Le changement de tâche a un coût réel même pour un apprenant neurotypique ; pour le TDAH, ce coût est plus élevé et plus difficile à récupérer. Deux endroits où cela se manifeste dans la plupart des cours en ligne : basculer d'un onglet de lecture vers un éditeur de code séparé, et attendre qu'un environnement d'exécution distant démarre ou renvoie un résultat. PyLearnXP élimine les deux. La mise en page est un double panneau fixe — le contenu de la leçon à gauche, l'éditeur et la sortie à droite, toujours visibles ensemble, sans basculer entre « lire » et « faire ». L'exécution du code passe par Pyodide, CPython compilé en WebAssembly, dans un Web Worker directement dans le navigateur. Aucun appel API, aucun aller-retour serveur, aucune étape d'installation, et l'interface ne gèle jamais pendant l'exécution. La rétroaction sur la réussite d'un exercice arrive instantanément, ce qui compte plus pour le TDAH qu'il n'y paraît — une boucle de récompense différée est une boucle de récompense bien plus faible.
A reward loop that stays honestUne boucle de récompense qui reste honnête
PyLearnXP uses XP, streaks, eight badges, and confetti on a passed exercise — standard dopamine-loop mechanics, and deliberately so. The reward is tied to the smallest completable unit, one exercise, not to finishing a whole module. An optional Pomodoro timer (25 minutes on, 5 off) sits in a corner for anyone who wants externally imposed structure, but it never blocks content and it's opt-in, not a nag screen. None of this is decoration bolted onto a conventional course. It's the same working-memory logic applied to motivation: small, immediate, visible payoffs instead of one deferred reward at the end of a long unit.PyLearnXP utilise des points d'expérience, des séries, huit badges et des confettis à la réussite d'un exercice — une mécanique de boucle dopaminergique standard, et délibérément assumée. La récompense est liée à la plus petite unité complétable, un exercice, pas à la fin d'un module entier. Un minuteur Pomodoro optionnel (25 minutes actives, 5 de pause) se loge dans un coin pour qui veut une structure imposée de l'extérieur, mais il ne bloque jamais le contenu et reste facultatif, pas un rappel insistant. Rien de tout cela n'est un décor ajouté à un cours conventionnel. C'est la même logique de mémoire de travail appliquée à la motivation : de petites récompenses immédiates et visibles plutôt qu'une seule récompense différée à la fin d'une longue unité.
Progress that never makes you waitUne progression qui ne fait jamais attendre
Losing momentum to a save spinner is a small thing that adds up to a real dropout risk for ADHD learners, because "let me finish this thought" is exactly the moment an interruption derails the session. PyLearnXP saves progress to localStorage instantly — works offline, zero lag — and syncs to the cloud in the background on a debounce, only when logged in. The backend is AWS Lambda and DynamoDB on the free tier, which means progress carries across devices: start a module on a desktop at home, pick up the recap lesson on a phone later. Password reset uses one-time recovery codes instead of an email verification loop, for the same reason everything else here exists — fewer steps between wanting to continue and actually continuing.Perdre son élan à cause d'un indicateur de sauvegarde est un détail qui, cumulé, représente un vrai risque de décrochage pour un apprenant TDAH, parce que « laisse-moi finir cette pensée » est exactement le moment où une interruption fait dérailler la séance. PyLearnXP sauvegarde la progression instantanément dans le localStorage — fonctionne hors ligne, sans latence — et se synchronise avec le nuage en arrière-plan, avec un délai anti-rebond, uniquement si connecté. Le backend repose sur AWS Lambda et DynamoDB en palier gratuit, ce qui permet à la progression de suivre l'apprenant d'un appareil à l'autre : commencer un module sur un ordinateur à la maison, reprendre la leçon de récap plus tard sur un téléphone. La réinitialisation du mot de passe utilise des codes de récupération à usage unique plutôt qu'une boucle de vérification par courriel, pour la même raison que tout le reste ici existe : moins d'étapes entre l'envie de continuer et le fait de continuer réellement.
Split-pane editor with instant feedback loopÉditeur en deux volets avec boucle de rétroaction instantanée
Click to zoomCliquer pour zoomer
Built by someone who needed the bridgeConstruit par quelqu'un qui avait besoin du pont
PyLearnXP was built while learning Python from scratch and job-hunting. The problem was a gap, not a difficulty curve: material either stayed shallow forever, or jumped straight to "senior engineer" territory with no bridge in between. Generic course formats also just didn't hold attention long enough to matter — which is the same failure mode this whole curriculum is built to route around. The curriculum spans variables and conditionals through OOP, testing, databases, web scraping, decorators and generators, git basics, and real automation and API projects, with a cheat-sheet reference module for when you just need the syntax back.PyLearnXP a été construit en apprenant Python à partir de zéro, en pleine recherche d'emploi. Le problème n'était pas une courbe de difficulté, mais une lacune : la matière restait éternellement superficielle, ou sautait directement au niveau « ingénieur senior » sans pont entre les deux. Les formats de cours génériques ne retenaient pas non plus l'attention assez longtemps pour être utiles — exactement le mode d'échec que tout ce curriculum est conçu pour contourner. Le programme couvre les variables et les conditions jusqu'à la POO, les tests, les bases de données, le web scraping, les décorateurs et générateurs, les bases de git, et de vrais projets d'automatisation et d'API, avec un module de référence type aide-mémoire pour quand on a juste besoin de retrouver la syntaxe.
The whole curriculum is live now at https://proofofboredom.com/learn — 28 modules, 75 lessons, 225 exercises, no account required to try the first module, and the three-tier system means there's no wrong day to start.L'ensemble du curriculum est en ligne dès maintenant à l'adresse https://proofofboredom.com/learn — 28 modules, 75 leçons, 225 exercices, aucun compte requis pour essayer le premier module, et le système à trois paliers fait qu'il n'y a pas de mauvais jour pour commencer.