# How To Write a Programming Book

## How Not to Write a Programming Book

`2x + 10 = 202x = 10x = 5`
`2x + 10 = 20 (given)We want to isolate x from the numbers, so we're going to subtract 10 from both sides of the equation.2x + 10 =  20   - 10 = -10-------------2x      =  10Now that x is isolated on one side of the equation, we want to reduce 2x to only x, which will leave us with x on one side of the equal sign and the value for x on the other.We'll do this by dividing both sides by 2. This will cancel the 2 in 2x leaving us with x.2x = 10--   --2    2x = 5`

## How to Teach

1. Always start where the student is an expert.
2. Take the student from where they are to where you want to take them one micro-baby step at a time for the whole trip explaining yourself before each and every step while never skipping a single step or leaving anything out.
3. Never give a student a solution to a problem they don’t have.
4. Simulate discovery whenever possible.
5. Concrete models are far more powerful than Abstract ones.

--

--