Ask HN: Technical parents; how do you teach coding?
What are tools, techniques and programs do you use to teach young kids (1st grade) to code? 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! Nothing to add, but just wanted to add that you sound like a good parent!