Learn to read and review React, not just write it.
  • JavaScript 78.6%
  • TypeScript 21.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
jadh 1ac8963985 React crash course: session 1 deck and practice
Session 1 covers JavaScript and TypeScript — the language, not the
framework — on the grounds that you can't review code you can't read.

decks/session-1.md
  107 slides driven by present.nvim. 34 traces: code appears alone,
  the room predicts, X runs it, n reveals the explanation. Every
  block is executable and verified, including two that crash on
  purpose. TypeScript blocks are type-checked and run.

practice/session-1/
  Five self-checking exercise files. Each prints PASS/FAIL per task
  and never crashes on an unfilled TODO.

Instructor material and solutions are deliberately untracked.

React crash course: added review to session 1 deck

React crash course: added another review to session 1 deck

planning for second session
2026-08-25 12:48:09 +03:00
decks React crash course: session 1 deck and practice 2026-08-25 12:48:09 +03:00
practice/session-1 React crash course: session 1 deck and practice 2026-08-25 12:48:09 +03:00
.gitignore React crash course: session 1 deck and practice 2026-08-25 12:48:09 +03:00
package-lock.json React crash course: session 1 deck and practice 2026-08-25 12:48:09 +03:00
package.json React crash course: session 1 deck and practice 2026-08-25 12:48:09 +03:00
README.md React crash course: session 1 deck and practice 2026-08-25 12:48:09 +03:00
tsconfig.json React crash course: session 1 deck and practice 2026-08-25 12:48:09 +03:00

React Crash Course

A short course taking you from "I can't read this" to "I can tell whether this is right".

You'll be writing React with an AI assistant. It produces syntax faster and more correctly than you will for a while. So this course is not about typing code — it's about reading it, judging it, and knowing what to ask for.


Sessions

# Session You'll be able to
1 JavaScript & TypeScript Read any line of modern JS or TS and say what it does

Each session has practice to work through afterwards. The next one lands here once it's been taught.


What you need

node 22 or newer:

node --version

If it prints below v22, install from nodejs.org.

Node runs everything here — the practice files now, and React's tooling later on. It's worth getting sorted once.

Have a browser console open during sessions too (F12 → Console tab) so you can type along.


Practice

cd practice/session-1
node 01-copying.js

Every file prints PASS or FAIL per task, and a count at the end. Work until everything passes.

  PASS  addItem returns the new list
  FAIL  addItem left the original alone
        expected [1,2,3]
        got      [1,2,3,4]

Start with 01 and go in order — each file builds on the one before. Details are in practice/session-1/README.md.

Don't use an AI assistant for these. It will produce correct answers instantly and you will learn nothing. You're training the judgment you'll later use to check its work, and that only happens if you struggle first.

If a task takes more than ten minutes, something from the session didn't land. Note it, move on, and bring it to next session — the first ten minutes are for exactly that.


Reading the slides

The decks are plain Markdown, so you can read them straight from decks/.

To view one as an actual presentation you need neovim with present.nvim:

nvim decks/session-1.md -c PresentStart
Key Action
n / p next / previous slide
X run the code block on this slide
q quit

Almost every code block in the deck is runnable — including the ones that crash on purpose. The exception is the DOM section at the end, which needs a browser; paste those into your console instead.


Layout

decks/          the slides
practice/       exercises

Teaching notes and solutions are kept separately. The exercises only work if you haven't seen the answers first.