

The full-time immersive, week by week. The part-time immersive covers the same weeks across 38 weeks of evenings and Saturdays.
16 weeks, in order.
JavaScript, properly.
Weeks 1 to 4
Assessment 1 at the end of week 4. Pass, or retake once a week later.
- Week 1
Values, functions, scope and closures. Pairs rotate every Monday from day one.
You build: A command-line budget tracker.
- Week 2
Arrays, objects, recursion, and reading code faster than you write it.
You build: A text adventure that runs from a JSON map.
- Week 3
Classes and prototypes, then async: callbacks, promises, async and await.
You build: A weather fetcher that retries and caches.
- Week 4
Testing with Vitest, Git branches and pull requests, debugging on purpose.
You build: Assessment 1: four problems, 3 hours, open book.
- Week 1
The browser and React.
Weeks 5 to 8
Assessment 2 at the end of week 8, plus your first solo app, deployed.
- Week 5
The DOM, events, accessible HTML, CSS grid and flexbox.
You build: A keyboard-friendly timetable page.
- Week 6
React components, state, effects and data fetching. TypeScript from here on.
You build: The timetable, rebuilt in React with tests.
- Week 7
Routing, forms, loading and error states, caching server data.
You build: A booking flow that survives a refresh.
- Week 8
Performance basics and a review of everything so far.
You build: Solo project 1, live on the web.
- Week 5
Servers and data.
Weeks 9 to 11
Assessment 3 at the end of week 11.
- Week 9
Node and Express, REST design, sessions, password hashing.
You build: An API with sign-up and log-in.
- Week 10
PostgreSQL: joins, indexes, migrations, and when to skip the ORM.
You build: The API, backed by a real schema.
- Week 11
Docker basics, CI with GitHub Actions, logs you can read at 2 AM.
You build: Assessment 3, and a pipeline that deploys on merge.
- Week 9
Team product.
Weeks 12 to 14
Final review: your team walks two instructors through the code.
- Week 12
Teams of four pick a problem with real users and write the plan.
You build: A scoped brief and a first release in 5 days.
- Week 13
Sprints, code review standards, issue triage, user interviews.
You build: Weekly releases to the people using it.
- Week 14
Hardening, documentation, a demo for invited engineers.
You build: Demo day, on Friday afternoon.
- Week 12
Job search.
Weeks 15 and 16, then 180 days
No assessment. Weekly career coaching continues for 180 days.
- Week 15
Resume, GitHub and LinkedIn reviews; data structure and system design practice for junior roles.
You build: Three mock interviews with outside engineers.
- Week 16
Application sprints, take-home tests, offers and negotiation.
You build: A target list of 40 employers and a weekly plan.
- Week 15
20 hours
a week on the part-time immersive: Monday, Wednesday and Thursday from 6:30 to 9:30 PM Eastern, and Saturday from 10 AM to 4 PM, plus about 7 hours of your own lab time.
Part-time, mapped.
| Unit | Full-time | Part-time |
|---|---|---|
| JavaScript, properly | Weeks 1 to 4 | Weeks 1 to 10 |
| The browser and React | Weeks 5 to 8 | Weeks 11 to 20 |
| Servers and data | Weeks 9 to 11 | Weeks 21 to 28 |
| Team product | Weeks 12 to 14 | Weeks 29 to 35 |
| Job search | Weeks 15 and 16 | Weeks 36 to 38 |
Four gates,one retake each.
Nobody is pushed forward to protect a completion rate. If you miss a gate twice, you join the next cohort at that unit once, free.
How that shows in the numbersWeek 4
Four JavaScript problems in 3 hours, open book, no AI tools. Pass mark 75%.
closures, recursion, async
Week 8
Build a small React feature from a written ticket, with tests.
state, effects, TypeScript
Week 11
Add an endpoint and a migration to an unfamiliar codebase.
SQL, REST, auth
Week 14
Your team explains its code to two instructors for an hour.
design, trade-offs, reviews
From the week 4 assessment, problem 2 of 4.
A real gate question.
Write once(fn): it returns a function that calls fn the first time and returns that first result on every call after. Most students pass it on the first try after week 3.
function once(fn) {
let done = false;
let result;
return (...args) => {
if (!done) {
result = fn(...args);
done = true;
}
return result;
};
}
const init = once(() => Math.random());
init() === init(); // true
Not sure you could write that yet? That is what the free prep course is for. Take the readiness check