
Ask HN: Teach Programming to My Kid - codegeek
I want to teach HTML&#x2F;CSS and may be something like Turtle (Python) to my almost 7 year old. What else do you recommend ? I know about Scratch from MIT.
======
brudgers
_What else do you recommend ?_

Patience and a long view. Computational understanding only has much value for
your child at multiples >= 3x of their current age. Right now, the primary
value will be spending time with you and you sharing your interests with them.
Good luck.

~~~
codingdave
What they found when they started teaching computational thought to young
children in various school districts is that there was an unexpected benefit,
in the ways the kids approached the rest of their work. They no longer would
complain about not doing well in math... they would talk about debugging why
they didn't get the answers right. It turned kids as young as 6 towards
problem-solving, and their academic performance increased across all subjects,
across entire classes.

That is the true value to your child - to give them an entire new perspective
on problem solving, that help them to realize their own performance is not a
thing to be judged, but a result to be improved.

~~~
CameronBarre
I went through this transition in college. I was bad at math, historically,
and after 2-3 years of obsessing over programming, math finally revealed
itself as something mechanical and conquerable.

I'm NOT a math genius (or any kind of genius), but it went from being
unapproachable to being totally learnable.

------
mattdeitke
I recently graduated from high school, and have some experience with
programming in a middle school/high school setting. However, at the moment, I
cannot recall much about when I was 7 years old, so I might have high
expectations here :)

I believe it's probably most important not to force your kid to do anything
and just guide them in a direction and let their interests shape what they
spend their time on. Most peers my age grow up with a pure dread for math and
science disciplines because it was forced on them throughout their whole life.
For me, it's still painful to think about anything related to chemistry/world
history because I just remember a sure dread while taking the course (although
that probably had more to do with the course/how it was taught than the actual
content).

I don't think Python's Turtle is the best way to go here because it is
difficult to build on the skills learned while mastering Turtle. Plus, nothing
that will be built ends up being that impressive (whereas HTML/CSS can make
awesome things). Scratch is probably a pretty good way to start just to get
them to think about how specific problems could be solved.

For beginners, and kids especially, it often works great when you can build
something concrete and show it off to people. Here, HTML and CSS will work
great, since they are super basic and will produce real-time feedback.
HTML/CSS can get you pretty far when building a website, but then once they
begin to question how to do more difficult things, it may be a good time to
introduce JavaScript, just because it can talk directly to HTML/CSS and there
will be an element of realtime feedback. With HTML/CSS/JS, I recommend
checking out Electron (which is a framework to create desktop applications in
HTML/CSS/JS) and looking at how to publish a site online (e.g.,
Github.io/heroku for free sites or buy a domain from Google for ~$12).
Similarly, it may be beneficial to check out Swift and Xcode to develop iPhone
applications. Swift produces a bunch of entry-level material and they have a
nice drag-and-drop user interface, which helps visualize things.

If they're super into science and math, it may be beneficial to play with
Mathematica.

If they're interested in games/VR/AR, check out Unity.

Beyond that, I follow the new-crowd here and would start with Python. The
syntax is much better than other languages and it captures many of the most
important features in programming languages. There is also phenomenal support
for Python packages.

Good luck!

------
html5web
I taught Python to my 8 years old son using this book
[https://www.amazon.com/DK-Workbooks-Computer-
Coding/dp/14654...](https://www.amazon.com/DK-Workbooks-Computer-
Coding/dp/146542685X/ref=as_li_ss_tl?s=books&ie=UTF8&qid=1518142227&sr=1-19&keywords=coding+for+kids&pldnSite=1&linkCode=sl1&tag=indus053-20&linkId=50b7d7e38f1de60d9fd51dada45cc5e9)

------
tcbasche
Do they play any PC games? Some basic modding might be a good idea.

I remember doing really basic 'mods' for Morrowind (like a chest that asked
you questions - it was written in the flavour of C++ that the game engine
used) based off a tutorial.

For me this was a really interesting and engaging way to get into coding, and
I think that's often the biggest hurdle for kids - keeping them engaged.

------
wtmt
Take a look at the "for kids" books by No Starch Press. [1] I don't know how
good they are, but No Starch has several options on different topics,
including Python.

[1]: [https://nostarch.com/catalog/kids](https://nostarch.com/catalog/kids)

------
tmaly
I am working on a course to teach kids ages 5-12 programming using Scratch. I
am behind schedule in releasing it, but I would highly recommend you try
Scratch.

The visual blocks, sounds, and some plugins like musical notes make it a
really fun approach creatively speaking.

------
html5web
Create a Codepen account for your kid and show how to make simple web
elements. Start explaining simple tags, like: <h1>, <img>, <iframe> (copying
and pasting YouTube embeds), <a> tag etc...

------
lhorie
My kid's school uses CodeSpark

------
OldSoddus
kano store

