12 ms·
Ask HN: How are parents who program teaching their kids today?
Father of two here. I started coding in BASIC when I was 8 and fell in love with computers. It evolved into a passion for building products, and it has been my life's career.
My son is showing interest in programming, mostly because, like other kids, he wants to make games. That's what got me started, too :) We've been working with Scratch and GameMaker, and I’ve been focusing on fundamentals like logic, structure, and problem-solving.
It's really about getting him experience breaking problems down so he can solve bigger problems. E.g., before the hero can shoot an arrow to defeat the bad guy, we need to be able to create arrows, move them, know their position, and know when they hit the bad guy. He gets it.
That said, I wonder whether focusing on CS fundamentals is worth it. Knowing fundamentals is always useful, but learning to collaborate with an AI is probably the more important long-term skill.
What are other parents doing? Have you found a balance? What tools are you using?
- codingdave 1y agoYou are already on the right track. Fundamentals are far more important that trying to teach them whatever is current in the industry, whether that is a popular language or using AI. Those things change over time. Fundamentals do not. So keep on teaching those basics, and he'll figure out whatever the current toolkits are, as needed, just like we do.
- paulryanrogers 1y agoWhich fundamentals may vary. College insisted I learn binary and bit shifting, which I've never had to use without libraries doing most of the heavy lifting. Data structures was more useful, though the business focus was at odds with where game dev was at the time. Games in particular are such a vast mix of skills, techniques, and ever shifting market demand. I left game modding and went full time into biz software as my pixel painting and low-poly modeling skills were falling out of favor. Art fundamentals served me well enough, but I was far too slow an artist to put out high fidelity work at the new pace. When my dad gave me QBasic, I bounced off it hard and thought I hated programming. Meanwhile I was programming games with tools like Klik-n-Play, Con, and batch files. Later in university I had to learn several programming languages and finally it clicked.
- wslh 1y agoI think it's best to start close to the goal and move into problem-solving once something is up and running and needs improvement or optimization. Focusing on CS fundamentals isn't always worthwhile, unless there's a genuine interest in computer science or math olympiad style problems. Today, we can operate at a higher level since most core algorithms are already available in libraries and frameworks. Just my two cents: if your kids aren't very interested or ready for that kind of knowledge now, you might find that in a few years they can learn it surprisingly quickly if they're interested then. What takes months to teach early on might work in days or hours later. Also, don't forget to explore https://www.alice.org/ https://www.alice.org/ it's a 3D way to get started.
- laze00 1y agoNice, hadn’t seen Alice. Thanks for the rec.
- B1FF_PSUVM 1y ago> if your kids aren't very interested or ready for that kind of knowledge now Roger that. I showed some Python magic to a pair of 10 year (or so) olds, they weren't too thrilled. Also Lego (my childhood magic) didn't do much for them. But they liked Minecraft well enough... One of them is now an engineer, slinging C and Python as needed.
- Wowfunhappy 1y agoHave you used Alice recently, and if so what platform are you on? It seems to have become extremely crash-prone on recent versions of macOS, to the point that the school where I teach is planning to remove it from the curriculum next year, even though we otherwise like it a lot.
- wslh 1y agoThe last time was on Windows, there were more active before. I think in macOS you should play with a good Java installation support.
- dybber 1y agoI have run a codeclub for 10 years. Here’s some quick thoughts: - Make them curious, if they are curious they will teach themselves. Example: don’t tell them what a for loop is, make a project where they really need it, but let them first to write it very verbosely without loops, then they will almost invent it themselves and be relived when you teach them (same style can be applied to most things) - make projects that have low entry level, but where they can improve it infinitely. E.g. build an aquarium simulator or a city simulator using p5.js - make them collaborate with other kids if possible, often they learn better from their peers than listening to their parents. Facilitate collaboration, and help them come up with more and more difficult projects, that require more and more of them, so they don’t stay on the same level too long
- paulmist 1y agop5 first sparked my interest in programming 10+ years ago when I was in secondary school. Definitely recommend.
- primitivesuave 1y agoThese are awesome pointers. I especially agree with your first point about writing verbosely - I would do this all the time when I was teaching kids. I would copy and paste things and write all kinds of hairy logic, so they can see how useful it is to use different syntax and apply some refactoring.
- exe34 1y agoI still do that at 38 - I often write something, copy-paste and edit something, and do it a few times until I figure out exactly what needs looping over. It's not always clear if you use coding as part of understanding the problem domain.
- akkartik 1y agoThis is pretty much the answer. - I made this little thing with 100 levels, each easy enough to do in 30 seconds to 2 minutes: https://akkartik.name/post/2024-10-26-devlog https://akkartik.name/post/2024-10-26-devlog. My kid has zero patience for lecturing, and this is me trying to sneak through that filter. - When you get to the end, it turns out you're pretty close to a game of Pong or Snake, and it's been interesting to see people build toward one vs the other. I've been obsessed with Snake lately, alternating between playing it and hacking on it: https://merveilles.town/@akkartik/114547652849162554 https://merveilles.town/@akkartik/114547652849162554
- deleted 1y ago[deleted]
- ramshanker 1y agoTouch typing is fun amd magic for kids. 9 more keys left out of 26 for my kid. I clearly see her developing muscle memory faster than I did myself.
- esafak 1y agoMine noticed that I did not look at the keyboard and she did think it was very cool! I told her it was simply a matter of practice.
- deepGem 1y agoDitto with my daughter. I don't really know if this helps them get into programming but she now types faster than me with much better accuracy.
- supportengineer 1y agoMy teenagers have zero interest in programming. They like just about everything else other than programming. They both have the ability, but it’s not what they want to spend their time doing.
- SOLAR_FIELDS 1y agoFor what it’s worth I hated programming as a kid and was not interested in it and didn’t pick it up until well into university. A couple of my siblings followed the same arc.
- bombcar 1y agoThe surest way I’ve seen is to show something practical that can be done - which can be relatively easy with things that interact with the real world - like programming Home Assistant to do things, especially things to annoy siblings and parents, like lights that turn themselves back off.
- Nextgrid 1y ago> show something practical that can be done The consumer tech industry's primary objective is "engagement" aka wasting human time and is thus intentionally hostile to automation or any kind of programmatic interactions, so it isn't easy to find such things.
- slt2021 1y agoprogramming can be picked up any time, rather invest time into building curiosity and basic fundamental sciences: math, physics, and micro/biology. these three fields underpin all advanced sciences
- thenoblesunfish 1y agoFantasic advice. Programming is something you can teach yourself. Spend the "teacher time" learning science.
- slt2021 1y ago+ world history (antics, medieval, modern) and something useful and hands-on: pottery / sewing / carpentry / gardening/horticulture / basic farming. curious kid will learn everything she needs with internet/chatgpt. Your goal is to make sure your kid is curious and not wasting time watching MrBeast or sending nudes on snapchat
- 28304283409234 1y agoMinecraft. After a while they'll want to write their own plugins. They will feel instant power when they learn the can run their own server with their own plugins and can change the actual game! (Worked for my nephew anyway).
- bombcar 1y agoMinecraft is great because even vanilla has “programming like” capabilities with red stone. And then modded Minecraft can take you all the way, as far as you want to go. Of course, I recommend starting with GregTech New Horizons - if they can survive that they’ll be able to handle anything!
- dataf3l 1y agoconsider colobot.
- primitivesuave 1y agoI taught kids how to code for several years, both in person and through a website that taught Python to ~500k kids. My eternal advice with teaching CS is to delay abstractions as long as possible. Teach them how to draw a circle on a canvas, then get them to move the circle to different parts of the canvas, then get them to draw multiple overlapping circles/rectangles/etc. Once you've got that down, make a bouncing ball animation, simple games, and so on. Most kids don't really care for leetcode problems these days, so it's best to stick to things that are visual, creative, and instant-feedback (i.e. games). This was a really useful realization when I was teaching kids to code in person for ~5 years. I started off teaching Java with an abstraction layer (https://www.bluej.org/ https://www.bluej.org/), but I found that many students would be intimidated by anything that ventured outside of the abstraction (e.g. just run `javac` on your computer with a `.java` file). My most successful students intuitively understood how to turn a text file on their computer into a useful piece of compiled code, or into a JAR bundle that they could share with others. They also used the various abstractions that were thoughtfully introduced over time - e.g. an IDE that gives you a run button, libraries like Firebase which enable some exciting multiplayer game options, and so on.
- deepsun 1y agoMy experience also shown that Python, being considered "simple", is actually harder for students to learn. Things I took as obvious are not for first time coders: Ok, so spaces and indentation matter. How many spaces exactly there should be around `=`? `a[1]` -- does it fetch something or does it modify something? `for k, v in a.items():` or `for i in range(10):` -- waaa? How many spaces there should be? What do you mean my Python script doesn't run, you see I clicked it and it runs. What do you mean "interpreter"? And the main issue -- types. I'm 100% convinced now that the first language must be strictly-typed, like Java, and don't use `var`, always use explicit types. Otherwise students don't think in terms of types, but "what I put there" like it can hold anything.
- scarecrw 1y agoI've been increasingly concerned by packaged CS curricula that includes an overabundance of guidance and tooling. I've seen too many students complete a course (successfully!) and leave without any ability to start building projects of their own. I don't want to end up as a curmudgeon griping about how "back in my day we didn't have an IDE!", as I'm in favor of giving students real world tools early, but I'm worried that we're filtering out some level of independence by sandboxing their learning so strictly.
- khelavastr 1y agoA real Roguelike like ADOM with ASCII graphics and key-based navigation is irreplaceable for teaching typing.
- SoftTalker 1y agoWho guided you? If you're like me, nobody. I was exposed to BASIC as my first programming language, and I just started doing stuff that seemed interesting. My school offered a few "computer math" classes as they were called at the time, which I elected to take, but nobody pushed me into it. Give the kid some programming tools and leave him alone. Be there for questions, and brainstorming if he wants it. Otherwise let him figure it out. He'll shoot himself in the foot, and maybe get discouraged but if his interest is deep enough he'll persist.
- aethertap 1y agoThis is how it was for me too, but I actually think the world has moved out from under us. The environment today is way more complex, and it's a lot harder to be proud of little things when you see people crowing about how they "wrote this little app over the weekend" and it's already polished and full of features. I remember being proud of my little unit converter that ran on the command line, and even more proud when I got an actual window to show up on a screen (GUI programming took a long time to get into). These days, those things just aren't special enough to keep them engaged. I don't know if it's just too commonplace now, or too complicated to get started, but it doesn't feel the same as it once did. My kids have finally gotten hooked by godot, after a few years of building up a foundation with simple programming assignments. It's fun to see them digging in for hours to make something, but man, it was a long road to get here.
- kyriakos 1y agoI come from a similar background and learned to program long before getting any formal cs education. The problem I find with my kid now is that back when I was learning the spectrum of things you could spend time on a computer was vastly smaller than it is today. The distractions are there and it's almost impossible for adults to avoid, imagine children. A pet project a child commonly wants to develop is a video game. Now imagine going on Google and searching how to build a game and what kind of results you get. How do you convince that child that he doesn't need the shiny flashy thing the ads are trying to sell and just needs to sit down and learn real coding?
- abstractbill 1y agoI started my kids on turtle graphics. There's a good implementation that comes with python that's very easy to get up-and-running, to the point where it quite reminds me of BASIC on the kinds of microcomputers I got started on as a kid.
- iamwil 1y agoWhat's the name of the implementation?
- abstractbill 1y agoIt's just "turtle": https://docs.python.org/3/library/turtle.html https://docs.python.org/3/library/turtle.html
- neilv 1y ago> Knowing fundamentals is always useful, but learning to collaborate with an AI is probably the more important long-term skill. How difficult a skill is "collaborate with an AI" that it can't be picked up quickly at any time (and will be changing rapidly)? And how permanently stunted is a person who always "collaborated" and never had to think. > I’ve been focusing on fundamentals like logic, structure, and problem-solving. These are good. And exploration, and having fun. > CS fundamentals You can gently drop CS-ish ideas, or more sophisticated programming ideas, as the kid is ready. For example, they're blocked on something they're building, and can't go any further, because they're trying to do everything as code with not enough data. So you show them what could be data, and what language feature enables that, and suddenly their code looks a little more sophisticated, and a lot less repetitive. If they keep going, eventually they will want to frontload learn all the CS things. Not for Leetcode interviews, nor for whatever job-gatekeeping atrocity is made up next for people who also have to interview-prep to fake "passion".
- margalabargala 1y ago> And how permanently stunted is a person who always "collaborated" and never had to think. How permanently stunted are today's programmers which have always collaborated with a compiler or interpreter, and never once written or even looked at assembly?
- oarsinsync 1y agoConsidering the ridiculous amount of memory and cpu very simple apps use nowadays, in large part thanks to things that enable developers to optimise for their own time, rather than compute, I think you’ve unintentionally hit the nail on the head. Very few developers today care about resource usage and resource management. Very few developers even understand that there’s something there to care about.
- margalabargala 1y agoIt wasn't unintentional. Like I pointed out in a sibling comment, I agree that plenty of present day programmers are not amazing. Things like compilers and LLMs decrease the necessary skill to become a programmer, but neither will decrease the skill or quantities of the most skilled programmers.
- ninetyninenine 1y agoNot all but many kids are destined to hate what you’re good at.
- AndrewKemendo 1y agoFather of three here (ages 11-15) I teach them the following: 1. Goal determination - what do you want to do? 2. Context mapping - What is the environment and action space we’re operating in? 3. Problem decomposition - Given The previous how can I chunk the overall space of action into measurable and manageable parts to solve 4. Tool selection - what effector systems can I access and can they solve the subproblems? 5. Structured solution exploration - Now that I know my goal, context, problem heirarchy and tools, how do I create experimental system to progressively solve each subproblem and the intersection between them Then it’s just running that until you have a solution This transcends “coding” to more important thing which is holistic alignment of goal (direction) and action capabilities (magnitude) that results in a measured action vector which is discrete and bounded.
- Waterluvian 1y ago8 year old badly wants to be an engineer like his dad. :’) Public school got him into Scratch so he was animating things. The high school robotics team I mentor has Lego robotics kits for their community outreach program. Those kits use Scratch. So I got him a used kit and he spends an absolutely ridiculous amount of time making robots that do stuff. This started at a very young age: we gave him access to a windows PC, not a tablet. So by 3 he could log in and get to YouTube kids. This meant that keyboard and mouse and web browser were very comfortable concepts. We also gave him and his younger brother countless building toys. Meccano. Lego Technic. A few lessons I’d love to empart: - you can’t make your kid into this. His younger brother has no interest and is far more about sports. So we nurture that with him instead. - open ended learning. I’m not sitting down and teaching him. All I do is make sure he has access to the tools, and I unstick him when he’s stuck. - I connect concepts when I see them. “That’s called a loop. It’s just like that thing you did in Minecraft to make your machine work over and over again.” - the learning must all be a side effect of having fun. Don’t try to teach programming. Do fun things and fill in the programming toolbox, tool by tool, as they’re needed. - connect programming to what your kid is passionate about. Programming is a means to an end, not the end itself. My kid loves trains and has a Lego train set. I suggested he use his technic to automate the track switch. I then let him work at it for hours and hours over weeks, giving him breadcrumbs of what to consider next.
- tough 1y agoGoboscript was on HN a few days ago https://news.ycombinator.com/item?id=44026799 https://news.ycombinator.com/item?id=44026799 for when they grow up =)
- laze00 1y agoThis is great advice.
- chasil 1y agoWhen I was younger, the "logo" computer language was well-regarded for education of the young. It is now a JavaScript platform: https://turtlespaces.org/ https://turtlespaces.org/ Historical background may be helpful: https://en.m.wikipedia.org/wiki/Logo_(programming_language) https://en.m.wikipedia.org/wiki/Logo_(programming_language) Smalltalk, as the founding language for object-oriented programming, was originally targeted at children. https://en.m.wikipedia.org/wiki/Smalltalk https://en.m.wikipedia.org/wiki/Smalltalk I don't think any operational versions still exist.
- danenania 1y agoI have a 6 year old daughter—got her a lego boost robot kit recently and she seems to be taking to the programming aspect. It’s cool to watch her experimenting. It has a nice graphical block based programming environment that is pretty intuitive for her with an ipad. Makes programming concepts very concrete/tangible. It’s fun for me too since learning to program robots has always been on my bucket list. Chatgpt helps since even though it’s meant to be intuitive, you still run into various issues pretty often, and documentation is scarce. Sending screenshots to o3 works amazingly well to get unstuck.
- rkoots 1y ago[dead]
- moritonal 1y agoSpacechem!
- orochimaaru 1y agoMy 14 yr old wants nothing to do with coding. She hates scratch which I think spoiled the experience for her. I think schools should dump scratch and move directly to programming languages. Besides she’s at the age now where she doesn’t want the parents in her business.
- joshuajooste05 1y agoPrompting, especially for code, is not too difficult of a skill to pick up, but the ability to A understand syntax and B develop the way of thinking is much harder. I think the only way to learn to code is to really limit the use of AI (obvs can speed up some things, but never let him copy and paste from it) I don't really think there is a substitute for encouraging him to push through without AI tbh. When he eventually start's vibe coding, it will be like putting a v8 in a Ferrari instead of a VW golf.
- chondl 1y agoWhen my child was in the 9-12 year range we did programming with Godot. He liked building games so it maintained interest. Previously he had been working Scratch and the Godot editor was a much easier on ramp to building more complicated games than trying to do them in Java or Python.
- StrauXX 1y agoNot my son, but I did teach my younger brother programming. From when he was about 10 to when he was about 14. I started out when he was showing interest in my programming work. I ended up gifting him a book on programming for kids. Then nudging him into working on it every now and again and helping him out when he had issues. Mostly my goal was to make him motivated to learn (showing him interesting projects I had been working on, etc.). From my experience with motivation and time the skills will come themselves, without motivation, every attempt is pointless. It was a slow burner but over the course of four years he ended up learning quite a lot. Now being one of the best programmers in his college.
- scarecrw 1y agoI work teaching CS to a variety of age levels (admittedly mostly teenagers and older), and one thing I would recommend is broadening your consideration about what CS fundamentals might include. Picking up language syntax or new tools is easy enough at whatever age, but problem solving and planning skills are very tough to rebuild as they grow into adolescence. One of my personal favorite resources is CS Unplugged. [1] It sidesteps any particular language or toolset in favor of pen-and-paper interaction. [1] https://www.csunplugged.org/ https://www.csunplugged.org/
- evrrcuriius 1y agoI plan to begin and I grew up before the nineties. I probably know less than your kids. Paper is my native go-to. Thank you for this! Advice please: Can I get started using my now-antique Win 98 and Win7 hardware, while using phone or Win11 for online lookups? It looks to me like there is consensus for Minecraft and Godot. I expect Minecraft to work on old hardware. How about Godot? Can it be used offline?
- chili6426 1y agoNot a parent, I was a kid to a software developer and now I'm a software developer. I think the most important thing is nurturing curiosity. Whenever I wanted to know how something worked my dad would show me. Eventually I figured out how to learn things myself and it snowballed into the career I have now. I never felt dumb asking questions and now learning is my favorite thing to do. I was never taught to code, I figured it out myself using the curiosity my parents gave me.
- chaddattilio 1y agoCode.org has a fantastic suite of tutorials aimed at kids that use a Scratch-like environment but it also gets to the point where you’re writing code. Also free. Teaches concepts of control flow, functions, algorithms, etc.
- akkartik 1y agoIt used to, but it sucks lately.
- empressplay 1y agoCreative coding events like #Genuary (January) and #Minacoding (June) are good ways to pique interest too, each day is a different prompt to create something new using whatever you like.
- empressplay 1y agoIt's important to remember that the exercise of teaching children coding isn't so much about teaching them how to code, but how to think, how to plan, predict, conjecture, reason and so forth. It's just a convenient and quicker way of teaching these things than the alternatives. If they have a good foundation in these things, then if they choose to go on to coding later they can learn all of the minutiae. But I've found in teaching it is important to stress that learning basic coding is _not_ about steering them towards coding as a career, or even a pursuit. It _is_ important to stress that learning basic coding will help them become better problem solvers, better able to anticipate issues and mitigate them. And that this is useful to them in a wide variety of areas in which they may have interest, such as sports, engineering, adventuring etc. And yes, also learning how to guide an LLM. So once you get those fundamentals down in the context of coding (Scratch, GameMaker, Logo, BASIC are all fine here), go practice them in more real-world applications. Those are the skills you need to foster, not object-oriented programming. And if they take an interest in going further with coding, then that's fine. They will have the tools they need to do that.
- dyauspitr 1y agoThis is probably our last chance to teach kids programming before it becomes utterly meaningless to do so over the next 5-10 years.
- pekuhu 1y ago[dead]
- dfxm12 1y agoIn my experience, most of the time when kids say they want to make games, that doesn't mean they want to code them. Making a game is usually not a task done by a lone coder. It is a task done by someone who can manage different technical, creative and business types. I think kids want to have ideas. This creativity can be captured by coding, maybe, but maybe there are better outlets for the individual. The director of street fighter 5, for example, started as a music composer. I think it's important to really understand our kids. They may not have the experience or vocabulary to have this discussion. Wanting to make a game and coding are different things. You're on the right path in terms of breaking things down into smaller, solvable problems. Coding might be part of it, but translatable skills to making a game might also include leading a band, making a short film, playing team sports, etc.
- ryoshu 1y agoMentoring some middle school kids right now and they are coding games. They didn't know they could do it. But it's really easy these days with modern tools. They love it. And doing the music and art and story as well.
- deleted 1y ago[deleted]
- jmole 1y agoI have 3 kids, all around the same age (K/1). They all got laptops about 18 months ago for christmas. I installed mint linux on all of them, and installed a few free/libre games for them to play, and I self-host the game server at home. One game they play is luanti (formerly minetest). I gave them instructions on how to clone the git repository for the game, run the build script, and then start the game. They've probably forgotten the build instructions, but they know to play, they have to type `cd code/minetest` and then `bin/luanti`. Occasionally they have to run `git pull` to update the code on their computers. I handle all the game server administration. I initially blocked all internet access with a kill switch, but this quickly became an issue because you need to be able to run `apt update` and a few other commands to keep the system up to date. So now I run a proxy server called e2guardian that lets them access sites that I choose. Later, I introduced them to scratch, and I downloaded the entirely of griffpatch's youtube library with yt-dlp and organized it into folders on each of their computers. I've done the same thing with other tutorial style videos. They don't have access to youtube, and I don't really think it makes sense to give them access at this age. They run scratch locally, as opposed to using scratch.mit.edu. I enabled the scratch website for a couple of days as a treat for them, and as expected, they spent most of the time exploring and playing others' games, but very little time building their own. I sort of expected this to happen, so we closed off access a few days later, and they took some of the ideas they saw online and started playing with them locally. So my experience is: a) linux makes a great platform for kids, since it's very easy to tweak things to stop behaviors that you don't want to reinforce. e.g. `sudo chmod 400 /usr/local/games` turns off all the games, `sudo killall kidname` will close the desktop session if your kid isn't listening when it's time for bed, you can set up time-based login policies with pam_time, you can install your own root certificates for SSL MITM, etc. b) games reinforce that "computers are fun", and games like luanti are free, open-source, and hackable. c) interest in games naturally spills over into interest in making your own games. If you want to try luanti/minetest, I recently cleaned up/released a mod that I built for the kids last year called turtlebots. It's a visual programming tool that lets you program little turtle-shaped robots that can navigate in a minecraft-style world and build things as they move around. Source is here: https://github.com/jmole/turtlebots https://github.com/jmole/turtlebots
- protocolture 1y agoMy 2 year old is already way too good at problem solving and it causes me significant problems. His favourite book at the moment is "Baby Loves Coding" mostly because it features a train. He has a phonics laptop that he drags around the house, types on it madly then uses it as a step to climb over obstacles. He already uses 3 or 4 step logic when trying to get things, like seeking a second tool to use to pull something he wants closer to him. Pushes a chair to the front door, climbs up and tries to operate the deadbolt. My goal in the short term is to read to him more. Long term, I reckon he will be able to work with pygame before he is 10.
- agentultra 1y agoMy kids have been interested in what I do but programming is too abstract for them. Instead I’ve used a “math circles,” approach with them and we play games. CS Unplugged [0] is a good resource. As well as family games such as Set and Zendo. [0] https://www.csunplugged.org/en/#:~:text=CS%20Unplugged%20is%20a%20collection,and%20lots%20of%20running%20around. https://www.csunplugged.org/en/#:~:text=CS%20Unplugged%20is%...
- freefrog334433 1y agoI started a coding class at school because my 8yo preferred learning with friends. I made a website for parents to see, at http://rustycc.com.au/whyrust http://rustycc.com.au/whyrust for more details of why I chose Rust. I used Rust, partially because like you, I started with C at an early age, courtesy of my Academic father, who placed me in front of a Unix mainframe at the Uni "babysitting", and older children taught me. To make it fun, I developed multiplayer games, and children program the actions of a robot avatar, so they have their character, and robot in the games. I also used it to teach mathematics.
- rkoots 1y agoWe faced something similar and ended up creating an internal style and PR review guide — might be helpful: https://rkoots.github.io/styleguide/ https://rkoots.github.io/styleguide/
- hobsonlane 1y agoThere's a 3rd option. Teach programming like you self-taught leave CS for High School. Just teach a beginner programming language like you would teach a second natural language in a bilingual family. An AI assistant is useless to someone who does not know what "if" does, or order of operations or basic vocabulary, syntax, grammar, and symantics.
- senectus1 1y agoshowed my son how to write batch files, noticed he was getting interested so i showed him how powershell works. he got even more interested so I have ever since bought a family premium lic for youtube and let him teach himself. he's teaching himself c, c#, openGL, c++ etc etc. kids these days learn at their own rate via youtube in my experiance.
- rkoots 1y ago[dead]
- bhu1st 1y agoI setup an old Kano OS on Raspberry Pi 3 for my 8 yo boy. He managed to finish challenges upto Level 8 by himself mostly. The OS has block based programming challenges and games. The Pi PC is his and he is hacking it whenever he feels like. No pressure, not forcing him to learn coding or anything. I'm curious how it will unfold in later years.
- rkoots 1y ago[dead]
- deleted 1y ago[deleted]
- sriram_malhar 1y agoI think Scratch is fantastic. You get concurrency, timers, reactive programming, multi-media, design elements, and no syntactic rules to learn. So many concepts. As a next step, I'd suggest GoboScript, that was on HN a few days back. https://news.ycombinator.com/item?id=44026799 https://news.ycombinator.com/item?id=44026799 This is Scratch with a textual interface, with a few lovely and much needed extras.
- darthrupert 1y agoDon't teach your kids programming. Answer their questions when they have them, stop them when they're doing something obviously stupid (like too many hours on the computer, staying up too late, punching/yelling at the computer, that sorta stuff), but do not actively participate. Let them have their fun. Above all, do not get them a personal computer that is located in their own room. In other words, be a parent, not a friend or, even worse, a colleague.
- nico 1y agoWith kids under 8, been doing some light "vibecoding". I am their typist as they guide the ai to do stuff they want. Like these: * https://openjam.ai/stupid_coral_852/8s0opc6yc5 https://openjam.ai/stupid_coral_852/8s0opc6yc5 * https://openjam.ai/stupid_coral_852/y2hj69iqvo https://openjam.ai/stupid_coral_852/y2hj69iqvo It gave them the experience of using a computer to create more complex things they wanted to create. They also got to experience the fun of iterating on something while playing with it. It kinda felt very natural for them As long as they keep enjoying using these tools I believe they'll keep wanting to learn more
- rcarmo 1y agoMine are both teens now. We started with Codea, Pythonista and Swift Playgrounds and then moved to pico-8 (highest recommendation I can give to anything). Now they’re using Godot, plain Python/pygame and Swift. There was zero emphasis on CS fundamentals - they went out and explored those themselves.
- zeroc8 1y agoI've had good success in the past using the old, non object oriented Blitz Basic, which is a basic dialect enabling you to program simple 2d shooter games within two or three screen pages. Not sure what I'd use today though. I think the key is instant feedback and fun. Andre Lamothe has a Udemy Course teaching simple game programming using Javascript, which might be worth exploring.
- rkoots 1y ago[dead]
- aptj 1y ago@all Don't forget to help your kids learn to communicate, cooperate, stand for the healthy life on this wonderful planet (our common habitat) and resist being fooled and bullied. > Veritasium: How One Company Secretly Poisoned The Planet https://youtube.com/watch?v=SC2eSujzrUY https://youtube.com/watch?v=SC2eSujzrUY Edits: minor typos.
- sizzle 1y agoI wonder if the next generation of dads will be teaching their kids how to ‘vibe code’ with fun and simple prompting in the age of LLMs. This is readily accessible to non tech savvy parents and was never an option before, but here we are in 2025 with AI coding tools front and center. What about using LLMs to help break down the concepts in kid friendly terms, lowering the cognitive load for exhausted parents. I can even see it as an extension of your lesson plan, further guiding them like a virtual tutor version of yourself. Thoughts?
- bigs 1y agoMy 8yo has an iPad with Osmo Awbie which he loves. You use physical tiles to program steps in a logic game like “move right 3”, “turn 90deg”… They have a bunch of other programs too but for some reason I seem to only be able to find them on Amazon now. He did want to create Roblox levels and Blender based characters and it was just too much to start with.
- gus_massa 1y agoProbably start with a turtle, like https://docs.python.org/3/library/turtle.html https://docs.python.org/3/library/turtle.html First just graphics, then functions without parameters to make a fixed drawing on demand, then add a parameter to choose size or color... For games I think it's better to use absolute coordinates, so perhaps redo most of that without a turtle (and without rotations). > That said, I wonder whether focusing on CS fundamentals is worth it. Knowing fundamentals is always useful, ... Wait a little, until they learn to use the editor and run simple programs. Try to focus in teaching nice habits like not too many globals, but how many bits has a byte can wait. > ... but learning to collaborate with an AI is probably the more important long-term skill. I'd not worry too much. They will learn faster than you.
- type0 1y agoThonny is real good for beginners in Python https://thonny.org/ https://thonny.org/
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- PaulShin 1y agoA fascinating question. As a founder building AI collaboration tools, this is a topic we obsess over daily. You're wondering whether to focus on CS fundamentals or the skill of collaborating with an AI. My take is that this is a false dichotomy. From my experience building an AI "teammate" that's integrated into our team's daily workflow, the most crucial skill of the next decade won't be one or the other. It will be using the fundamentals to ask the AI better questions. The biggest challenge we see isn't the AI's ability to execute a task; it's our team's ability to frame a problem clearly and break it down into logical steps that the AI can understand. The best results don't come from our best pure coders, but from those who can translate a vague goal (like "make this design better") into a series of fundamental, actionable instructions. So, I believe the original poster is on the perfect track. Teaching his son how to "break problems down" – how to create arrows, move them, and know when they hit – is the foundational skill for collaborating with any intelligence, human or artificial. He is not just teaching him how to code; he is teaching him how to think. And that's the one skill that will never be outsourced or automated. Best of luck to the OP on his wonderful journey.