| First grade is looking pretty far back for this family, but here's what I did: Big-picture foreach(child): - Assess their personality as best I can (I was trained on this; it helped particularly to the degree that my kids aren't clones of me and prioritize different functional perspectives) - Think about how coder/not coder outcomes might vary based on their inner personality dynamics - Adjust expectations to meet them in the middle rather than "hey, you'll be a coder!" Little-picture foreach(day): - Observe their natural coding style when I can. For example, two of my kids code just by thinking, it's how they think. So they get natural coding practice by playing games, for example. - Develop an exercise. Let's say I decide they could use some exposure to formal coding style. Maybe I'll write a program and break it, or write one and have them modify it. "This alarm program plays a bell called 'bell.wav'. Can you make it play the fart sound here, fart.wav?" - Look at their response. Did they laugh? This helps. Did they act pressured, annoyed, bored? This is also helpful to know. I want to know where their energy is pointing, so to speak. Specific programs I've used: - System scripting languages like bash, ABS, Perl - Coding games like Lightbot - Scratch Things I would never do, after going through all that: - Treat coding as a skill they'll definitely need to know (I no longer believe in this and in any case, scheduling is a more likely-helpful precursor to formal coding) - Let other coding-related techniques lose emphasis: Physical coding (improvising tools with wire; whittling tools; improvising art tools), spiritual coding (chaining socio-motivational techniques for example) - Not ask them first what they wanna do Just my 2c though. Hope that helps! |