7 ms·
Ask HN: How are you teaching your children programming?
What websites, apps, tools, videos have you decided on to teach your children programming? Are you using only online resources, or also traditional classroom setting? What do you like about the apps and tools you are using, and what could be improved?
- jstewartmobile 9y agoI'd stick to the stuff actual programmers use. You'd kind-of be dogging your kids if they didn't get at least a little dose of the messes we have to deal with as developers. It's like if you got them all excited about writing slick screensavers, and they have a ball, then when it's time to get a job they realize it's all about grinding out the same boring shit everyone else is doing, and having a million little bullshit-meeting-micro-dominance struggles over everything from FP-vs-OOP down to tabs-vs-spaces. At least they'll have been warned.
- whiskers08xmt 9y agoProgramming doesn't necessarily have to be job training. It can be useful, and even joyous, outside of a the modern office setting.
- jstewartmobile 9y agoNever said it did, and most things can be joyous outside of the modern office setting. Hell, I like cooking, but I wouldn't want to do it in institutional quantities on a daily basis.
- MariaMorris 9y agoI always suggest that you must read online. There are lots of website which provide different different fundamentals and tools or example. Some website are very useful.These sites are always updated and continuous work on the projects.They have millions of followers. You can easily contact me for more information at https://buylikesservices.com/ https://buylikesservices.com/
- nether 9y agoI would not. Kids should be outside playing and interacting with other kids, not coding.
- danpalmer 9y agoWhy are those two things mutually exclusive?
- seanmcdirmid 9y agoCoding outside while running around sounds like a bad idea. But if you meant non-concurrently, then I agree: kids have lots of time, especially if you don't allow them very much screen (TV, play computer) time.
- 5ilv3r 9y agoI learned php on a handspring visor with the manual downloaded into a offline browser app while on the playground. Couldn't even run my code until I got home and hotsynced it!
- ams6110 9y agoCoding, in my experience, tends to consume a lot of time especially for a kid who is getting into it. I think many of us here can recall the long hours or even all-night coding sessions we did when we were young, learning, and everything about programming was new, exciting, and frustrating at the same time. When I was young (12-15) I spent a lot of time programming and very little interacting with other people outside of school hours. The same thing can happen with video games or even reading of course.
- jontewks 9y agoThey aren't asking for parenting advice here. Kids need more than just playing outside, hence the whole school thing.
- pbhjpbhj 9y agoI like how you went right ahead and contradicted your advice - kids don't need school either, lots of kids thrive on "education otherwise" (a UK expression covering unschool, homeschool, home ed, etc.).
- deepnotderp 9y agoBy cultivating interest, not by forcing them into it.
- procrastinazy 9y agoAnd how to do that ?
- racl101 9y agoBy seeing all the fat stacks that mommy or daddy is bringing home?
- Applejinx 9y agoEw, on several orthogonal levels.
- pbhjpbhj 9y agoCould you expand on your reaction a bit? Seems like encouraging children to follow an interest that could lead them to wealth through work isn't a bad thing?
- uoaei 9y agoYou're encouraging a money-grubbing attitude, which is not really a healthy one to have for long-term happiness. Furthermore, if they only see it as a path to money and not an end in itself to construct great, helpful, beautiful programs, they're gonna burn out real quick. Also, "having money" as a goal is just somehow repulsive. Seemingly all the sleazeballs of the world are oriented like this, and as a result they tend to be very shady and use people as means to getting money rather than actually people, with whom meaningful relationships can be forged.
- sosborn 9y agoYou have to let kids latch on to things they are interested in. The best way to do this is to expose them to as many experiences as possible. It is very likely that your kids will not latch on to the same things you did. As a parent, the best thing you can do is to let that go and focus on what your kid actually wants.
- johnny313 9y agoThis has been an interesting topic for my wife and I. Our kids have very limited screen time, and do not have access to a computer / smart phone / iPad on a regular basis. Recently, though, my 1st grade son, the oldest, found the book "Coding Projects in Python" (https://www.dk.com/us/9781465461889-coding-projects-in-python/ https://www.dk.com/us/9781465461889-coding-projects-in-pytho...), and read through it for about a week before asking if he could use my computer to try some of the projects out. I set him up on an old linux box with no internet access, opened a text editor (gedit), and showed him how to run his scripts in the terminal. Honestly, I thought he would loose interest after a few days. But he has stuck with it for the last few weeks, working on the projects after school with minimal help from me (I work from home). So far, he learns what he is interested in, skipping around the book to find projects he likes. He has learned a fair amount in that time, and importantly for me, is learning a bit about how the computer works at the same time. Not sure where we will go from here, but the self-directed path is working well so far.
- softawre 9y agoYour son is impressive! My daughter is 3 now and I pray she follows a path like this. Obviously I will love her regardless ;)
- setr 9y agoEven if she picks the wrong editor?
- aloisdg 9y agoEven if she mixes spaces and tabs?
- TremendousJudge 9y agochildren were thrown from cliffs in ancient Sparta for less
- spike021 9y ago
- jernfrost 9y agoI do it very haphazardly. I've used hour of code, apple's swift training program on the iPad, scratch, cargobot, sprite-box, the new bbc micro with some ms programming tool. But I've only spent a few minutes on each tool ocassionally. My impression is that you don't necessarily need a concerted effort. My youngest learned reading when he was 5 through a rather lazy approch from me and my wife. We just did stuff ocassionally at the spur of the moment. Some ideas seem to just need time with kids.
- kchoudhu 9y agoI'm not. But they do occasionally come over and ask me what I'm doing. When they do, I explain.
- geebee 9y agoMy kid has been to a couple of camp Edmo where he does some programming for Minecraft, etc. He enjoys it, though most of his summer was outdoors stuff. I haven't looked at the actual code produced in these camps, so I couldn't tell you much more. I actually have started doing some programming with him around his math homework, using python. This doesn't replace doing things by hand, but it's very different from just using a calculator. There's a different thought process that goes into automating a solver through code that I think is a valuable mental exercise, and that can lead to a deeper understanding that repetitive drills. The downside to this is that it's more homework-ish, but he actually seems to enjoy learning and realizing how much busywork he can automate, and how much this can scale. Another wrinkle here is that I wouldn't recommend becoming a software developer or programmer as a career path - however, I do think learning to program is a great idea, especially where it comes to analyzing data. Programming and math ability can become something of a super power when you can apply it in a field where most people don't have those skills (law, medicine, digital humanities, etc).
- PaulHoule 9y agohttps://scratch.mit.edu/ https://scratch.mit.edu/
- webslingerm 9y ago+1 for Scratch, especially if they are younger. My son (when he was 8) really loved working through the Super Scratch Programming Adventure book (https://www.nostarch.com/scratch https://www.nostarch.com/scratch).
- ravenstine 9y agoWow, that's pretty awesome. I've never heard of Scratch.
- Dove 9y agoHe discovered scratch.mit.edu on his own, and has been getting more sophisticated by the day. I barely have to do more than help him debug things sometimes. I am pondering when to introduce him to more classical text-based scripting, but I will admit that nothing I can think of at the moment competes with Scratch for sheer ability to create and share games and animations easily.
- dclinton 9y agoMy son is 12 and a half. I have recently handed him a copy of "Learn you a Haskell..." and a laptop running ghci. He has been making his way through the first couple of chapters with only a little help from me, and seems to be understanding everything that's come up so far.
- redleggedfrog 9y agoOrganically, like just about everything else. Both my sons showed interest in programming at various times. We toyed with Scratch, then Visual Studio Community Edition to try textual input. Then some Python through Khan Academy and "Learn Python the Hard Way." Enthusiasm for it came and went and sometimes came back just like most things kids do. One son went on to be a fairly competent programmer, using Mathematica in pursuit of his engineering degree. The other still dabbles in it from time to time, but likes other technical subjects more. The important point is they really don't need a lot of programming when they're young, just like they don't need a lot of any specific technical field. They just need to know it exists and maybe pique their interest.
- cortesoft 9y agoI kinda want to teach her the same way I learned, by giving her an old 1979 BASIC programming book at 7, and setting her up with an interpreter. Although, it would be so much easier to learn with the internet....
- vxxzy 9y agoI tend to give my kids (3 and 5) verbal logic puzzles to get their conditional down. Something along the lines of "A cat has a tail and four legs and a dog has a tail and four legs, so a cat must be a dog". It normally ends with them pointing out why they are different... Just as an example but there are all kinds of everyday occurrences that can be used to initiate a logic puzzle.
- lucozade 9y agoWhen my children were young I wrote them some games using Love2d in which they and their pets were the characters. It was just intended to be a bit of fun, and it was, but they were actively involved in the game design and the artwork. I also worked through some of the maths and physics with them and they saw how it all came together in the code. I'm not sure they did any coding per se other than tweaking parameters for gerbil speed etc but I think they got an appreciation of where programming fits in and how it's part of an interconnected whole. Subsequently they have used Scratch at junior school and they all took to it without any help from me. None of them have shown a particularly strong interest in pursuing computing either academically or as a profession and I haven't seen any need to push it. If your children do show an interest though, I do recommend something like Scratch or Love2d (I'm sure there are equivalents for other dynamic languages). It's easy to produce a game that's surprisingly good and the feedback loop is essentially instantaneous. I particularly liked how, with a game, it naturally brings together art, maths, science, computers and programming without feeling forced.
- edgartaor 9y agoI heard that many kids learn some programming to mod Minecraft. So if you want your children learn programming, find a motivation and do not force it.
- lordnacho 9y agoI got my 5yo a Lego EV3 robot for his latest birthday. There's a good combination of building a real thing and then messing about with the visual program editor to make it move, shoot, turn, etc. Seems to have figured out basics like how to change the number of repeats.
- pnathan 9y agoI change his diaper, hug him, and tell him I look forward to him crawling. But seriously, I'm probably not going to Teach Programming; it'll be be one of the Things Your Dad Does, and he's welcome to be interested; I'll push him to understand the computer as a building block and change agent of society, but programming, meh. If he really wants to fart with a tablet, I'll redirect him to a rasppi - to be a cocreator, not just a consumer.
- DonnyV 9y agoThe best site I'v seen for kids. Is a site I ran across by accident on reddit. http://silentteacher.toxicode.fr/ http://silentteacher.toxicode.fr/ The simplicity and slow progression of it is really great for kids. My daughter is 7 and she loved it.
- 3l3ktr4 9y agoHas anyone ever used https://www.tynker.com/ https://www.tynker.com/ ?
- stnmrk 9y agoMan if I had focused on programming instead of gaming I would do myself such a favor. Even though Im a dev I find it hard to do get much better nowdays, finding time etc.
- 20years 9y agoMy now 13 year old son first started at age 9 through Minecraft hacking away at mods. More recently he moved into creating JavaScript games and creating Raspberry Pi projects with Python. Our latest project is a retro arcade system built with the Pi. So games and fun projects that we work on together. Also don't try and overly force coding standards at this young age. Let them hack away and have fun.
- jasonkostempski 9y agoCurrently, in the worst possible way, Roblox. I hate everything about their business model but the environment is perfect for encouraging programming. For starters, developers/hackers are often represented as heroes. Kids know who they are because they're the subject of in-game lore and YouTubers talk about them a lot. Second, Roblox Studio is a mostly complete, easy to work with game making environment, assets are easy to obtain and scripting is in Lua. Most importantly, kids can show off their work immediately to all of their friends in a multi-player world. The bad parts of Roblox provide an opportunity for me to explain exactly what's bad about proprietary tools, centralization, pay-to-win, spending real money on digital goods, etc. Roblox isn't much worse than AAA games in this regard. My kid is showing forethought about spending his limited supply of Robux and he's parroting some of my rants when he talks himself out of buying something. Hopefully that parroting turns into genuine understanding. Eventually, he'll want to move on from Roblox or they'll disappear and he'll learn first-hand the pain of moving to a new platform and leaving all of your code and digital goods behind; and that the only things that last are libre code/assets, algorithms, concepts, ideas and memories.
- tmaly 9y agoI actually picked up this Code & Go Robot mouse activity set from a local Micro Center this past weekend. Its ages 5+, but a 4 year old can do it. you can command the mouse to go forward, backward, turn right, and turn left. You build your own maze out of the pieces. There are little cards with the action that they can place on the maze to help plan out the steps. I think this is a great option. Previously I had recommended the board game robot turtles, but I think this is more appealing to a child.
- mverwijs 9y agoFirst get them hooked on minecraft. They'll use youtube to learn about mods and plugins. And a few years later they're downloading Eclipse and starting to code their own plugins again using youtube to learn how. True story.
- firimari 9y agoWe're teaching our kids programming by having them on FIRST teams. The youngest is on his second year FIRST LEGO League team, and the oldest is on a FIRST Tech Challenge team. http://ev3lessons.com http://ev3lessons.com is a great resource for introducing robot concepts using the LEGO Mindstorms EV3, which uses a block programming interface derived from LabView.
- fulminatorz68 9y agoVery hard to teach. How are you guys doing it? I'm trying unix bash shell scripting which I picked up at the age of 29 pretty easily and felt like I could do useful things repeatably in 4 months? My programming origin was trs-80 and basic, and for the last 20 years C, TCL, python and csh|bash|awk|sed.
- olkid 9y agoNuture their curiosity. After showing my children how a Caesar cipher works(on paper), I left them an encoded message. They decoded it and then left me a message in return :-) While this isn't programming, encryption is a solid CS topic. We've covered the binary numeral system and logic circuit diagrams(again on paper) and various simple programs on the command line like: output a message 1K times in different patterns. The engagement comes with asking them questions like "what do you want the message to say?" and "what do you think it will look like if we add another space? or another tab?". We've tried some online resources like hourofcode.com, scratch.mit.edu, tour.golang.org, codecombat.com. Minecraft command blocks allowed them to try code written by other people, that was pretty cool. As others have mentioned, it was all spontaneous and organic. It felt more like playing then learning, like "check this out" or "here, let me show you something". All the topics and online resources were short lived. My children(11yrs, 7yrs) are being exposed to logic and programming in a piecewise approach.
- sevensor 9y agoI try to make sure they understand mathematics, reading, writing, and logical thought. I try to cultivate independence, common sense, and good judgement. Teach them to tie their shoelaces and recognize poison ivy. Whenever they show curiosity about computers, I take them seriously and explain until they're satisfied. If they should decide to write programs, they'll have the background they need. And they'll have my help, if they want it.
- fasdfdsafas 9y agoI feel sorry for any kid forced to learn programming at a young age.