# CodeTrain, the whole public site Generated from https://codetrain.ai. Every section below is one page, in the order it appears in https://codetrain.ai/sitemap.xml. The short version, with a when-to-use section, is https://codetrain.ai/llms.txt. [CodeTrain](https://codetrain.ai/) / Docs # CodeTrain documentation Everything published about how CodeTrain works, in one place. Pick the section that matches what you are doing. ## Using the product - [The homepage](https://codetrain.ai/) runs a real lesson in the browser with no account. It is the fastest way to see what a step looks like and what happens when your code does not pass. - [The course catalog](https://codetrain.ai/learn/) lists every curated course and class. These are the starting point rather than the product: the tutor writes a lesson on any topic you name, or on any public repository you paste. - [How the Socratic method works here](https://codetrain.ai/learn/socratic-method/) is the exact contract the tutor keeps, quoted from the code that enforces it. - [Learning an unfamiliar codebase](https://codetrain.ai/learn/understand-a-codebase/) covers repo mode and what it refuses to read. ## Building against CodeTrain - [Developer API](https://codetrain.ai/developers/): the public REST endpoints, rate-limit headers, the versioning policy, and how to install the command line tool. - [/llms.txt](https://codetrain.ai/llms.txt): when to reach for CodeTrain, and every page as markdown. Read this first if you are an agent. - Any page on this site serves markdown to a client that asks for it with `Accept: text/markdown`. ## Trust and data - [Security and data handling](https://codetrain.ai/security): where your code goes, what is stored, and how to report a vulnerability. - [Privacy policy](https://codetrain.ai/privacy): what we collect and how to have it deleted. - [Terms of service](https://codetrain.ai/terms). - [About CodeTrain](https://codetrain.ai/about/) and [how to reach a person](https://codetrain.ai/contact/). ## What is changing - [Changelog](https://codetrain.ai/changelog/): what shipped and when, newest first. - [Roadmap](https://codetrain.ai/roadmap/): what is being built, what is next, and what we are still thinking about. Shipped items link to the changelog entry that proves it. - [Comparisons](https://codetrain.ai/compare/): how CodeTrain differs from coding assistants, AI course builders, chatbot study modes and traditional course platforms. - [Conductor Network](https://codetrain.ai/conductors/): the referral programme and how payouts work. [Start free](https://codetrain.ai/app/) [Developer API](https://codetrain.ai/developers/) --- Source: https://codetrain.ai/docs/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Developers # CodeTrain developer API A public, read-only HTTP API over the CodeTrain course catalog, changelog and roadmap. No account, no key, no signup. Base URL `https://api.codetrain.ai`. ## Quickstart ``` $ curl -s https://api.codetrain.ai/v1/catalog ``` That is the whole setup. Every endpoint below is a `GET`, returns JSON, and needs no credentials. If you would rather read prose than JSON, every page on this site also serves markdown: ask for it with `Accept: text/markdown`. ``` $ curl -s -H "Accept: text/markdown" https://codetrain.ai/learn/ ``` ## Endpoints | Method | Path | Returns | | --- | --- | --- | | `GET` | `/v1/health` | Liveness and the current API version. | | `GET` | `/v1/catalog` | Every published course, its classes and their lessons. | | `GET` | `/v1/courses/{course_id}` | One course with its live classes. | | `GET` | `/v1/lessons/{lesson_id}` | Metadata for one curated lesson: title, blurb, language and step count. Never the step content, because writing the steps is what the learner is here to do. | | `GET` | `/v1/changelog` | What shipped, newest first. The same entries as /changelog/. | | `GET` | `/v1/roadmap` | Roadmap items grouped by stage. The same data as /roadmap/. | | `GET` | `/v1/referrals/{code}` | Whether a Conductor Network referral code belongs to somebody. A bare boolean and nothing else: no name, no id. | ## Each endpoint in full ### `GET /v1/health` Liveness and the current API version. ``` $ curl -s https://api.codetrain.ai/v1/health {"status": "ok", "version": "v1"} ``` ### `GET /v1/catalog` Every published course, its classes and their lessons. ``` $ curl -s https://api.codetrain.ai/v1/catalog {"courses": [{"id": "python-intro", "title": "...", "classes": [...]}]} ``` ### `GET /v1/courses/{course_id}` One course with its live classes. ``` $ curl -s https://api.codetrain.ai/v1/courses/python-intro {"id": "python-intro", "title": "...", "classes": [...]} ``` ### `GET /v1/lessons/{lesson_id}` Metadata for one curated lesson: title, blurb, language and step count. Never the step content, because writing the steps is what the learner is here to do. ``` $ curl -s https://api.codetrain.ai/v1/lessons/python-basics {"id": "python-basics", "title": "...", "lang": "python", "steps": 4} ``` ### `GET /v1/changelog` What shipped, newest first. The same entries as /changelog/. ``` $ curl -s https://api.codetrain.ai/v1/changelog {"entries": [{"id": "tutor-examples-2026-08-28", "date": "2026-08-28", "kind": "feature"}]} ``` ### `GET /v1/roadmap` Roadmap items grouped by stage. The same data as /roadmap/. ``` $ curl -s https://api.codetrain.ai/v1/roadmap {"stages": [{"key": "shipped", "label": "Shipped", "items": [...]}]} ``` ### `GET /v1/referrals/{code}` Whether a Conductor Network referral code belongs to somebody. A bare boolean and nothing else: no name, no id. ``` $ curl -s https://api.codetrain.ai/v1/referrals/ada {"valid": true} ``` ## Authentication The `/v1` endpoints listed above need none. Everything they return is already published as a web page on this domain, so putting a key in front of it would protect nothing and stop an agent reading it. CodeTrain does have an authenticated API behind the dashboard and the CLI, and it is **not part of this public contract**. It is versioned separately, changes without notice, and is not documented here on purpose: it is an implementation detail of our own clients rather than an integration surface. If you need something from it, write to [support@codetrain.ai](mailto:support@codetrain.ai) and tell us the job you are trying to do, and we will either add it to `/v1` or explain why not. ## Rate limits Read endpoints allow **120 requests per minute per IP address**. The referral lookup allows **60 per hour per IP address**, because it answers a question about real people to a stranger. Every response carries the current state of your budget, so a client can slow down before it is refused rather than after: | Header | Meaning | | --- | --- | | `RateLimit-Limit` | Requests allowed in the current window. | | `RateLimit-Remaining` | Requests left in the current window. | | `RateLimit-Reset` | Seconds until the window resets. | | `RateLimit-Policy` | The window itself, for example `120;w=60`. | | `Retry-After` | Sent only with a `429`. Seconds to wait. Honour this one and you will not see another 429. | ## Versioning and deprecation - The major version is in the path. `/v1` is the only version today. - **Additive changes ship without a version bump.** New endpoints and new fields on an existing response can appear at any time, so parse defensively and ignore what you do not recognise. - Nothing is removed or renamed inside a version. A breaking change means `/v2`, and `/v1` keeps working. - When an endpoint is on its way out it answers with a `Deprecation` header and a `Sunset` header giving the date it stops. The gap is **at least 90 days**, and the same notice goes in the [changelog](https://codetrain.ai/changelog/). - Errors are JSON with a `detail` string and a real HTTP status. A missing course or lesson is a `404`, never a `200` with an empty body. ## Command line The CodeTrain CLI runs the tutor locally and serves its own interface on `127.0.0.1`. Install it either way round: ``` $ pip install codetrain-cli $ curl -fsSL https://codetrain.ai/install.sh | sh ``` Both put the agent in the same place and install the same launcher, so it does not matter which you pick, and using both does no harm. It keeps itself current: once a day it checks whether the published bundle changed and replaces its own copy if it did. There is nothing to reinstall to get a newer agent. Four commands need no account at all, which makes them safe for a script to call before anything is set up: ``` $ codetrain doctor # is the service up, is this install healthy. --json, exit 0 or 1 $ codetrain version # installed agent bundle against the published one $ codetrain catalog # the curated courses $ codetrain update # fetch the newest bundle now ``` The installer checks the bundle against a published SHA-256 before it unpacks anything. The bundle and its checksum are at [/dist/codetrain-agent.tar.gz](https://codetrain.ai/dist/codetrain-agent.tar.gz). The CLI needs Python and nothing else, and it talks to `https://api.codetrain.ai` by default. It keeps itself current. Once a day it checks whether the published bundle has changed, and replaces its own copy if it has, verifying the checksum the same way the installer does. To force it, run `codetrain update`. To switch it off, set `CODETRAIN_NO_UPDATE=1` and update by hand. ## Machine-readable - [OpenAPI 3.1 document](https://api.codetrain.ai/openapi.json) for the public API. - [Interactive reference](https://api.codetrain.ai/docs), generated from the same document. - [/llms.txt](https://codetrain.ai/llms.txt), which says when to reach for CodeTrain and links every page in markdown. - [/llms-full.txt](https://codetrain.ai/llms-full.txt), the whole public site as one markdown file. - [/sitemap.xml](https://codetrain.ai/sitemap.xml) for the canonical URL list. [Open the API reference](https://api.codetrain.ai/docs) [All documentation](https://codetrain.ai/docs/) --- Source: https://codetrain.ai/developers/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / About # About CodeTrain CodeTrain is a Socratic AI coding tutor for engineering teams. It teaches a developer on the codebase they actually work in, and it never writes their code for them. ## What the product does You point CodeTrain at a task, a topic or a repository. It breaks the work into small steps, explains the part you need before you attempt it, and then asks you to write the code. Each step runs. If it does not pass, the step does not advance, and the tutor asks a question instead of handing over the answer. At the end you have a record of which steps you wrote unaided, which is a different thing from a completion percentage. The reason it works this way is narrow and it is the whole product. An assistant that writes the code produces working code and no new skill. A team that ships code nobody on it can explain has a problem that shows up months later, in review, in an incident, or when the person who prompted the change leaves. CodeTrain is built for the opposite outcome: slower on the first task, and the engineer can do the second one. ## Who builds it CodeTrain is built by [InferHaven](https://inferhaven.com), an independent software company in Michigan, United States. CodeTrain is the product; InferHaven is the company behind it. The team is small and the product is in beta, which is stated on every page rather than buried, because a team deciding whether to put their engineers on this deserves to know how young it is. ## Three things we will not do - We will not write the learner's code. The tutor may quote your own code, your run output and the wording of the step, and there is a code guard sitting on top of that rule, so a snippet you could paste and pass with is removed before it reaches you. - We will not report progress we did not measure. A skill is solid, under review, or being learned, and there is no "not started" state at all: reporting one needs a fixed list of concepts to subtract from, and ours grows out of what you actually do. A receipt with nothing assessable on it says exactly that instead of showing a zero. - We will not send your prompts or your code to our error tracker. Stack frame locals are switched off at the client rather than filtered somewhere downstream. The full data handling story is on the [security page](https://codetrain.ai/security), and what we collect is in the [privacy policy](https://codetrain.ai/privacy). ## Talk to us Support, sales, security reports and press all have addresses on the [contact page](https://codetrain.ai/contact/). If you want to see the product before you talk to anybody, there is a lesson running on the [homepage](https://codetrain.ai/) that needs no account. [Start free](https://codetrain.ai/app/) [Read the docs](https://codetrain.ai/docs/) --- Source: https://codetrain.ai/about/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Contact # Contact CodeTrain Every address below is read by a person. There is no contact form, because a form gives you no copy of what you sent and no address to follow up on. ## Where to write | Address | Use it for | | --- | --- | | [support@codetrain.ai](mailto:support@codetrain.ai) | Anything about using the product: a lesson that misbehaved, billing, your account, a feature you wish existed. | | [sales@codetrain.ai](mailto:sales@codetrain.ai) | Team plans, pilots, invoicing, purchase orders, and questions about seats. | | [security@codetrain.ai](mailto:security@codetrain.ai) | Vulnerability reports and anything you would rather not put in a public issue. Disclosure terms are on the [security page](https://codetrain.ai/security). | | [privacy@codetrain.ai](mailto:privacy@codetrain.ai) | Data access, correction and deletion requests, and questions about the [privacy policy](https://codetrain.ai/privacy). | We are a small team and we are not going to publish a response time we cannot promise on a bad week. What we will say is that these are real inboxes a person reads, not a ticket queue, and that security@ is the one we watch most closely. ## The company CodeTrain is a product of InferHaven, an independent software company. - **CodeTrain by InferHaven** - PO Box 145 - Bessemer, MI 49911 - United States - [https://codetrain.ai](https://codetrain.ai/) - [https://inferhaven.com](https://inferhaven.com) A post office box rather than a street, because we work remotely and there is no office to turn up at. It is the same address on the bottom of any email we send you, and post sent to it does reach us. Email is faster by days. ## If you are an agent or a script Machine-readable contact details are in the Organization schema on the [homepage](https://codetrain.ai/) and repeated on the [about page](https://codetrain.ai/about/). For programmatic access to the catalog, the changelog and the roadmap, use the [public API](https://codetrain.ai/developers/) rather than scraping these pages, and read [llms.txt](https://codetrain.ai/llms.txt) first. [Email support](mailto:support@codetrain.ai) [Developer API](https://codetrain.ai/developers/) --- Source: https://codetrain.ai/contact/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Roadmap # Roadmap What has shipped since launch, what is being built right now, and what is being considered. Shipped items carry the date they reached production. Nothing ahead of today carries a date, because promising one would be guessing. ## CodeTrain launches July 2026 A Socratic coding tutor that refuses to write your code for you, released as a free open-source skill, a local agent and a managed tutor in the browser. Since launch9 Live for everyone, free tier included unless noted. ### ▸The course mapCoursesJul 2026 Courses became lines, classes became stops and lessons became steps along them, so it is obvious what follows what instead of being a flat list of topics. ### ▸How LLMs Actually WorkCoursesJul 2026 Four classes and eighteen lessons building a working transformer in pure NumPy, with live demos for tokenisation and attention rather than diagrams of them. ### ▸Lessons from any public repo, freeYour codeJul 2026 Point the free tier at a public repository and the lesson is built from the code that is actually in it. Secrets and gitignored files are never read. ### ▸Competency receiptsTeamsJul 2026 A record of what someone wrote unaided, for onboarding sign-off. It reports no data as no data and never as a zero, because it is a claim about a real person. ### ▸Spaced reviewLearningJul 2026 Concepts you got stuck on come back at widening intervals, as a fresh drill built from what you got wrong rather than a replay of the lesson. ### ▸A guided first lessonGetting startedAug 2026 The first lesson is on us and walks through the screen as you go, so nobody has to work out what a Socratic tutor wants from a blank editor. ### ▸Concepts that say what is solidLearningAug 2026 Progress splits what you have practised into due for review, still learning and solid. There is deliberately no not-yet-started: we would have to invent a syllabus you never chose in order to report it. ### ▸Try a lesson without an accountGetting startedAug 2026 A real lesson on the front page: real editor, real execution in your browser, real checks, and a tutor whose replies are written in advance and labelled as such. Asked for by testers who wanted to feel the product before signing up. ### ▸The Conductor NetworkGetting startedAug 2026 Every account has a link, free tier included. You earn a fifth of the plan price for anyone who joins through it, every month they keep paying, and five people on Pro covers a plan of your own. Bring more and the rate rises. When they stop paying, so does the earning, and the dashboard shows you that the day it happens. You are here Building now2 Actively in progress. ### ▸Public roadmap and changelogTrust This page, and a changelog at /changelog/ carrying every release note. Both are generated from the same source the in-app What's New card reads, so they cannot drift from what actually shipped. ### ▸Real-world lesson examplesYour code Worked examples on the marketing site showing what CodeTrain pulls out of recognisable open-source repositories, quoted from actual runs rather than written to look good. Next3 Committed, not started. Order is roughly the order they will land in. ### ▸Skill progression you can seeLearning Streaks, levels and a sense of a concept getting stronger over time, built on the existing review schedule. One definition of solid across the learner view and the team dashboard, so gamification cannot quietly invent a second one. ### ▸An architecture and security pageTrust A diagram of what crosses which boundary: what stays on 127.0.0.1 with the open agent, what the managed tutor sends and where, and what the sandbox host runs. The answer already exists in the privacy policy; it deserves a picture. ### ▸The Backend, Web and Data coursesCourses Three lines already showing as coming soon on the course map: SQL, APIs and Git; HTML, CSS and the DOM; pandas and analysis. Exploring4 Wanted, and not yet proven worth the complexity. Say so if one of these is the thing standing between you and using CodeTrain. ### ▸Conductors who teach, and conductors who helpTeams The Conductor Network has one track today: you share CodeTrain and earn a share of what the people you bring in pay. Two more are wanted and neither is designed yet. An educator track, so a teacher can bring a class into a real environment and see how they are actually doing rather than whether they submitted. And a community track, for the people who answer questions and keep others going, which is work that deserves the same recognition as bringing somebody in. Say so if you would use either, because that is what decides which gets built. ### ▸CI and test-suite integrationTeams Raised by testers: have CodeTrain meet the code where it already runs. A check that turns a pull request into a lesson for whoever is about to review it, or a failing suite into a drill on the thing that broke. It would share the repo reading that repo mode already does, and feed the onboarding journeys a Team lead can already build today. ### ▸Lessons that involve a networkCourses Every runtime today is deliberately offline, which is why a free lesson costs nothing to run and why nothing a learner writes can call out. That also rules out a whole category worth teaching: sessions and cookies, retries and timeouts, status codes, and the kind of device and connectivity work an operations team onboards people into. The likely shape is endpoints we serve ourselves that behave like the real thing, so a lesson stays reproducible and offline-safe rather than depending on somebody else's uptime. Wanted, not yet designed. ### ▸A status pageTrust Honestly deferred rather than planned. An all-green status page with no monitoring behind it is decoration, so this waits until there is real uptime history worth publishing. The line keeps going. If something you need is missing from it, [say so](mailto:hello@codetrain.ai) and it gets considered on the spot. There are few enough people using this that one email genuinely moves the order. ## Every release, in full This page is the shape of things. The [changelog](https://codetrain.ai/changelog/) is the detail: every user-facing change since launch, newest first, the same notes that appear in the product. [Start free, no card](https://codetrain.ai/app/)[Read the changelog](https://codetrain.ai/changelog/) --- Source: https://codetrain.ai/roadmap/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Conductors # The CodeTrain Conductor Network The Conductor Network is the backbone of community growth for CodeTrain, built on the developers already using it. Right now that means the referral rewards system on this page. It is still being shaped and is planned to be much more. ## What you earn Share CodeTrain and earn a share of everything we collect from the people who join through you, every month they keep paying. On Pro that is $4.80 each, so 5 of them covers a $24 plan of your own and you stop paying for CodeTrain. Past that it is cash. Bring more and the rate goes up. You earn from their *first* payment. The 20% welcome discount your link gives them comes out of our side, not yours, so a referral is worth the same $4.80 to you in month one as in month twelve. | People paying through you | Your rate | Per Pro referral | | --- | --- | --- | | 1 to 10 | 20% | $4.80 a month | | 11 to 25 | 22.5% | $5.40 a month | | 26 and up | 25% | $6.00 a month | A team counts for what a team is worth. One referred team of twenty seats is $128.00 a month, not one referral. ## What you should know Your rate follows how many of your referrals are *currently* paying, so it moves in both directions, and somebody who cancels stops earning you anything from that month. Your dashboard shows you the day it happens rather than leaving you to notice a smaller number. If one of the people you brought in earns their own free plan, you keep earning from them at the rate you already had. Recruiting somebody that good should not cost you. Cash payouts are not switched on yet. Your balance is real and it accrues from the first person who joins, and until payouts open your earnings come off your own bill. When they open, each one waits 60 days so a refund can be reversed first, and the threshold is $50. Both are ordinary for this kind of programme and you should read them here rather than find them later. Moving money costs something, and we pass that on at cost rather than marking it up. Stripe charges 0.25% plus 25¢ to send a payout to your bank, and $2 a month for each account it pays out to. On a $50 cash-out that comes to $2.37. The $2 is charged per month rather than per payout, so a second cash-out in the same month costs $0.37. Your dashboard shows you the fee and what will actually land before you press anything. These are Stripe's charges for moving the money and we do not add to them. ## Getting a link Every account has one, free tier included, and you pick what it says. Keep it short enough to say out loud. You are more likely to say it than to send it. [Get your link](https://codetrain.ai/app/#referrals)[See what CodeTrain does first](https://codetrain.ai/) --- Source: https://codetrain.ai/conductors/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Changelog # Changelog Every user-facing change since launch, newest first. These are the same notes that show up on your dashboard, so nothing here is written for the website. Aug 28, 2026feature ### The tutor can show you an example again The tutor has always refused to write your line for you, and it still does. What it was also doing was deleting any example at all: ask how to create an object and the reply came back as prose full of gaps, because the check counted names rather than asking whether the code had anything to do with your step. It now holds back only a line that writes the step you are on. An example built on names your task never mentions reaches you whole. When something is held back, it is no longer deleted either: the reply carries it behind a click, so you can read it if you decide you want it. And a reply that passes your step is no longer checked against the step you just finished, so the tutor can tell you what you could have written instead. Aug 26, 2026feature ### Donated lessons now show up on the public course pages When somebody donates a lesson and it is accepted, it joins a class in one of the courses. Until now it only appeared once you were signed in, because the public course pages, the class lesson counts and the sitemap were built from a separate list that never learned about it. They are now built from the same set of lessons the app serves. An accepted lesson is visible to anybody browsing the courses, including a whole course created by a donation, which previously had no public page at all. If you have contributed a lesson, it is on the site. Aug 26, 2026feature ### Repo lessons now pick a language that can actually run them Two things changed about lessons built from a repository URL. The language is now chosen from what is actually in the repo and what you asked to learn, instead of the single language GitHub tags the project with. If you point at a JavaScript project and ask about its build scripts, you get bash. Second, a lesson can no longer ask you to import something that is not there. Lessons about a library used to reach for the library itself, which cannot work in a browser tab with no package manager, so you would write the step correctly and still watch it fail. The tutor now teaches the idea the library implements, in plain code, checked against that project's own source, and it says which file it is modelling the step on. Aug 26, 2026feature ### pip install codetrain-cli, and the CLI now updates itself You can install the CodeTrain CLI with pip now: pip install codetrain-cli. The curl installer still works and both put the agent in the same place, so it does not matter which you use and using both does no harm. The bigger change is that it stays current on its own. Once a day it checks whether a newer agent has been published and replaces its own copy if so, which means you no longer sit on whatever version you happened to install. Run codetrain update to do it on the spot, or set CODETRAIN_NO_UPDATE=1 if you would rather it left you alone. Four commands need no account: codetrain doctor tells you whether the service is reachable and whether this machine is set up correctly, and it will tell you if your login has expired rather than assuming it still works. codetrain version, codetrain catalog and codetrain update round it out, and all of them take --json. Aug 26, 2026feature ### A public API, a developer portal, and every page in markdown You can now read CodeTrain from a script instead of a browser. The course catalog, the changelog and the roadmap are available at api.codetrain.ai/v1 with no key, no account and no signup, and every response tells you how much of the rate limit you have left so a client can slow itself down rather than get refused. The full reference is at codetrain.ai/developers/, including the versioning promise: nothing inside /v1 is ever removed or renamed, and anything on its way out gets at least 90 days of warning. Alongside it, every public page now serves markdown to anything that asks for it with an Accept header, which is what an AI assistant reading about CodeTrain will use. There is a documentation index at /docs/, an about page and a contact page with the addresses that reach a real person. Lesson content is deliberately not in the API: the steps are yours to write. Aug 25, 2026feature ### The CodeTrain Conductor Network is open There is a Referrals tab on your dashboard now with your Conductor link in it, free tier included. Anyone who joins through it gets 20% off their first three months, and you earn 20% of the plan price for as long as they stay. On Pro that is $4.80 a month each, so five of them covers a Pro plan of your own and you stop paying for CodeTrain. Bring more and the rate goes up: 22.5% past ten paying referrals, 25% past twenty-five. Anything above your own plan is yours in cash. Two things worth knowing before you start rather than after. Your rate follows how many of your referrals are currently paying, so it moves both ways, and somebody who stops paying stops earning you anything. The tab shows every referral and what it is worth to you this month, so you can see that the day it happens. If one of the people you brought in earns their own free plan, you keep earning from them at the rate you already had. Names stay hidden unless the person chooses to show theirs, and cash payouts are not switched on yet: your balance is real and it keeps accruing, and we will ask you for payout details before we owe you anything. Aug 25, 2026feature ### The tutor can no longer hand you the line You write every line. Twice that did not hold: someone asked for help on a failing check and got back a working replacement they could paste into the editor and pass. The rule the tutor works from only covered handing the answer over as a question, and neither of those was a question, so it is now enforced in code as well as asked for. Most replies will look the same as before. The tutor can still quote your own code back at you, show you what the runtime printed, and name the method or flag you should be looking at, and it can still sketch the shape of an answer with the answer taken out of it. What it can no longer do is write a working line you have not written. If it tries, that line is gone before you read the reply, and a note underneath tells you it was removed. This covers hints, anything you type into the ask box, and the local agent as well as the browser. Aug 15, 2026feature ### Your tutor now has a voice you can pick Someone told us they kept asking for hints not because the code was hard but because they could not tell what the step wanted. That is a writing problem, so the fix is in the writing. There is a Tutor voice setting on the study screen now, and it changes how lessons are worded as well as how your work is reviewed. Plain is the new default and it is exactly what it sounds like: short sentences, a term defined the first time it turns up, and a task you can act on without asking what it meant. If you want something else, Coach notices what improved since your last attempt, the Analogist reaches for an everyday comparison before it reaches for jargon, the Socratic hardliner answers almost nothing and just keeps asking, and the drill sergeant is as blunt as it sounds and will not pretend unfinished work is fine. OG model turns all of it off and leaves the model talking the way it normally does. Your pick is saved to your account, so the local agent uses it too. Aug 15, 2026feature ### The study screen finally says which box to type in The start screen had a topic box and a repo box stacked on top of each other, with the repo read-depth options showing underneath both of them even when you had not typed a repo. You had to read the placeholder text to work out which half of the page was yours. There is a switch at the top now, and it shows you one door at a time. Language, model, tutor voice, difficulty and guidance always applied to both doors, but they rendered below the repo box and read like repo settings, so they have moved into one Options group that stays out of the way until you open it. Popular topics and the full course map are still there under everything, always. The screen remembers which door you used last. Aug 15, 2026feature ### Lessons that use a library, and a tutor that knows what it can run Two things, and the second one is a bug we should have caught sooner. The rules about what each runtime can do were only ever shown to the model that writes a lesson, never to the one reviewing your code mid-lesson. So a tutor could walk you through requiring lodash in a browser runtime that has no module system at all, which is not something you could have done and was never your mistake. It has both halves of that now. If you do try an import in the browser runtime you get a sentence explaining there is no module system rather than a parser error about module declarations. And because some lessons really are about a library, there is a Node option that runs on the server where require works, with lodash and dayjs installed. The tutor is told exactly which packages exist, so it will not send you after one that does not. Aug 15, 2026feature ### Gemini keys, and the models a paid plan actually unlocks Bring-your-own-key now takes a Google Gemini API key alongside Anthropic, Amazon Bedrock, OpenRouter, Ollama and any OpenAI-compatible endpoint. The local agent takes one too. Google also renamed Vertex AI to the Gemini Enterprise Agent Platform, so that option is relabelled, and both entries now say which credential they want: the enterprise one runs Claude on your own Google Cloud project and needs service-account JSON, while a plain API key only ever works with Gemini. Separately, the model picker used to hide the experimental models from other labs unless you were already paying, which meant the one place you would naturally find out about them said nothing. They are listed for everyone now, marked as needing Pro. Aug 15, 2026feature ### See the name on your contributed lessons, and a form worth filling in The switch for putting your name on lessons you contribute governed a name you had never been shown and could not edit. It came from your sign-in once, at account creation, and often was not there at all, so plenty of people were turning on an attribution they could not predict. There is a name field beside the switch now, and a line under it showing the exact sentence a lesson will print, fallback included. Feedback got the same treatment from the other side: both the dashboard form and the report button inside a lesson start with a short template asking what you did, what you expected and what happened instead. Every line is editable and you can delete any of it. Switching between bug and feature never overwrites something you have already started typing. Aug 14, 2026feature ### The first lesson now walks with you instead of talking at you The first lesson used to open with five explanation boxes about the screen and then go quiet, which left you looking at a file of code with no particular reason to think pressing Run was the next move. It is a walkthrough now. Three short boxes cover the brief, the editor and the Run button, and after that it responds to what you actually do: it points at Run, then at the output once there is output to read, then it notices when you have written the line the step asked for and tells you to try it. What it says about your work comes from watching your code run, never from guessing, so it only sounds certain when it has seen the thing happen. If you go quiet for a minute it reminds you what the step wanted, and if you are still stuck it shows you where to ask. It is marked as a tutorial throughout, and there is a way to replay the tour if you skipped it. Aug 14, 2026feature ### The walkthrough now covers every first lesson, and knows when you are stuck Three things. The walkthrough used to live on one lesson, so whichever of the four starting lessons you picked decided how much help you got; all four now run the same way, worded for their own first step. It also waits for a finished line before it says anything, rather than piping up halfway through one being typed. And it watches what your runs actually do: run the code twice without getting there and it tells you what is still missing, and if that does not land it shows you where to ask, which is the one place it will explain the idea without writing the line. Milestones arrive as you go, so you can see how much of the lesson is behind you. Aug 13, 2026feature ### The tutor can draw you a picture Some things are hard to say in a paragraph and easy to see. Two changes. A lesson can now start a step with a small diagram of how the pieces relate, which file calls which, what happens in what order, which is the thing you most want when the codebase is new to you. And when you submit, the review can come back with a picture next to the words: a trace you step through frame by frame to watch each value change, or a side by side of what your code did against what the step asked for. The diagram at the top names the parts and never the answer, exactly like the explanation above it always has. The picture that shows your values only arrives once you have written something, because working it out is the part that teaches you. Aug 13, 2026feature ### Close your account yourself, without emailing anyone Account deletion used to mean emailing us and waiting. You can now do it yourself from Plan and billing, and it takes effect at once rather than joining a queue. Your lessons and everything you wrote inside them, your saved concepts and revision schedule, your API tokens, your linked devices and your name and email address are all erased. Anonymised usage totals stay, because they are our accounting records, with nothing identifying left attached to them. The privacy policy now spells out how long every category of data is kept, including how long a deleted lesson can still sit in a backup before it ages out. Aug 13, 2026feature ### A light theme, and a dashboard that opens on your next lesson There is a theme control in the header of every page now, including the study screen and this dashboard. It remembers your choice across the whole site, so picking light on the marketing pages and then signing in no longer drops you back into dark halfway through. Dark is still what you get by default. The dashboard also opens on a Learn tab holding your next lesson and this card, with plan, seats, keys and billing moved into their own tab, so the first thing you see when you arrive is the thing you came to do. Aug 13, 2026lesson ### A new first lesson: the bug a passing test cannot see New accounts now start on a leaderboard whose top-three function passes its test and still scrambles which score belongs to which person. You find the damage, fix it without changing what the function returns, write the check that would have caught it in the first place, then go looking for the same trap in a different method. It replaces a print-a-greeting exercise as the first thing you meet, because sorting out a real defect in code that looks fine is closer to the work than printing Hello is. The beginner track is still there and still one click away if you are starting from zero. Aug 11, 2026feature ### JavaScript lessons stay inside what your browser can actually run JavaScript lessons run in your own browser, which is what keeps the free tier free, and that runtime has no package manager in it. Asking about a library used to produce a step that called that library, which then could not run. Those lessons now teach the idea the library implements and have you write it in plain JavaScript, checked against how the project's own source does it, which is the better lesson anyway: you understand what next() does by writing the chain, not by importing it. Python lessons are unchanged and still import anything Pyodide can load. Aug 6, 2026feature ### A public roadmap and a public changelog Everything on this card now also lives on a page anyone can read, at codetrain.ai/changelog, so you can point a teammate or a manager at what CodeTrain has actually done without them needing an account. Alongside it there is a roadmap drawn the same way the course map is, one line running from launch through what is shipped, what is in progress, and what is still being weighed up. Shipped items carry the date they went live and nothing ahead of today carries a date, because that would be a guess. If something you need is missing from the line, replying to say so genuinely moves the order. Aug 6, 2026feature ### Send someone a lesson without asking them to sign up The homepage carries a working lesson now. It is a real editor running real JavaScript in the visitor's own browser with real checks, on a bug that looks like it passed and did not, so a person can find out what a Socratic step actually feels like before deciding whether to sign up. The tutor's replies there are written in advance and the page says so plainly, because the one thing a preview must not do is pretend to be the model. Useful if you have ever tried to explain CodeTrain to a colleague and wished you could just hand them a link. Aug 5, 2026feature ### Your concepts now say which ones are actually solid The Progress tab used to show every concept you had touched as one flat row of tags, which told you what you had seen but nothing about what you could still do. It now splits them three ways: due for review, still learning, and solid. Solid means you beat it in review, not that you met it once. Concepts also stop showing up twice because the tutor worded them slightly differently on two days, so the list is shorter and truer than it was. If you lead a team, the members table gains the same signal per person, showing how many concepts are due for review right now. Aug 3, 2026feature ### Your first lesson is on us, and it walks you through the screen Opening CodeTrain for the first time used to mean a blank box asking what you wanted to learn, which is a hard question before you know what a lesson looks like. Now a new account gets three short beginner lessons to choose from, Python, JavaScript or the terminal, and while you work through the first one the editor, the Run button, the review and the checks are pointed out as you reach them. It is a real lesson, reviewed the same way every other lesson is, not a demo. We cover the cost of that first one, and it does not count against your ten free lessons a month. If you would rather just browse, the walkthrough is one click to skip and it will not ask again. Jul 30, 2026feature ### Leaving a lesson no longer costs you the work Close the tab and come back tomorrow, or pick the lesson up on another machine: your code is waiting. Every step you submit is saved, so resuming puts you back on the right step with your own work in the editor, and the earlier steps sit one click away under Your code from earlier steps. Your browser also holds on to whatever you typed but never submitted, so a reload in the middle of a thought no longer wipes it. Finishing a lesson clears that local copy. Jul 30, 2026feature ### Ask about the exact check that failed When a review comes back with a check unticked, there is now an Ask about this button next to it. The tutor sees the check you pointed at, what it told you last time, your code and your last run output, so the answer lands on your actual problem instead of a guess at it. Questions also stop overwriting each other: everything you asked during the lesson stays readable under Questions you asked in this lesson, and it is still there when you resume. Jul 30, 2026feature ### Curated lessons pick the right model for you Curated lessons no longer ask you to choose a model, because the lesson already knows what it needs. Straightforward steps use the quick model, which stretches your usage further. Lessons where the details bite, like the NumPy maths in How LLMs Actually Work, get the deeper model from the first attempt. If a step starts taking a few tries, CodeTrain brings in the deeper model on its own and says so, then drops back to the quick one on the next step. Hints and concept checks always use the quick model. You still pick the model for your own topics, repos and drills, and if you want a testing model on a curated lesson, choose it before you start. Jul 27, 2026feature ### Choose how deeply CodeTrain reads a repo Repo lessons now have a read-depth choice. Quick tour pulls a handful of key files and is the cheapest way to get the shape of a codebase. Deep read pulls far more of it, so the tutor can answer real questions about how things fit together. The surprising part: deep read costs more to start and then less per step, because once the context is large enough it gets reused between steps instead of re-sent in full every time. On a long lesson that works out cheaper than a tour. Both depths are available on the free tier, and the lesson header tells you which one you got and exactly which files it read. Jul 27, 2026feature ### CodeTrain now spots what you got stuck on, and brings it back While you work, the tutor notices which steps actually gave you trouble: where you needed hints, where you retried, where you skipped. Each of those becomes a tracked concept with a review date, and it comes back at widening intervals so it sticks instead of fading. Open Progress and any concept that's due has a Drill this button. The drill is a brand-new exercise built from what you specifically got wrong, not a replay of the lesson you already did. Get it clean and it moves further out; struggle again and it comes straight back tomorrow. Nail it enough times and it graduates to Beaten. If you also use the CodeTrain skill in Claude Code, both share one schedule. Jul 26, 2026feature ### Competency receipts Finish a lesson and you can download a receipt as JSON. It records which steps you wrote correctly first try with no help, where you took a hint or retried, which checks passed, and how long each step took. It is the honest version of a completion certificate: evidence of the work rather than a percentage. On Team plans, leads see the same numbers per member, including an Unaided column, because finishing a lesson and being able to do the thing are not the same claim. Jul 26, 2026feature ### Learn from any public repo, free There's a repo box on the study screen. Paste any public GitHub URL and the tutor reads a slice of the real source, then teaches you from that instead of a generic example. Type something in the topic box first and it aims there: 'how the API works', 'the auth flow', 'how tests are structured'. Leave the topic blank for a tour of the codebase. Secrets and lockfiles are never read, and the lesson shows you exactly which files it used. For private code, repo mode with the agent runs against your own checkout on your machine. Jul 22, 2026course ### New course: How LLMs Actually Work A hands-on path from a single neuron to a working transformer, all in pure NumPy that runs right in your browser. Four classes, 18 lessons: neural-net foundations, tokens and embeddings, the Transformer block, then training, sampling and fine-tuning. Along the way you get paper spotlights (Attention Is All You Need, GPT-2, InstructGPT) and interactive demos. Inspired by Syntax's video I Built an LLM From Scratch. Jul 22, 2026feature ### Richer lessons: paper spotlights, history & live demos Lessons are more than code steps now. They can pull in a paper spotlight next to the concept it introduced, a history timeline, and small interactive demos like a tokenizer playground and an attention-weight heatmap you can poke at. Reading-only steps advance for free, so exploring the history never spends your monthly usage. Jul 22, 2026feature ### New course map The starter courses are laid out like a transit map: each course is a line, each class is a stop, and every stop holds hands-on lessons you type yourself. Easier to see how the pieces fit and where to jump in. And you're never limited to the map: type any topic, or bring your own files, and CodeTrain builds a lesson on the spot. Jul 22, 2026lesson ### Three more starter lessons Three new curated starters joined the catalog: Object-Oriented Python (classes, methods, and the dunder basics), JavaScript functions and closures, and a first taste of Linux and Bash that runs live in a real sandbox. ## What is coming The [roadmap](https://codetrain.ai/roadmap/) covers what is being built now and what is under consideration, including the things deliberately not being built yet. [Start free, no card](https://codetrain.ai/app/)[See the roadmap](https://codetrain.ai/roadmap/) --- Source: https://codetrain.ai/changelog/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Learn # Every course, class by class These are the **curated** courses, written by hand as a place to start. A course is a line, each class is a stop along it, and every class is a set of hands-on lessons where you type each small step yourself. You are not limited to them: ask CodeTrain for **any topic** and it builds the lesson on the spot, or point it at **any public repository** and it teaches you that codebase instead. [Start free, no card](https://codetrain.ai/app/) ## Curated courses ### [Learn to Code in Python](https://codetrain.ai/learn/python-intro/) Start from zero and write real Python from your very first line. [Foundations](https://codetrain.ai/learn/python-intro/py-foundations/)[Collections](https://codetrain.ai/learn/python-intro/py-collections/)Writing robust code (soon) ### [Object-Oriented Python](https://codetrain.ai/learn/python-oop/) Model real things with classes, and learn when OOP earns its keep. [Classes & objects](https://codetrain.ai/learn/python-oop/oop-classes/)Inheritance & polymorphism (soon) ### [JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/) The language that runs the web: values, arrays, and control flow. [Values & arrays](https://codetrain.ai/learn/js-intro/js-values/)Control flow (soon) ### [JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/) Functions are values: pass them around, return them, and capture state. [Functions & closures](https://codetrain.ai/learn/js-functions/jsf-functions/)Async JavaScript (soon) ### [Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/) Stop fearing the shell. Move around, wire commands, automate the boring parts. [First commands](https://codetrain.ai/learn/bash-intro/sh-first/)Text & pipes (soon) ### [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) From a single neuron to a working transformer, built from scratch in pure NumPy, in your browser. [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/)[Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/)[The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/)[Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/) ### The Backend Course · coming soon ### The Web Course · coming soon ### Data with Python · coming soon ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Start here instead Two guides, if you would rather understand the method or bring your own code than pick a course off the list. ### [How a Socratic coding tutor works](https://codetrain.ai/learn/socratic-method/) The rules the tutor runs under, quoted from the prompt, and what they do to a real step. ### [Learn any codebase in 30 minutes](https://codetrain.ai/learn/understand-a-codebase/) Paste a public repo and learn it by writing in it. The path, step by step, and what it refuses to read. --- Source: https://codetrain.ai/learn/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Compare # How CodeTrain compares Four categories get confused with this one, and each confusion has a different answer. Every page below says where the other category wins, because a comparison that never concedes anything is an advertisement. ### [General AI study modes](https://codetrain.ai/compare/ai-study-modes/) Free, very good, and Socratic by default. Where a conversation stops being enough for code specifically, and why somebody has to type it. ### [AI coding assistants](https://codetrain.ai/compare/ai-coding-assistants/) You already pay for one. Why a training tool is a separate line item, and how to use both without pretending they compete. ### [Coding course platforms](https://codetrain.ai/compare/coding-course-platforms/) Great for fundamentals, and honestly better than us there. Where a fixed curriculum on an example project stops helping a working team. ### [AI course builders](https://codetrain.ai/compare/ai-course-builders/) Turn documents into courses in seconds. Why documents are the least reliable artifact in software, and what that does to the training built from them. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/compare/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / AI study modes # CodeTrain vs general AI study modes The big assistants now ship a learning mode that breaks a problem into steps and asks you questions instead of handing over the answer. It is free, it is very good, and for most subjects you should just use it. This page is about the one subject where it stops short. ## What study modes are genuinely better at Almost everything. They will teach you chemistry, contract law, statistics or a language, in your language, on your phone, at no cost. They put diagrams and video inside the explanation, which is better teaching than a wall of text and something we do not do at all. The pedagogy behind them is real research, not a prompt somebody wrote on a Friday. If you are studying for an exam, close this tab and go use one. ## Where it stops, and why code is the exception Every one of those modes is a conversation. That is the right shape for most learning and the wrong shape for programming, because you do not learn to code by understanding code. You learn by writing something that does not work and finding out exactly how. In a study mode there is nowhere to type. Nothing you write is executed. Nothing tells you that your version is subtly wrong, because nothing ran it. You can follow a beautiful explanation of recursion all the way to the end and still not be able to write one, and the conversation has no way of knowing that happened. There is a second thing, and it is more awkward. The same product that refuses to give you the answer in one mode will write the entire function for you in another. That is not a criticism, it is a reasonable thing for a general assistant to offer. But it does mean the refusal is a setting rather than a design, and settings get switched off at exactly the moment the learning would have happened. ## Side by side | | General AI study modes | CodeTrain | | --- | --- | --- | | What it teaches from | A prompt, your notes, a slide deck or a video | Code that actually runs, including a public repo you paste in | | Who types the code | Nobody. The conversation explains it | You do, every line, in an editor that runs it | | When you get it wrong | You find out if you think to ask | The step does not advance until your code passes its criteria | | What progress means | How you answered the questions it asked you | Which steps you cleared unaided, and which concepts are due again | | Who else can read it | Nobody. It is your own account | A lead, as a record of what was done without help | | Asking it to just do it | Switch modes, or open a new chat, and it writes the code | There is no mode that does that. The step still needs code you wrote | ## The part that is not for the learner at all A study mode's progress view is built for the person studying. It shows how they did on the questions it asked them. Useful, and it ends there. If you run a team, the thing you need is a different artifact entirely: what did this person write themselves, against what tests, and where did they keep needing help. That is a claim about a real employee, so it has to come from work that was actually executed rather than from a quiz. No general study mode produces it, and none of them has anywhere to put it. ## When you should not use CodeTrain Worth saying plainly, because the wrong fit wastes your money and my time. - You are learning anything that is not code. Use a study mode. It is free and it is better. - You want the concept explained, not practiced. A conversation is the faster way to get that. - You are on a phone. Typing code on a phone is miserable and we have not pretended otherwise. - You want it in a language we do not support yet. They cover far more of the world than we do. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [Other comparisons](https://codetrain.ai/compare/) The honest test: ask a study mode to teach you a real repository, then paste the same repo URL into the free tier here and do a lesson on the part you understand least. Ten minutes, and you will not need anyone's comparison table. --- Source: https://codetrain.ai/compare/ai-study-modes/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / Coding assistants # CodeTrain vs AI coding assistants This is the comparison we get asked about most, and the honest answer is that it is not really a comparison. An assistant produces code. CodeTrain produces engineers who can read the code the assistant produced. Most teams that buy us keep paying for both. ## What assistants are genuinely better at Everything they claim, mostly. Boilerplate, test scaffolding, the third CRUD endpoint that looks like the other two, translating a function between languages, remembering an API you use twice a year. We use one daily to build CodeTrain, which would be an awkward thing to hide. If your problem is that shipping is too slow, buy an assistant and stop reading here. ## The bill that arrives later There is a moment most people who code with assistants recognize. Something breaks in production, the model's fix does not work, its second fix breaks something adjacent, and you are now debugging code that nobody understands, including the model that wrote it. The velocity was real. So is this. The quieter version shows up in review. A diff arrives, it looks plausible, it passes CI, and the reviewer approves it without being able to reproduce the reasoning. Do that for a year across a team and the codebase fills up with decisions nobody made. That is not an argument against assistants. It is an argument that producing code and understanding code came apart, and only one of them got a tool. ## Side by side | | AI coding assistants | CodeTrain | | --- | --- | --- | | Who types the code | The assistant, from your prompt | You do, every line, in an editor that runs it | | What you have afterwards | Working code, and a chat log | Working code you can explain, and a record of which steps you wrote unaided | | How it checks the work | You review the diff, or you don't | Your code runs against per-step criteria before the step advances | | When you're stuck | It writes more code | The step gets smaller, or the question gets sharper | | What a lead can prove | Throughput went up | This person changed this module unaided, and here is what passed | | Time it costs you | Saves minutes now | Costs twenty minutes now | ## Using both on purpose The split that works: let the assistant handle the code you will never need to reason about again, and run a lesson on the parts you would be in trouble explaining. Auth, billing, the module that pages you at 2am, whatever a new hire will touch in their first month. Twenty minutes of typing it yourself is cheap next to an outage in a file you cannot read. ## When you should not use CodeTrain Worth saying plainly, because the wrong fit wastes your money and my time. - You are shipping something today and the deadline is real. Learning is not an emergency tool. - The code in question is throwaway. A prototype you will delete does not deserve a lesson. - You already know this codebase cold. We have nothing to teach you about it. - You want an assistant that types faster. That is a different product and we are not it. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [Other comparisons](https://codetrain.ai/compare/) Point the free tier at a public repo you did not write and ask for a lesson on the part you understand least. That is the version of this argument you can check yourself in ten minutes. --- Source: https://codetrain.ai/compare/ai-coding-assistants/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / Course platforms # CodeTrain vs coding course platforms Interactive course platforms are good, some of them are excellent, and if you are learning your first language you should use one instead of us. The place they run out of road is narrow and specific: the codebase your team actually works in. ## What course platforms do better Fundamentals from zero, with a sequence somebody thought hard about. If you do not yet know what a function is, you want a curriculum, not a tutor improvising on your repo. They also have things we do not: a community of people stuck on the same exercise, a streak that keeps you honest, and years of editing that removed the confusing parts. Recommending one over us for a beginner is not modesty, it is the correct answer. ## Where the model breaks for a working team Their exercises run on an example project. It is clean, it was designed to teach one idea, and it is nothing like the service you inherited with four years of decisions in it. Someone can finish an entire track and still not know why your repo has two HTTP clients, which one is deprecated, or what breaks if they touch the billing module. Then there is what the completion tells a manager. Percent complete says a person sat through material. It does not say they can change your auth code without breaking checkout. Those are different claims and only one of them is worth a staffing decision. For onboarding specifically, that gap is the whole problem: the ramp is slow because the codebase is unfamiliar, not because the language is. ## Side by side | | Coding course platforms | CodeTrain | | --- | --- | --- | | Who chose the curriculum | Their instructional team, months ago | Your question, or the repo you pointed at | | What code you work on | A tidy example project built for teaching | The code your team actually ships | | How it's graded | Hidden tests against the expected solution | Your code runs, checked against the step's own criteria | | What a lead sees | Percent complete, and a certificate | Which steps were written unaided, on which parts of the codebase | | How it goes stale | Someone has to rewrite the course | It doesn't. The repo is the source and it moved this morning | | Price shape | Per learner, per year, whether or not they finish | Per seat, monthly, with a free tier that runs in the browser | ## When you should not use CodeTrain Worth saying plainly, because the wrong fit wastes your money and my time. - You are learning to program for the first time. Use a real curriculum with a real sequence. - You want a certificate an employer recognizes. We produce evidence of work, not credentials. - You want the community and the streaks. We are a tutor, not a place to hang out. - Your team needs company-wide training rather than engineering training. Wrong category entirely, see [course builders](https://codetrain.ai/compare/ai-course-builders/). ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [See the courses](https://codetrain.ai/learn/) We do run structured courses too, on Python, JavaScript, bash, and how LLMs actually work. The difference is that finishing one is not the point, and you can point the same tutor at your own repository the moment you want to. --- Source: https://codetrain.ai/compare/coding-course-platforms/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / Course builders # CodeTrain vs AI course builders A wave of tools now turn a folder of documents into a full course in seconds. They are genuinely good at that. This page is about the one job they are not built for: getting an engineer productive in a specific codebase, and proving it happened. ## What course builders are actually good at If you need company-wide training, they are the right category and I would not argue otherwise. Compliance modules, security awareness, sales enablement, policy rollouts, new-hire orientation for the whole organization. That work is real, it has to reach thousands of people, and generating it from the documents you already have beats writing it by hand. Several of these tools also plug into the LMS you already run, which matters more than engineers tend to think. ## Where it breaks for engineering Two things. First, the input. A course builder reads your documents, and in software the documents are the least reliable artifact you own. Your onboarding wiki was accurate the week it was written; the repo moved this morning. Generating training from stale docs doesn't just repeat the staleness, it adds confidence to it. Second, the grading. Nothing executes. A model reads what the learner typed and scores it against a rubric, then reports a completion percentage. That tells you somebody sat through the material. It does not tell you they can open the auth module and change it without breaking billing. Those are different claims, and only one of them is worth a headcount decision. ## Side by side | | AI course builders | CodeTrain | | --- | --- | --- | | What it reads | Your documents, recordings, or just a topic | Your codebase, or a public repo you point it at | | Who writes the code | Nobody. You read about it and answer questions | You do. Every line, in a real editor | | How it's graded | A model judges your written answer against a rubric | Your code runs. If it doesn't pass, the step doesn't advance | | What the manager gets | A completion rate and a mastery score | Which steps were written unaided, with the checks that passed | | Where your material goes | Uploaded to their cloud to build the course | Stays on your machine with the free skill and the agent, or your own key | | Stays current because | Someone maintains the source documents | The repo is the source, and it updates itself | ## When you should not use CodeTrain Worth saying plainly, because the wrong fit wastes your money and my time. - You need training for the whole company, not just engineers. Use a course builder. - Your records have to live in your LMS via SCORM or LTI today. We export the receipt as data, but we are not an LMS and will not pretend to be one. - What you actually need is a course about a policy document. That is their job, not ours. - You have one developer who is already senior on the codebase. They don't need us. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [See the courses](https://codetrain.ai/learn/) Paste a public repo on the free tier and it builds the lesson from that code. That is the fastest way to see whether the difference on this page is real. --- Source: https://codetrain.ai/compare/ai-course-builders/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) / The Socratic method # How a Socratic coding tutor works A Socratic coding tutor never writes your code. It asks a question, watches what you type, tells you what your code is actually doing, and hands you the next small step. You do the producing; it does the noticing. This page shows the exact rules CodeTrain's tutor follows and what they look like in a real lesson. [Try one lesson free](https://codetrain.ai/app/) No card. 10 lessons a month on the free tier. ## The difference in one line An AI coding assistant answers the question you asked. A Socratic coding tutor answers with the question you should have asked next. Both are useful. Only one of them leaves you able to do it again tomorrow without the tool open. ## The rules the tutor actually runs under These are not a description of the behaviour, they are quoted from the system prompt itself. The tutor is a [free, open skill](https://github.com/InferHaven/agent-skills/tree/main/codetrain), so you can read the whole thing rather than take our word for any of this. from the CodeTrain tutor system prompt 1. “You are CodeTrain, a hands-on Socratic coding tutor.” 2. “The learner writes every line. NEVER write or paste their solution, not even a ‘tiny’ line.” 3. “One tiny step at a time. Diagnose what their code is doing and why, ask one guiding question, and point at the next move.” Two more rules matter as much and are easier to miss. Failing code is treated as the best teaching moment available, so the tutor reviews a broken submission instead of refusing it. And it will not claim your code ran when it has no output to prove it did; a command with no run evidence gets reviewed as written, and says so. ## What that looks like on a real step Here is the first step of the free [Python foundations](https://codetrain.ai/learn/python-intro/py-foundations/) class, exactly as a learner receives it. step 1 of 4 · Python Basics ### Print a greeting Write a single line that prints `Hello, CodeTrain!`. Submit `print(Hello, CodeTrain!)` and a code assistant would hand back the corrected line. Following the rules above, the tutor cannot: it has to name what your code does (Python reads `Hello` as a variable that was never defined), ask the one question that gets you there (what marks a piece of text as text rather than a name?), and stop. You type the quotes. That is the whole difference, repeated a few hundred times until it is a habit. Then the step runs. It has to actually pass before the lesson advances, which is why what you finish with is a record of the steps you wrote unaided rather than a completion percentage. ## Why not just let it write the code? Because you are not trying to end up with the code. You already have a tool that produces code faster than you can read it. What you do not have is a way to still understand the result in six weeks, when it breaks and the person who generated it has moved teams. Producing the line yourself is the cheapest known way to keep that. The struggle is not a side effect of the method, it is the method. ## When a Socratic tutor is the wrong tool Worth saying plainly, because the wrong fit wastes your time. - You are shipping today and the deadline is real. Learning is not an emergency tool. Use the assistant. - The code is throwaway. A prototype you will delete does not deserve a lesson. - You already know this material cold. Being asked leading questions about something you can already do is just slower. - You want the answer, not the skill. That is a legitimate thing to want, and it is [a different category of tool](https://codetrain.ai/compare/ai-coding-assistants/). ## Where to try it [Learn to Code in Python](https://codetrain.ai/learn/python-intro/) [Learn any codebase in 30 minutes](https://codetrain.ai/learn/understand-a-codebase/) [Every course](https://codetrain.ai/learn/) [How CodeTrain compares](https://codetrain.ai/compare/) [Start free, no card](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/socratic-method/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) / Understand a codebase # Learn any codebase in 30 minutes Reading a summary of a repository does not teach you the repository. Paste a public repo URL into CodeTrain and it builds a lesson out of the code that is actually in it, then makes you write against that code one small step at a time. Free, no card, nothing to install. [Paste a repo and start](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Why a summary does not work Ask a chat tool to explain a codebase and you get a confident architecture overview. It is usually right, it is occasionally invented, and either way you cannot tell which by reading it. Worse, you retain almost none of it, because you did not do anything. Half an hour later you can quote the summary and still not know where to make the change. ## The thirty minute path step 1 ### Point it at the repo Paste any public repository URL. On Pro you point it at your own checkout instead and the edits land in your real branch, on 127.0.0.1. step 2 ### Say what you actually want Not "explain this repo". Say "how does the auth flow work" or "I need to add a field to the API". The intent decides which files get read and what the first step is, and a narrow intent produces a far better lesson than a broad one. step 3 ### Write the first small step It opens a real editor on a real file with a Run button. The first step is deliberately tiny. You type it, it runs, the tutor reviews what you wrote rather than what it expected. step 4 ### Get stuck on purpose Stuck is the useful part. Ask, and it shrinks the step or gives the next hint. It will not paste the solution, so the thing you end up with is yours. Thirty minutes in you will not know the whole system. You will know one path through it end to end, which is the thing that makes the second hour fast. ## Explore or change: pick one Repo mode has two intents and they behave differently. **Explore** is read only: you learn the code and nothing on disk moves. **Guided** means you are making a change, and the work comes back as a single reviewable patch at the end of the lesson rather than a trail of edits you have to untangle. Pick explore when you are onboarding, guided when you have a real task. ## What it will not read This matters more on a public repo than people expect, because public repos contain committed secrets more often than anyone would like. CodeTrain refuses a fixed denylist before anything reaches the model or your browser: `.env` and its variants, private keys and certificates, `.netrc`, `.npmrc`, `.pypirc`, `.git-credentials`, service account JSON, keystores, and VPN configs. Gitignored files are skipped too. The list is enforced in the agent and on the server, and the two are kept in sync deliberately. ## When this will not help - The repository is enormous and your intent is vague. Narrow the question first. - You need an answer in five minutes for an incident. Ask an assistant, learn it later. - The code is generated or vendored. There is nothing there worth learning by hand. - You want documentation you can hand to someone else. This makes you understand it, not a written artifact about it. ## Related [How a Socratic coding tutor works](https://codetrain.ai/learn/socratic-method/) [Every course](https://codetrain.ai/learn/) [Versus AI coding assistants](https://codetrain.ai/compare/ai-coding-assistants/) [Start free, no card](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/understand-a-codebase/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # Learn to Code in Python Start from zero and write real Python from your very first line. Hands-on lessons where you write every line yourself and every step has to run. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [Foundations](https://codetrain.ai/learn/python-intro/py-foundations/) 1 lesson · free Variables, functions, and loops: the moves every program is built from. ### [Collections](https://codetrain.ai/learn/python-intro/py-collections/) 1 lesson · free Build, filter, and reshape groups of data the Pythonic way. ## Also coming to this course Writing robust code ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Object-Oriented Python](https://codetrain.ai/learn/python-oop/)[JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/)[JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/)[Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/)[How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/python-intro/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [Learn to Code in Python](https://codetrain.ai/learn/python-intro/) # Foundations Variables, functions, and loops: the moves every program is built from. A class in Learn to Code in Python. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Python Basics python · 4 steps · free Variables, printing, and your first function. 1. Print a greeting 2. Store a value 3. Write a function 4. Loop a little [Start this lesson](https://codetrain.ai/app/study/?lesson=python-basics) ## Also coming to this class Conditionals & branchingWorking with strings ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of Learn to Code in Python [Collections](https://codetrain.ai/learn/python-intro/py-collections/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/python-intro/py-foundations/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [Learn to Code in Python](https://codetrain.ai/learn/python-intro/) # Collections Build, filter, and reshape groups of data the Pythonic way. A class in Learn to Code in Python. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### List comprehensions python · 3 steps · free Build and filter lists the Pythonic way. 1. Squares 2. Filter evens 3. Transform + filter [Start this lesson](https://codetrain.ai/app/study/?lesson=python-comprehensions) ## Also coming to this class DictionariesSets ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of Learn to Code in Python [Foundations](https://codetrain.ai/learn/python-intro/py-foundations/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/python-intro/py-collections/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # Object-Oriented Python Model real things with classes, and learn when OOP earns its keep. Hands-on lessons where you write every line yourself and every step has to run. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [Classes & objects](https://codetrain.ai/learn/python-oop/oop-classes/) 1 lesson · free Bundle data and behavior together into your own types. ## Also coming to this course Inheritance & polymorphism ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Learn to Code in Python](https://codetrain.ai/learn/python-intro/)[JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/)[JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/)[Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/)[How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/python-oop/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [Object-Oriented Python](https://codetrain.ai/learn/python-oop/) # Classes & objects Bundle data and behavior together into your own types. A class in Object-Oriented Python. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Object-Oriented Python python · 4 steps · free Bundle data and behavior together with classes. 1. Define a class 2. Give it behavior 3. More state 4. Readable objects [Start this lesson](https://codetrain.ai/app/study/?lesson=python-oop) ## Also coming to this class Encapsulation ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/python-oop/oop-classes/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # JavaScript Fundamentals The language that runs the web: values, arrays, and control flow. Hands-on lessons where you write every line yourself and every step has to run. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [Values & arrays](https://codetrain.ai/learn/js-intro/js-values/) 2 lessons · free The data structures you'll touch in every JavaScript program. ## Also coming to this course Control flow ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Learn to Code in Python](https://codetrain.ai/learn/python-intro/)[Object-Oriented Python](https://codetrain.ai/learn/python-oop/)[JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/)[Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/)[How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/js-intro/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/) # Values & arrays The data structures you'll touch in every JavaScript program. A class in JavaScript Fundamentals. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### JavaScript: array methods javascript · 4 steps · free map, filter, and reduce without a loop in sight. 1. console.log 2. map 3. filter 4. reduce [Start this lesson](https://codetrain.ai/app/study/?lesson=js-arrays) ### The bug a passing test cannot see javascript · 4 steps · free A function returns the right answer and still corrupts your data. 1. Prove the damage 2. Fix it without changing what it returns 3. Write the check that would have caught it 4. The same trap, somewhere else [Start this lesson](https://codetrain.ai/app/study/?lesson=js-mutation-bug) ## Also coming to this class Variables & typesObjects ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/js-intro/js-values/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # JavaScript: Functions & Data Functions are values: pass them around, return them, and capture state. Hands-on lessons where you write every line yourself and every step has to run. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [Functions & closures](https://codetrain.ai/learn/js-functions/jsf-functions/) 1 lesson · free Higher-order functions and the closures that give them memory. ## Also coming to this course Async JavaScript ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Learn to Code in Python](https://codetrain.ai/learn/python-intro/)[Object-Oriented Python](https://codetrain.ai/learn/python-oop/)[JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/)[Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/)[How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/js-functions/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/) # Functions & closures Higher-order functions and the closures that give them memory. A class in JavaScript: Functions & Data. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### JavaScript: Functions & Data javascript · 4 steps · free Functions are values: pass them, return them, close over state. 1. Declare a function 2. Arrow functions 3. Functions that take functions 4. Closures [Start this lesson](https://codetrain.ai/app/study/?lesson=js-functions) ## Also coming to this class Callbacks in depth ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/js-functions/jsf-functions/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # Command the Terminal: Linux & Bash Stop fearing the shell. Move around, wire commands, automate the boring parts. Hands-on lessons where you write every line yourself and every step has to run. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [First commands](https://codetrain.ai/learn/bash-intro/sh-first/) 2 lessons · free Print, store, loop, and pipe, running live in a real sandbox. ## Also coming to this course Text & pipes ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Learn to Code in Python](https://codetrain.ai/learn/python-intro/)[Object-Oriented Python](https://codetrain.ai/learn/python-oop/)[JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/)[JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/)[How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/bash-intro/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/) # First commands Print, store, loop, and pipe, running live in a real sandbox. A class in Command the Terminal: Linux & Bash. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Linux & Bash: first commands bash · 5 steps · free Print, store, loop, and pipe: the shell's core moves. 1. Print a line 2. Variables & quoting 3. Loop over items 4. Pipe into a filter 5. Save to a file [Start this lesson](https://codetrain.ai/app/study/?lesson=bash-basics) ### Linux Filesystem Fundamentals bash · 5 steps · free Practice the fundamentals of the Linux filesystem. 1. Navigate and list files with absolute and relative paths 2. Understand file permissions and ownership 3. Explore inodes and hard links 4. Work with symbolic links and understand their behavior 5. Inspect filesystem structure and disk usage [Start this lesson](https://codetrain.ai/app/study/?lesson=linux-filesystem-fundamentals) ## Also coming to this class Navigating the filesystem ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/bash-intro/sh-first/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # How LLMs Actually Work From a single neuron to a working transformer, built from scratch in pure NumPy, in your browser. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/) 4 lessons · free History, a trainable neuron, an N-gram model, and the RNN the transformer replaced. ### [Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/) 5 lessons · free Turn text into vectors: tokenizers, embeddings, similarity, and position. ### [The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/) 5 lessons · free Self-attention, causal masking, multi-head, LayerNorm, and the full block. ### [Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/) 4 lessons · free Assemble a GPT, learn the loss, sample text, and see how assistants are aligned. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Learn to Code in Python](https://codetrain.ai/learn/python-intro/)[Object-Oriented Python](https://codetrain.ai/learn/python-oop/)[JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/)[JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/)[Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) # Neural-net foundations History, a trainable neuron, an N-gram model, and the RNN the transformer replaced. A class in How LLMs Actually Work. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### The road to the Transformer python · 1 steps · free How we got from a single neuron to ChatGPT, in seven steps. 1. Sixty years in one map [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-history) ### A neuron from scratch python · 5 steps · free Build and train a single artificial neuron with NumPy. 1. The weighted sum 2. Fire or not: the activation 3. Wrap it in a predict() 4. Learn from one mistake 5. Train the AND gate [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-perceptron) ### Predict the next word: an N-gram model python · 4 steps · free The simplest language model: count what usually comes next. 1. Split into words 2. Count what follows each word 3. Counts into probabilities 4. Predict the next word [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-ngram) ### An RNN cell, unrolled python · 3 steps · free Carry a hidden state across a sequence, the pre-Transformer way. 1. One time step 2. Carry the state across a sequence 3. Read out a prediction [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-rnn-cell) ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of How LLMs Actually Work [Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/)[The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/)[Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/llm-foundations-1/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) # Tokens & embeddings Turn text into vectors: tokenizers, embeddings, similarity, and position. A class in How LLMs Actually Work. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### A character tokenizer python · 5 steps · free Turn text into integers a model can read, and back again. 1. Play with a tokenizer first 2. Build the vocabulary 3. String -> integer 4. Integer -> string 5. Encode and decode [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-char-tokenizer) ### Train a mini BPE tokenizer python · 4 steps · free Learn a subword vocabulary by merging frequent pairs. 1. Words as lists of symbols 2. Count adjacent pairs 3. Merge the top pair 4. Repeat to grow the vocabulary [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-bpe) ### Embeddings are a lookup table python · 3 steps · free Map token ids to vectors the model can do math on. 1. An embedding table 2. Look up one token 3. Look up a whole sequence [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-embeddings) ### Cosine similarity python · 4 steps · free Measure how close two vectors point, the basis of 'meaning'. 1. The dot product 2. Lengths (norms) 3. Put it together 4. Find the nearest [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-cosine) ### Positional encoding python · 4 steps · free Give an order-blind model a sense of position. 1. Why position needs encoding 2. sin for even, cos for odd 3. The full (seq_len, d) matrix 4. Add it to the embeddings [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-positional) ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of How LLMs Actually Work [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/)[The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/)[Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/llm-foundations-2/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) # The Transformer block Self-attention, causal masking, multi-head, LayerNorm, and the full block. A class in How LLMs Actually Work. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Self-attention from scratch python · 5 steps · free The one mechanism at the heart of every Transformer. 1. See attention before you build it 2. Query-key scores 3. Scale it 4. Softmax into weights 5. Weighted sum of values [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-attention) ### Causal masking python · 3 steps · free Stop the model from peeking at the future it's predicting. 1. A lower-triangular mask 2. Block the future with -inf 3. Softmax respects the mask [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-causal-mask) ### Multi-head attention python · 3 steps · free Run several attentions in parallel and combine them. 1. Split into heads 2. Attention per head 3. Concatenate and project [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-multihead) ### LayerNorm and the feed-forward network python · 3 steps · free The two sublayers that sit around attention. 1. LayerNorm 2. The GELU activation 3. The feed-forward network [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-layernorm-ffn) ### Assemble a Transformer block python · 3 steps · free Wire attention and the FFN together with residuals. 1. A residual connection 2. Pre-norm, two sublayers 3. Stack it [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-block) ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of How LLMs Actually Work [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/)[Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/)[Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/llm-foundations-3/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) # Training, generation & fine-tuning Assemble a GPT, learn the loss, sample text, and see how assistants are aligned. A class in How LLMs Actually Work. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Stack blocks into a GPT (forward pass) python · 3 steps · free Assemble the full model and read out next-token scores. 1. Embed and add position 2. Run through the blocks 3. Final norm and unembed to logits [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-gpt-forward) ### The training objective python · 4 steps · free Cross-entropy, and watching a loss actually go down. 1. Logits to probabilities 2. Cross-entropy for one token 3. Average over a batch 4. Watch a loss go down [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-loss) ### Sampling: how text comes out python · 4 steps · free Greedy, temperature, top-k and top-p decoding. 1. Greedy: always the top token 2. Temperature 3. Top-k 4. Top-p (nucleus) [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-sampling) ### From base model to assistant python · 1 steps · free How next-token predictors become ChatGPT: SFT and RLHF. 1. The last mile: alignment [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-sft-rlhf) ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of How LLMs Actually Work [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/)[Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/)[The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/llm-foundations-4/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API.