
Ask HN: As a programmer, how should I teach coding to my kid? - kuon
My kid is now 8, and he seems very interested in what I do (I work from home).<p>I want to teach him coding properly, but I don&#x27;t know where to start.<p>I don&#x27;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&#x27;m crazy).<p>What language and environment would you use? I use vim, but I don&#x27;t know if it&#x27;s a good idea to teach him that first. Should I use a browser based tool? Should I teach him linux basics?<p>I have like a million questions sparkling.<p>What would you do? What did you do? I&#x27;m sure I&#x27;m not the first, I&#x27;d be happy to have your experience.<p>Thanks
======
kashfi
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,

~~~
kashfi
Also, I attended Strange Loop conference last September and there was a
keynote speaker who discussed effective ways of teaching programming to kids.
The talk is on YouTube and I gotta say, it's very insightful.

"How to teach programming (and other things)?" by Felienne Hermans Link:
[https://youtu.be/g1ib43q3uXQ](https://youtu.be/g1ib43q3uXQ)

------
gus_massa
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++.

------
MivLives
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.

