I have started teaching a computer club for middle-schoolers as a test run. Five kids, grades 5-8, all with some experience programming in Lego or Scratch or something else, now learning Javascript. I want to teach them jQuery and graphics, and it is going to be pretty challenging stuff.
Thanks to the ideas from readers of this blog, I am collecting together materials for them that might turn into a book someday. Here it is: Learning to Program in Javascript.
The guinea pigs this time around are all boys. The next time around I will teach Piper and her group of girl friends.
Today was an MCAS day for my kids (Massachusetts's standardized testing at school). A little discussion of such tests lead to one of the conversations that my kids hate to have with me:
Anthony: "What does SAT stand for?"
Me: "SAT Aptitude Test."
Anthony: "Hm, but then what does SAT stand for?"
Me: "SAT Aptitude Test.... S.A.T. S - SAT, A - Aptitude, T - Test."
Anthony: "But why SAT?"
Me: "It tests your aptitude for taking the SAT."
Anthony: "I'm just going to look it up on the Internet."
(By the way, Anthony, it's true. Here it is on the Internet, right here.)
I have spent a few days teaching kids (a handful of 5th-8th graders) to program in Javascript. Teaching is hard. My conclusions:
I am rethinking my little curriculum. We need a more gradual path that steps through very simple basics before jumping into more exciting things.
To let the kids program directly online I have posted a collaborative learning-to-program site at dabbler.org that is the simplest possible solution I could think of.
It is wiki in spirit: it is a self-editable website that hosts a syntax coloring programming editor and a bunch of Javascript examples. It is a single shared collaborative space, and it has no access controls to jump through. The kids had a terrific time sharing code with each other and stealing each others' ideas.
Try it if you like. Etiquette and explanation here.