I think reading ability and keyboard skills make a difference to what is possible as well as the stage of cognitive development. Typing is hard even for a kid who can read well - it takes my 7 year old forever to find keys on the keyboard and although it's good for him to learn, I think python would be frustrating for him at the moment (and I know the indentation makes it hard even for older children!) We've had fun making stories in Scratch though and he made a game of his own design with some help from me on the harder bits. We played quite a lot of the board game Robot Turtles when he was younger too, so that's worth looking up for smaller kids, although I have to admit that as an adult I never really enjoyed it massively.
Ask HN: How do you teach you kids about computers and coding?
31–40 of 71 posts
Re: Ask HN: How do you teach you kids about computers and coding?
#32While we are here, I'd like to ask another question that If kids need to be taught to code before they turn 12 . First of all, HN being a place where board games are lauded before Digital Smartphone games, How is teaching kids to code (using digital devices) seen. Also, a day back, Woz made this comment: "Woz advice on coding for children. Meanwhile, Wozniak cautioned parents to not force coding skills to their wards…
I was a bit older than 12 when I learned programming with AutoIt, Ren'Py and Blender, but I would absolutely have enjoyed it if I had found out earlier. I didn't learn those because some adult told me to, I found out about them through my friends.
AutoIt is a programming language geared towards automating interaction with GUIs. A friend of mine was using a program written in it to bot in some MMORPG, and being able to control the mouse pointer also lent itself to prank programs we'd send each other. I learned quite a bit just by modifying that original program, and later implemented Gaussian elimination in AutoIt to take care of my math homework.
I learned Ren'Py when another friend showed me a simple visual novel he'd written in it, and I got inspired to write my own. For some aspect of it (I think it was to keep track of health points?) I needed to use Ren'Py's Python scripting, and so I ended up learning a bit of Python.
Later, I was doing a stop-and-go movie with Lego figures together with that same friend. We really wanted to have awesome 3D effects and had heard that it was called animation or something. So I googled it, downloaded Blender, and went through the tutorial on modeling. I mean, how hard could it be, right? I think Blender is somewhat renowned for the complexity of its interface, but at that time every interface was complex for me. After weeks of painstakingly remodeling Lego pieces down to the little notches, we finally had our space battle with lasers, and it was awesome. Later, I repurposed those models for a game using Blender's built-in game engine, and it was easy in comparison (although I still don't fully understand how rotation in 3D space works).
In all of these cases, programming was something I lucked into as part of some other activity. I wanted to do something else, and writing code happened to be easily available as a solution. So I think what a parent can do is give their children the opportunity to play around with lots of different things, and when something they want to do requires a little code, show them how to do it.
Re: Ask HN: How do you teach you kids about computers and coding?
#33I wish Microsoft would invest 1 or 2 of its many million $ to re-include a simple QBbasic like they did back in the DOS days. I can attribute 95% of my interest in programming to that one single program.
Re: Ask HN: How do you teach you kids about computers and coding?
#34I wish Microsoft would invest 1 or 2 of its many million $ to re-include a simple QBbasic like they did back in the DOS days. I can attribute 95% of my interest in programming to that one single program.
That game that came with Q basic where the gorillas throw exploding bananas at each other was always a good time.
Re: Ask HN: How do you teach you kids about computers and coding?
#35I wish Microsoft would invest 1 or 2 of its many million $ to re-include a simple QBbasic like they did back in the DOS days. I can attribute 95% of my interest in programming to that one single program.
Even back then, other machines did more to push kids into programming. Turn on a C64 or TI-99/4A (what I had) and you were in a BASIC interpreter.
Re: Ask HN: How do you teach you kids about computers and coding?
#36Minecraft with the Python API. On the Java version of Minecraft you can get it with the Raspberry Juice mod for bukkit: https://github.com/zhuowei/RaspberryJuice On the Android version of Minecraft you can use the Raspberry Jam Mod https://play.google.com/store/apps/details?id=mobi.omegacent... The Minecraft version for the Raspberry Pi is very limited, unfortunately.
Re: Ask HN: How do you teach you kids about computers and coding?
#37Back in the day, we had no choice: you learned BASIC, and when you realised it was too slow, you learned assembler. I was shown my first ever BASIC program on a Commodore PET by a sixth-form student when I was about 13 or 14. There was no-one to teach you, so you were pretty much on your own. I swear that experience of learning Z80 assembler by typing in the hex or decimal opcodes (I couldn't afford an assembler), was the single most important event of my programming career.
With my kids I was pretty hands-off. Pushing them too hard would probably result in rebellion. But when my son started asking what language he should start with, I found it very hard. We tried Minecraft modding, in Java. Then some Python, which he took to fairly quickly (age 12 or 13). Now he's well into C#, which is a language I'm not even fluent in, because they study it in CS at school. He launched into it full throttle in his spare time and now he's developing a game. He occasionally asks me to help with debugging a tricky problem, which is where I think I'm most useful now.
My daughter is now 12 and she's also interested. She pretty much exhausted Scratch in primary school. I'm trying to introduce her to Python and then Arduino - she wants to build some colour-changing lights for her bedroom, so it's an ideal Arduino project.
I'm trying not to go down the whole pink, let's-make-it-fun, girls-can-code-too stereotype, but since she genuinely wants to build this project I can't really refuse.
The key thing is wait until they feel the need - don't push it onto them too young. There's a whole world of non-programming stuff they need to learn first!
Re: Ask HN: How do you teach you kids about computers and coding?
#38Re: Ask HN: How do you teach you kids about computers and coding?
#39Re: Ask HN: How do you teach you kids about computers and coding?
#40I had heaps of trouble with this. Kids have an obscene amount of choice nowadays, and it's crippling. Back in the day, we had no choice: you learned BASIC, and when you realised it was too slow, you learned assembler. I was shown my first ever BASIC program on a Commodore PET by a sixth-form student when I was about 13 or 14. There was no-one to teach you, so you were pretty much on your own. I swear that experience…
I eventually graduated to doing the same thing - in my case writing out assembly programs on paper, putting the decimal opcodes next to each instruction.
Once the main program was "assembled" you'd then go put in the jump targets - which had to be calculated last, as you didn't know how many bytes each instruction you'd used was until that time.
All my programming started by accident, as the family-computer arrived as a Christmas-present one year. The tape-deck didn't work, so we couldn't load any games, and I was "forced" to read the manual instead. At least back then computers had decent manuals..