Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Teach Programming to My Kid
16 points by codegeek 13 days ago | hide | past | web | favorite | 13 comments
I want to teach HTML/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.

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.

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.

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.

When my child was that age, I had some similar ambition. Now my child is an early adult. In hindsight greater patience and a longer view would have been better. Not that things are bad. Only that more patience and longer views are probably always better in the long run even if they are hard to develop.

Did the performance improvement persist several grades later?

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!

I taught Python to my 8 years old son using this book https://www.amazon.com/DK-Workbooks-Computer-Coding/dp/14654...

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.

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

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.

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

My kid's school uses CodeSpark

kano store

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact