# Crafting Interpreters study plan, and how long it takes

> How long Crafting Interpreters takes (about 160 hours) and a 28-week, chapter-by-chapter plan for jlox and clox with hours per chapter and tests.

Crafting Interpreters takes **about 160 hours** if you type every line and do some of the challenges: roughly 57 hours for jlox and 100 for clox in our chapter guides. Next to two NeetCode problems a week, at about 8 to 10 hours a week in all, that is **28 weeks**. Here is the plan: a chapter a week, the three short opening chapters together.

## The 28 weeks

| Week | Chapters | What you build |
| --- | --- | --- |
| 1 | 1 to 3 | Read: the map of the territory and the Lox language |
| 2 | 4 | jlox scanner |
| 3 | 5 | AST generator |
| 4 | 6 | Recursive descent parser |
| 5 | 7 | Evaluator |
| 6 | 8 | Statements and environments |
| 7 | 9 | Control flow |
| 8 | 10 | Functions and closures |
| 9 | 11 | Resolver |
| 10 | 12 | Classes |
| 11 | 13 | Inheritance: jlox done |
| 12 | 14 | clox: chunks of bytecode |
| 13 | 15 | The VM |
| 14 | 16 | Scanner on demand |
| 15 | 17 | Pratt parser compiler |
| 16 | 18 | Value types |
| 17 | 19 | Strings |
| 18 | 20 | Hash table |
| 19 | 21 | Globals |
| 20 | 22 | Locals |
| 21 | 23 | Jumps |
| 22 | 24 | Calls and functions |
| 23 | 25 | Closures and upvalues |
| 24 | 26 | Garbage collection |
| 25 | 27 | Classes and instances |
| 26 | 28 | Methods and initializers |
| 27 | 29 | Superclasses |
| 28 | 30 | Optimization: clox done |

Every chapter has its own [reading guide](https://cracked.guide/crafting-interpreters) with a time budget, the challenges worth doing, common traps and the test suite that checks it.

## Where people get stuck

- **Chapter 6 (parsing)**: precedence and error recovery are new to most people. Draw the grammar.
- **Chapter 11 (resolving)**: the bug it fixes is subtle. Write the failing closure example first.
- **Chapter 17 (compiling expressions)**: the [Pratt parser](https://cracked.guide/glossary/pratt-parser) is a different way of thinking about precedence.
- **Chapter 25 (closures)**: [upvalues](https://cracked.guide/glossary/upvalue) are the hardest idea in the book. Budget extra.
- **Chapter 26 (garbage collection)**: bugs appear far from their cause. Turn on the stress-test mode.

## Faster or slower

People who already know Java and C and skip the challenges report finishing in well under 160 hours; people learning C as they go often take longer for clox. If that is still too much, half pace gives each week two calendar weeks; if you have more time, nothing stops you from working ahead of the calendar. The [plan generator](https://cracked.guide/plan/crafting-interpreters) gives you real dates for either pace.

## Keep yourself honest

Each coding chapter has a test suite in the book's repository. On cracked.guide, you push your repo and a GitHub Actions workflow runs the official tests; a passing chapter is marked verified. See [the Lox test suite](https://cracked.guide/learn/lox-test-suite) and [how the verification works](https://cracked.guide/blog/verify-your-interpreter-with-github-actions).

## Questions

### How long does Crafting Interpreters take?

About 160 hours typing the code and doing some challenges. The cracked.guide path gives it 28 weeks, a chapter a week next to two NeetCode problems.

### Can I do Crafting Interpreters in a month?

Full time, yes. Part time, most people need three to four months to type it all and understand it.

### Should I do the challenges?

Some of them. They are where you design rather than follow. Do them on a branch so the official tests still pass on main.

---

Source: https://cracked.guide/learn/crafting-interpreters-study-plan
cracked.guide: A free, dated 145-week path to getting genuinely cracked at programming.
