What are some milestones a child should reach before learning programming?
I am going to buy a PC for my kid as a birthday present, so I'm thinking how to use it educationally. Of course, an obvious choice is teaching him how to program.
I'm not asking what age should a kid be to start learning programming. I wonder what he should be able to do, in order to learn programming efficiently? What is the proper level of development for a kid to learn programming?
7 Comments
Sorted by latest first Latest Oldest Best
This link has been on my todo list for a while. www.qimo4kids.com/ You might find some interesting resources there.
But to answer the question, I think that it is difficult to answer this as an adult. Our upbringing, which includes our programming learning process, differs completely. My daughters of two are understanding things I did not when I was two. Then there was gps. My father did things with computers, but on punchcards. Casette recorders are objects from the past. I am pretty sure that programming as we know it today, will not be the programming done by my daughters if they take the same profession as me.
So my perpective is to provide my children with a computer environment that fits their. I have not checked it yet, but I guess gimo will do. I guess the programming learning progress will just follow. That is if they have interest in the matter. Could be that they prefer gardening in the end.
I am a coder, so I just encouraged my kids to 'help' me from an early age. At two or three years old they were on my knee watching me writing applications and generally hacking so as soon as I could free up a spare laptop I gave them a triple boot linux, solaris and windows box to play on.
Basic shell coding seemed simple from 4 or 5 years old, and have the eldest looking at Ruby on Rails - he's 10.
Of the three of them, my eldest is the only one who actually seems interested in developing games, but the experience the younger ones get is likely to be useful anyway.
The one rule I always did have though was that they use the laptop in the same room as me or my wife - I don't use any censorship software, but I'm there if they do come up against something unsuitable - and it makes for a pleasant working environment.
As a programmer i would propose to you the following:
Abstract thinking, Pragmatic Thinking, Higher problem solving. Design Patterns ( Not programming in general but building. Building in sense of building, construction. Did you know that design patterns come from designing buildings and problem solving in engineering? )
Also i would recommend starting with the famous little programming language for kids: Logo. There are actually pretty good games to get your kid started.
But you can Google that so i wont bother copying in those results. Your main goal is getting his attention and getting him to think like a programmer, or at least start to think like one.
After that you can start with applying the knowledge to algorithm and lower problem solving and object oriented programming.
Also i would recommend using Mind Maps, since kids tend to remember shining colorful things better. :) en.wikipedia.org/wiki/Mind_map
Ohhh also... i forgot but this is might help to.
As i kid i loved automating everything. That's why I'm an automation test engineer today. It might be fun to show your kid how you can automate tasks. How you can manipulate the windows, and everything what you pc does. Also some real world interaction like OCR with a video feed perhaps. Or a basic motion tracking system with a cheap camera.
I think the kid would be very happy if for example he could spot if his parents are nearing his room. :) Or build a little lego robot and program a routine into him, like go get me milk. Which is difficult but get's him started and will have a goal too and a real life experience which is VERY important in the early years.
See : Lego Mind Storm: mindstorms.lego.com/en-us/Default.aspx
Maybe it would be easier for him to grasp the basic concepts, through some programming/educational games.
Some of them are:
Kodu
A visual programming language made specifically for creating games. Accessible for children and enjoyable for anyone."
Kinderlogo
Kinderlogo is an adaptation of Logo for young children, offering Logo's stimulating environment for creative exploration, problem-solving, and discovery for K-3 students and those with special needs.
Lego WeDo Robotics
Students will be able to build LEGO models featuring working motors and sensors; program their models; and explore a series of cross-curricular, theme-based activities while developing their skills in science, technology, engineering, and mathematics, as well as language and literacy.
Probably through games like these, he will be much more motivated, and it will be easier for you specially if you do not have a solid programming experience.
I started when I was 6 or so—I didn't have any particular pre-requisites, I just liked exploring (especially on the computer!). I actually found QBASIC on the computer myself, had no idea what it did or how to work it, and asked my father—I had no idea it was to do with "programming" or what that was—but he just showed me how you could tell the computer to 'do' things (at first adding numbers, then displaying messages, then asking for input and doing something with that ..), and it would do them for you! The very nature of being able to instruct something else (me! a six year-old!) was the hook.
Later, he showed me how to access the help files myself—that was invaluable. Now I'm a software engineer, with no experience other than my own.
Teach your child not to program, but to learn.
This might sound strange, but get him some source-code for simple games, show him how to type them up (or create them), and let him go at it.
That's how I got into programming at age 7 -- typing up game code from a Quick Basic book my dad bought me from somewhere. An intense 30 minutes of typing 10-100 lines of code, followed by hitting "run" and hours (ok, minutes) of glee.
That's a great solution because it ties effort into results. And what kid doesn't like games?
In addition to the other suggestions, I'd say make sure he can type relatively accurately. My nephew has an interest in programming, but his typing errors cause lots of problems and he gets pretty frustrated with it.
Terms of Use Privacy policy Contact About Cancellation policy © freshhoot.com2025 All Rights reserved.