←back to thread

7 points AsifMushtaq | 3 comments | | HN request time: 0.656s | source

I’m an experienced developer, but recently my 13-year-old daughter told me she wants to learn programming—and surprisingly, I find myself unsure about how to get her started.

There’s an overwhelming amount of advice out there. Some suggest beginning with Scratch or other no-code platforms, while others recommend jumping straight into the command line or a “real” programming language.

I’m torn between a bottom-up approach (teaching the fundamentals first and building up) and a top-down approach (starting with something more visual and practical, then filling in the gaps later). If we go top-down, should we start with Scratch or dive directly into a language? If it’s a language, should it be Python, JavaScript, or something else?

Even on the hardware side, I’m debating whether it’s better to get her started on Windows, macOS, or something else entirely.

I’d love to hear from those of you who have introduced programming to kids (or started young yourselves). What worked, what didn’t, and what path would you recommend?

1. codingdave ◴[] No.45071170[source]
You'll find that when they teach kids in the schools, they start with the fundamentals. Logic, branching, loops, problem decomposition, debugging. Doing so has even been shown to improve their overall academics because they approach all their classes with an eye to logic and troubleshooting when they get things wrong and it builds resilience and self-correction into their world views.

Even aside from that, it puts them in the same boat as experienced coders, in making their own decisions -- If they know the logic, they can choose for themselves whether they prefer the syntax of Python vs. JavaScript, or any other environment.

replies(1): >>45071550 #
2. DauntingPear7 ◴[] No.45071550[source]
I think you’re over estimating the intellect of the average 3rd grader here. I think a gentle and feedback/visually oriented method would be best
replies(1): >>45073032 #
3. codingdave ◴[] No.45073032[source]
You are correct that the presentation needs to be age-appropriate, but that is orthogonal to the material being taught.

If you want to see how it all comes together, this is a fairly solid representation of how it is approached for kids in the schools: https://code.org/en-US/curriculum/computer-science-fundament...