Ask HN: As a programmer, how should I teach coding to my kid?
My kid is now 8, and he seems very interested in what I do (I work from home).
I want to teach him coding properly, but I don't know where to start.
I don't want to overwhelm him, but I have a tendency of going too far when explaining something, like hooking a differential probe on an ethernet line to explain an HTTP request to my wife (yeah I'm crazy).
What language and environment would you use? I use vim, but I don't know if it's a good idea to teach him that first. Should I use a browser based tool? Should I teach him linux basics?
I have like a million questions sparkling.
What would you do? What did you do? I'm sure I'm not the first, I'd be happy to have your experience.
Thanks
I'm not a parent.
If I had an iPad/MacBook around, I'd sit with him and work through the Playgrounds-app Apple has for helping kids learn to code. Within the app, there's a bunch of games. You can start with Learn to Code 1 which starts off with lessons on commands, then continues to functions, for loops, conditionals, logical operators, while loops, and finally algorithms.
A couple of summers ago, a bunch of my friends developed a teaching curriculum for a summer camp. We used Lego Mindstorm to teach kids how to program code.
We also had a class where we introduced the kids to a Raspberry Pi, then installed a program called SonicPi which was then used to teach programming by playing a synth with code.
We also used Google's educational material to teach basic MachineLearning that used a computer's webcam and kids taught the machine to run a function when it recognized a facial expression or something like that.
Surprisingly, one of the cool ideas that did work was teaching the kids basic Blender, then 3D printing their models. We also had a super basic game development class that used Scratch to make games.
MIT's Scratch is very versatile, it shows up alot when you look for guides to get kids into coding.
You know, you can also just play board games with him. I don't know what it is but folks who grow up to be good at coding always seem to have anecdotes about playing games with their dad. I guess DnD helps kids develop their cognitive skills, like thinking logically and abstracting large concepts, both of which helps lay the foundation for getting your kid to be a good problem solver.
All in all, as long as the two of you are able to enjoy the time together and repeat the sessions regularly long term, it will work wonders for him. Sons need their fathers.
You got this,
The most important rule is to cross your hands behind your back. Try to help giving oral order, not pressing buttons.
I think it´s better to start with Python (The turtle library looks nice, but I have not used it.) or Javascript (Make some interactive pages.). Some small interactive project that he can tweak is always more interesting than an abstract project.
Later he can choose to go to C or Racket.
---
Also the languages you are use to is important. If you like C, I recommend using the fake language "C+" that is using the C++ compiler to compile programs in C, but using cout instead of printf and ignoring all the other features of C++.
undefined
Not sure if this is what he's interested in but what initially sparked my interest in programming was robotics. I'd suggest maybe looking into something like that either Mindstorms, or some sort of ardruino based robot. There's an instant gratification from seeing a robot move with very little code.