Learning to code
Understanding code and concepts: explaining codebases, tutoring developers, onboarding.
Download all 37
- Explain a codebase
Explains an unfamiliar codebase. Maps its structure, traces one real request end to end and names the concepts and gotchas a newcomer needs. Use when joining a project or reading an unknown repo.
- Explain a concept with code
Explains a programming concept through the problem it solves, a minimal runnable example, a common mistake and a quick self-check, pitched at the learner's level. Use to learn or teach a concept.
- Explain a SQL query
Explains a complex SQL query clause by clause in logical execution order, shows intermediate results on a tiny example, and points out bugs and performance traps. Use when inheriting a query.
- Plan a learning path for a technology
Builds a week-by-week plan to get productive in a new language, framework or tool, built around hands-on milestones and skipping what the learner already knows. Use when picking up a new stack.
- Beginner coding buddy
Acts as a patient coding helper for non-programmers, such as office workers, researchers and teachers, by explaining in plain words, keeping programs small and warning before anything risky.
- Coach a test-driven coding kata
Coaches a test-driven coding kata one requirement at a time, reviewing each failing test, minimal implementation and refactor before revealing the next step.
- Coding mentor
Acts as a senior developer mentoring a junior, asking what they tried, explaining the why behind fixes and reviewing code to teach. Use for early-career developers who want to grow.
- Create graded coding exercises
Generates a graded set of coding exercises for one concept, each with starter code, automated tests, staged hints and a reference solution. Use for teaching, practice sessions or self-study.
- Decode engineering jargon
Explains the engineering terms in a message, ticket or meeting notes in plain words for a non-engineer, what each means for them, and the question to ask back. Use when a dev update is unclear.
- Draft a help request
Coaches a stuck developer to turn a vague problem into a question others can answer, with goal, minimal reproduction, attempts, exact errors and versions. Use before asking for help.
- Drill code reading
Runs a code-reading game where the learner predicts what short snippets print or do, then gets the answer and the one concept they missed, with adaptive difficulty and a score.
- Step through assembly on a simulated CPU
Simulates a simple CPU stepping through assembly instructions, showing registers, flags, the stack and memory after each step, for computer architecture students.
- Debug a page in simulated browser DevTools
Simulates browser DevTools on a page with a hidden layout or network bug, answering element, style, console and network inspections until the learner finds the cause.
- Practise Docker in a simulated CLI
Simulates the Docker CLI with images, containers, volumes and networks that persist across commands, teaching builds, port mapping, logs, debugging and cleanup without installing anything.
- Practise git in a simulated repository
Simulates a git repository with files, commits, branches and a remote, redrawing the commit graph after each command so learners practise branching, rebasing and recovery safely.
- Practise GraphQL against a simulated endpoint
Simulates a GraphQL endpoint with a printed schema, answering queries and mutations with data or spec-correct validation errors so learners practise fields, variables, fragments and pagination.
- Practise HTTP against a simulated REST API
Simulates a REST API that answers curl or raw HTTP requests with realistic status codes, headers and JSON, so learners practise methods, auth, pagination and error handling.
- Practise in a simulated browser JavaScript console
Simulates a browser JavaScript console attached to a small page, so learners practise expressions, DOM queries, promises and event handlers and see faithful console output.
- Practise kubectl on a simulated cluster
Simulates a Kubernetes cluster through kubectl with pods, deployments and services whose state changes realistically over time, including crash loops and failed rollouts to diagnose.
- Practise in a simulated Linux shell
Simulates a Linux terminal with a persistent fake filesystem, users and processes for safe command practice, with a hint mode that explains output and suggests the next command.
- Practise MongoDB in a simulated shell
Simulates a MongoDB shell with sample collections, returning documents and errors for queries, updates and aggregation pipelines and keeping data changes across turns.
- Practise in a simulated PowerShell console
Simulates a PowerShell console with real objects, pipelines, a fake Windows filesystem and services, teaching cmdlets and the object pipeline through hands-on practice.
- Practise in a simulated Python REPL
Simulates an interactive Python REPL that keeps variables across turns and prints results and tracebacks as Python would, with an optional plain-language explanation of each error.
- Practise regular expressions in a simulated tester
Simulates a regex tester that marks matches and capture groups in sample strings, with a ladder of challenges that builds from literals up to lookarounds.
- Practise on a simulated SQL database
Simulates a SQL database with a practice schema and seeded rows, returning result tables or the dialect's exact errors for each query and keeping changes across turns.
- Train vim habits in a simulated buffer
Simulates a vim buffer with a visible cursor, setting editing challenges and showing the buffer after each keystroke sequence so learners build motion and operator habits.
- Explain an algorithm
Explains an algorithm or data structure through intuition, a step-by-step trace on a small input, the invariant that makes it correct, complexity and runnable code in the learner's language.
- Explain a piece of code
Explains a piece of code step by step at the reader's level, starting with what it is for, then walking through how it works with a worked example and the parts that are easy to misread.
- Junior mentoring rules
Standing rules for a coding assistant working in a junior developer's project so they stay the author, with proposals before edits, small explained diffs and no silenced checks.
- Learn a new language from one you know
Teaches a new programming language by mapping it onto one the learner already knows, covering idioms, false friends, tooling and graded exercises. Use when switching languages for a job or project.
- Map an unfamiliar repo and verify its setup docs
Explores an unfamiliar repository, builds and runs it and its tests by following the docs exactly, records every gap without fixing code, and writes a verified getting-started note. Use on day one.
- Pick a portfolio project
Helps a junior or career-changing developer choose one portfolio project that proves what target jobs ask for, scoped to finish in weeks, with milestones. Use before starting a portfolio piece.
- Quiz yourself on Big-O complexity
Quizzes time and space complexity on short code snippets, asks the learner to justify each answer, and explains loops, recursion and amortised cases when they slip.
- Review a beginner's code
Reviews a learner's code with kind, teaching-first feedback on correctness and readability, limited to the few points that matter most, plus the next concept to learn. Use for new developers.
- Run a network troubleshooting lab
Simulates a small broken network where the learner runs ping, traceroute, dig and curl to find the fault, with consistent outputs and a debrief on troubleshooting method.
- Tutor game math
Teaches the maths game developers use, from vectors and dot products to interpolation, rotations and transforms, through gameplay problems with code in your engine. Use when game maths blocks you.
- Tutor microcontroller basics
Teaches a programmer new to hardware how microcontrollers work through small hands-on projects, one concept per session, with wiring checks and safety notes. Use when starting with embedded.
Not: studying other subjects (education domain).