Live data from Hacker News

Ask HN: How do you teach you kids about computers and coding?

news.ycombinator.com

31–40 of 71 posts

Re: Ask HN: How do you teach you kids about computers and coding?

#31
What age? I've got a 7 year old and recently started helping out a local 'Code Club' for 9-11 year olds. The projects provided by Code Club are definitely worth a look and include Scratch, Python as well as stuff for the Raspberry Pi https://codeclubprojects.org/ They're quite nicely structured with optional challenges.

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.

Re: Ask HN: How do you teach you kids about computers and coding?

#32
post #10

While 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 don't think it's a question of "need to be taught". Rather, you can have a lot of fun with code, but how are kids going to find out if nobody shows it to them? If they don't show interest in any of the things you can do with code, then don't push it.

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?

#33

I 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?

#34
post #33

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

Or the snake one called Nibbles - my 6th grade computer class teacher had made modifications to it adding levels, etc., and had his class play with what he had created. I was just starting to learn Qbasic at the time and he wouldn't let me have the source code :(

Re: Ask HN: How do you teach you kids about computers and coding?

#35

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

I've heard this sentiment before and I think it's just nostalgia. Things are soooo much better today for kids interested in programming than they were in the 1980's when I was a kid.

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?

#36
post #23

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

A bunch of guides for this Minecraft+Python option here, including lessons for your kid to work through, and assistance in getting it all setup:

https://teachcraft.net/

Re: Ask HN: How do you teach you kids about computers and coding?

#37
I 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 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?

#38
some coding sites found by me, a science teacher: https://studio.code.org/s/express I like this - it's easy - if I am required to teach middle-school kids some coding I will probably use this; https://www.computerscienceforkids.com/beginningvisualstudio... curricula for SmallBasic, C#, Java, VisualBasic for kids+ ; https://makecode.com/#about Microsoft IoT + coding for kids http://interactivepython.org/runestone/static/thinkcspy/inde... Interactive Python; https://www.lazarus-ide.org/ Lazarus = Free Pascal - some teachers use this; https://jsfiddle.net/ some teachers like this - nothing to install, code Javascript online; http://happyfuncoding.com/ the one site I can always remember the name of; http://physics.weber.edu/schroeder/html5/ am I allowed to love Newton's Cannon, written in simple Javascript on one page?

Re: Ask HN: How do you teach you kids about computers and coding?

#39
http://www.tynker.com. My daughter started with Scratch Jr. When she turned 9, we got her a chromebook for her birthday, and I read about this site in a WSJ article. She took to it right away. Kids can progress through extensive programming-puzzle tutorials and make their own projects, using a "block" language, python, or Javascript. They can switch between the three supported languages within projects. She is still most comfortable with the block style, given that it abstracts away free-form syntax, but has started working through the python tutorials. A year later she has made dozens of her own projects (mainly simple games) of increasing complexity, which can be published and shared with other kids. She now understands relatively complex concepts like generating random behavior, method calls, variables and even physics engines. Highly recommended.

Re: Ask HN: How do you teach you kids about computers and coding?

#40
post #37

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

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

Post reply on HN