I spent a bunch of the day today working on a Javascript curriculum that I’ll be teaching a bunch of kids next week.

For the interested, you can take a look at my Javascript lesson plan here.

One of the things I’m kinda excited about is trying out a totally different way of teaching JS.  First off, the kids will have already been introduced to both HTML/CSS and Python: a few days of each.  But most importantly, I’m gonna try diving straight into making things.

Changing colors dynamically, moving shit around, animation, building your own image search engine, etc. they’re all in the first few hours of learning the language.

What I’m not touching on is the fundamentals.  “This is an array”.  “This is passed by value, this is passed by reference”. “This is an object.”

It’s an interesting (and potentially dangerous) way to approach this stuff.  For example, they won’t have a memory model of how a lot of these things work, which I suspect is going to really hurt debugging.  But we’ll see.

On the other hand, I suspect we’re gonna get a lot more enthusiasm from the kids than we did with the same class last year.  It’s kinda hard to keep them awake through yet another syntax lesson.

Anyway, I’m still iterating on the lesson plan.  (And it doesn’t contain all my voice overs.)  But feedback welcome!