So - you want to Teach your Kids Computer Programming?

How to Teach your Children Programming Skills

Parents all know their kids need as many computer skills as possible. But they don';t always know where to start. This is particularly true when it comes to computer programming. Parents may not be able to program themselves, or if they can, the languages they know may not be ones their kids can learn easily.

I am a mom - and a computer programmer. I have taught all my kids to program. Between them they have learned a number of different languages and so I want to share with you what languages are ideal for kids to learn. I would suggest that you start teaching your kids programming skills as early as possible. If you start early, children will develop the logic and analytical skills needed for computer programming far easier than if you wait until they are teens. And don't worry, even if you have no programming experience, you can teach your kids to program!

Image courtesy of Stuart Miles

Why should kids learn to program?

Our modern world revolves more and more around computers. Even the gadgets we use are 'programmed'. Just take a look around your house and see what I mean - your TV, microwave, alarm clock, oven, security system - just to name a few.

And more and more things become 'computerized' each year.

It is important for our kids to at least understand the science behind the scenes, even if they don't go on to become programmers themselves. And if they ever use spreadsheets a lot in a job, those basic programming skills will come in handy with complex calculations.

I have one son who is halfway through a computer science degree, and he has no trouble finding highly paid vacation jobs. The one he is currently in paid for a visit for him to decide if he wanted to work there for the vacation, paid for his flight and pays for his luxury apartment. And he still gets a nice salary on top of that. And this particular company has 800 interns like my son working there each summer from colleges all over America!

Last summer this same son had a job with a start up company doing coding - and he earned a lot more than the minimum wage.

So - job opportunities in this sector are readily available. I know all people are cut out to program, but it is a good idea to expose kids so they can see if this is for them.

Intro to Game Programming Online Course

Only $9.95.

For 5th-12th graders.

Course takes 4 weeks.

See when the next one starts and sign up here:

Click photo to view slideshow

At what age should kids start to program?

Programming will be a natural part of education just as language study and mathematics is, if it is introduced as early as possible. There are now some game apps available that teach the basic principles in a way that kids will just think is a fun game. They can then progress to the logo programs (see below) and then on to game programming with drag-and-drop interfaces while they are in their early elementary years. By the time they reach middle and high school they will be ready for 'real' languages.

Estonia has now introduced computer programming lessons into their classrooms - for all ages. That means that children from the age of 6 start learning the concepts. Can you imagine how competent the Estonian youth will be by the time they reach college?!

Logo - a good place to begin

Logo is a language young children can learn easily. My daughter started when she was 7. A turtle appears on the screen, and your job is to give the turtle commands to make him do whatever you want him to do. Kids get immediate visual satisfaction as they watch the turtle perform the commands given.

There are various free versions of Logo to download. Here is one: FMSLogo

I am not sure how easy it would be for kids to learn Logo without a tutorial. I purchased a package for my daughter that included the Microworlds Logo language and The Logo Adventures book . For older students rather buy Computer Science Pure and Simple . My daughter will progress on to that when she is finished Logo Adventures. She really enjoys creating patterns all over the screen, and she has just started learning how to do animation. She has a horse galloping across the screen.

Learn about what Scratch is and how it works

Scratch - for slightly older kids

Once your child has mastered Logo, or if they are upper elementary and you want to jump straight to programming games, Scratch is the perfect language. Scratch was developed at MIT and has been available since 2007. It is suitable for students age 8 through high school. With Scratch you can easily create interactive stories, animations and games, and then share them with your friends. But even thought it is so much fun, young people are actually learning important mathematical and computational ideas.

Scratch is also free and can be run directly from the Scratch website. You can obtain free lessons from There are also educator resources on the Scratch website. I have not been real impressed with anything I have found online yet. There are various lessons available but no comprehensive course that is easy to follow and engaging.

ONLINE COURSE: I offer online courses for students from 5th through 12th grade who have no prior programming experience. The lessons are in the form of videos and are posted each week along with assignments which are graded. Students get feedback on their work and help if needed. Students can work in their own time ie there are no live classes to attend but there are deadlines.

For more info and to sign up click here.

Super Scratch Programming Adventure!: Learn to Program By Making Cool Games
Super Scratch Programming Adventure!: Learn to Program By Making Cool Games

This is by far the best book available. I am currently using it to teach a computer class. The lessons are well explained and the students start making games from the start.

Scratch Programming for Teens
Scratch Programming for Teens

I am using this book to loosely teach my Intro to Programming class from. I like the way it is laid out but it is meant more for individuals to work through, so doesn't have exercises I can assign my students for homework.


Alice - programming animations

Alice was developed by Randy Pausch and other developers at Carnegie-Mellon university. It was developed to encourage more girls to program - but has plenty of appeal for boys too. The boys in my class love it. There is no need to learn code - all actions are performed via drop-down menus.

I love teaching Alice as it is a fairly powerful language, and all the basic concepts of programming are clearly visible - even though students don't have to write code themselves.

Learning To Program with Alice (2nd Edition)
Learning To Program with Alice (2nd Edition)

This book is written by the developers of the Alice software. I use it for the class I teach, but I think most teens could go through it by themselves as it is well written with plenty of examples to follow.


Binary Game

The Binary Game is a fun Tetris-like game to use to teach kids binary.

Cargo-Bot Screenshot
Cargo-Bot Screenshot

Cargo-Bot: An App that Teaches Programming Skills

This is a fantastic way to learn to program. The purpose is to move a stack of blocks to a different position. It starts simply enough and tutorials help you through the first levels. But it gets challenging quickly. My 12 year old who knows Scratch had no problem understanding what to do and got through quite a few levels - often finding solutions different to mine.

Like in games like Angry Birds, you can pass a level by achieving the goal, but you may only pass with one star. You have to come up with the shortest solutions to get a magical three star stamp!

If you really can't figure a level out, there are walkthrus on Youtube (don't ask how I know that).

Cargo-Bot is available at the App store - and at present is free!.

Visual Basic Express

My 3 older kids all learned to program in Visual Basic in middle school / early high school. Kidware Software has a tutorial with 10 lessons for Visual Basic Express which you can purchase for $19.99. However, you can download the first 5 lessons free (scroll to the bottom of their page). I first downloaded the free version to see how my kids would like it, then went on to pay for the full version. Visual Basic Express is another free language.

With Visual Basic Express your kids will start to program with 'code' and they will produce non-animation programs eg ones that ask for data to be keyed in and then do something with that data. Although thy now have to learn the correct commands, if they have learned any of the previously mentioned programming languages, they will find the transition easy. But new programmers can also start here. It is suggested for ages 10 and up.


Python is a powerful high-level programming language for students who have mastered some simpler form of programming like those listed above. It is also free and can be downloaded here. You will need to get a book for instruction - try your local library, or buy one of those suggested below.

You can also visit the Invent with Python blog. for lots of extra ideas and the last book listed below is available free in pdf format from that site.

Python for Kids: A Playful Introduction to Programming
Python for Kids: A Playful Introduction to Programming

I am currently using this book to teach a computer class. It first goes through all the main programming concepts and then walks students through a few games. Good for adults as well as kids!

Invent Your Own Computer Games with Python, 2nd Edition
Invent Your Own Computer Games with Python, 2nd Edition

I used this book in conjunction with Python for Kids as it devotes each chapter to a game students can program. Some of the games are tic tac toe, a version of the game 'Mastermind' and a Choose-your-own adventure game.

Mathematics for the Digital Age and Programming in Python
Mathematics for the Digital Age and Programming in Python

I have bought this book to use with my sons. It combines a math and programming and has great reviews on Amazon. I am looking to forward to using it soon.



The AP Computer Science exam is based on Java, so your kids will need to learn this if they plan to take the AP exam, or if they are serious about programming. These are the books I am using with my son this year as he prepares for the AP Computer Science exam. The author is an AP exam paper reader and a teacher.

Java Methods A&AB, AP Edition
Java Methods A&AB, AP Edition

My son is using this at present and enjoying it. If you homeschool you can write the publishers and request login info to the teacher's lounge so you can access the answers.

Be Prepared for the AP Computer Science Exam in Java
Be Prepared for the AP Computer Science Exam in Java

Another book to use if you are writing the AP exam


Students still wanting to go further?

Massive Open Online Courses (MOOCs) are the way to go!

Students who are ready for more of a challenge now have a huge number of online options that are free or low cost.

Udemy has many courses that teach programming that range from free in cost to a few hundred dollars. The courses are rated by previous users so that helps when making a decision. You can find courses on most programming languages as well as how to build apps.

2 years ago the first 3 free online courses from Stanford took the world by storm. My son enrolled in the most popular of the 3 - one on Artificial Intelligence. He was one of the many thousand who did successfully complete it - and he loved it. Since then 3 main websites are now offering top quality university level online classes in many subjects - including programming. I have just enrolled in a Python one as I want to see what it is like. You can read more about these on a blog post I did a while ago. These courses do have homework and grades and provide certificates on completion (some of them do charge for the certificate).

Image originally posted on Flickr by mathplourde under cc-by-2.0.

What age students are your students?

As I add more resources to this page, it will help me to know what ages you are looking for help with

What age are you wanting the resources to be targeted for?

See results without voting

More by this Author

Share your thoughts and tips on teaching kids to program 91 comments

JoyfulPamela2 profile image

JoyfulPamela2 7 years ago from Pennsylvania, USA

Wow, my kids will love doing these! Thank you for listing them!

JayShaffstall LM profile image

JayShaffstall LM 7 years ago

Great collection of resources!

kerbev profile image

kerbev 6 years ago from Upstate, NY

I didn't know that LOGO was still around. I remember doing it in third grade. That was a LONG time ago!

anonymous 6 years ago

Your kids can learn Visual Basic and C# Windows and Game Programming with courses from Homeschool Programming, Inc. ( All industry-standard stuff, no throw-away languages!

anonymous 6 years ago

If you try out the Scratch 1.4 Beginner's Guide book, I'd love to know what you think. This describes one of my primary audiences for the book: "Parents may not be able to program themselves, or if they can, the languages they know may not be ones their kids can learn easily."

Kreego 6 years ago

I'd be interested on your take of Microsoft Small Basic, ( which updates MS-BASIC many of us learned in high school in the '80s (no more line numbers!) Small Basic appears to be a subset of Visual Basic - in fact, it looks like MS is encouraging young programmers to work up to VB. My son is going on 13, and has been quite captivated by MIT's Scratch. I think I'll get him started by working out his own text adventure, since he likes role-playing games... Cheers!

MerylV profile image

MerylV 6 years ago from USA Author

@Kreego: I haven't tried it! There are so many new languages to learn. I have heard about it and may try it out this summer. When I was a college student I taught students using Applesoft Basic ... with line numbers! I learned COBOL and FORTAN at high school (80/81).

puzzlerpaige profile image

puzzlerpaige 6 years ago

I've looked for this exact information a couple of times and I'm so glad to find it now. I'm emailing the link to my 13 yo daughter to see if any of these will work for what she wants to learn. Thank you! for sharing your knowledge freely.

MerylV profile image

MerylV 6 years ago from USA Author

@puzzlerpaige: You are welcome. If your daughter has any questions, give her my email address. We need more girls to learn to program!!

StriveDigital 6 years ago

My husband is a programmer at a middle/high school and moderates a web club for the students. I'm passing this information on to him to see if it can be used. We're still looking for programming competitions for students of that age to participate in if anyone has any ideas.

anonymous 6 years ago

I am planning to learn computer programming and this helped me even though I am older. Great job.

beta4145 6 years ago

Can't wait to give this a go with my son.

GrinningFool 6 years ago

Thank you. These are great ideas for thing for my kids to do/

hotbrain profile image

hotbrain 6 years ago from Tacoma, WA

Good suggestions. Angel blessed!

javr profile image

javr 6 years ago from British Columbia, Canada

Very good lens that should help get more children interested. Blessed by a Squid Angel.

sorana lm profile image

sorana lm 6 years ago

Great lens. I'll favourite it so I can get your updates.

anonymous 6 years ago

ima kid and to get them to learn find a motive say your kid loves a game where you fire cannons at targets say to them ever wanted to make your own version with better level

just make sure they know it will not be easy!!

will post more ideas

MerylV profile image

MerylV 6 years ago from USA Author

@anonymous: Great idea! And if they know they can share their game with friends that adds motivation. It is particularly easy to do that with Scratch games.

ProgrammingProfessor 5 years ago

I like your lens - I am a programming teacher (college level) but I have a 7 year old...and I hadn't thought about introducing her to programming before now. How interesting!

MerylV profile image

MerylV 5 years ago from USA Author

@ProgrammingProfessor: I started mine on Logo round that age. At 10 my youngest learned Scratch. Her older siblings didn't have that choice and learned Visual Basic instead - and went on from there. The earlier they start the easier it is for them.

creativedreams profile image

creativedreams 5 years ago

I still remember doing Logo at school 20 years ago! It actually helped to understand programming a lot, I didn't know it was actually still in use :)

dani3l lm profile image

dani3l lm 5 years ago

wow I never knew there was such a things for kids, this is awesome. I was wanting to know how old are your children now? did they become successful programmers? I just had a daughter and always thought in the back of my mind it would be cool for her to do something like this and now I have the tools for her when she grows older.

anonymous 5 years ago

I've created a site to teach programming for kids that has no install requirements and uses Javascript. It includes a bunch of video tutorials and has lots of collaborative programming features. Check it out!

javr profile image

javr 5 years ago from British Columbia, Canada

I'm sure that your lens will be helpful to many teachers and parents. Blessed by a Squid Angel.

Lady Lorelei profile image

Lady Lorelei 5 years ago from Canada

This really is an excellent looking lens.

MagpieNest profile image

MagpieNest 5 years ago

Good stuff. I'm an IT professional with two small kids. They'll be learning to program.

indigoj profile image

indigoj 5 years ago from UK

These are fantastic suggestions for getting kids started with programming. Blessed on the Squid Angel word quest!

LaraineRoses profile image

LaraineRoses 5 years ago from Lake Country, B.C.

I've always wanted to be a programmer since one of my nephews took it and enjoys his work all over the world. Maybe it is too late for getting into it to that degree but it does sound interesting. Imagine being able to make a horse gallop across your screen!! Pretty smart little girl you have there!

anonymous 5 years ago

I am going to be a computer logic teacher but I have never taught this and need resoruces for middle schoolers

Stoney2009 profile image

Stoney2009 5 years ago

This is a great lens. I'll have to see if I can get my son interested as I think he'd love it!

anonymous 5 years ago

This is a great resource, and is consistent with what I have read on another site. I am trying to develop an extracurricular program for elementary students (1st to 5th) that will give them a good foundation to programming. If anyone can point me to either (a) a curriculum/plan for teaching programming to elementary students; or (b) any organizations that actually provide such programs, that would be very helpful. I don't want to reinvent the wheel here.

mrpetem lm profile image

mrpetem lm 5 years ago

nice lens, maybe worth adding html (although not a programming language), PHP and MySQL. Would be great to teach your kids how to make their own website from code, wish I had learnt it from a younger age.

MerylV profile image

MerylV 5 years ago from USA Author

@mrpetem lm: I have an unfinished lens on web coding (coming soon!)- my son taught himself it at an early age and my husband has written a course which we are currently testing before releasing.

Paki Bazar profile image

Paki Bazar 5 years ago

i love this blog you are working really good



bluewren56 lm profile image

bluewren56 lm 5 years ago

Never too early to teach kids... love the lens.

Buchamar 5 years ago

Great ideas!

I feature educational kids iPad app review - Come visit!

anonymous 5 years ago

What a great idea! Thanks for sharing.

anonymous 5 years ago

Thank you! This is very useful information.

anonymous 5 years ago

How about programming Lego NXT for robotics?

What's your take on they?

jeffrichley lm profile image

jeffrichley lm 4 years ago

Alice is hands down the best way to teach kids how to program. It strips away the need for syntax and teaches the concepts. Why have to worry about all the little curly braces when you are learning difficult concepts?

anonymous 4 years ago

For teens, there is a nice iPod Touch / iPad app with lots of JavaScript tutorials, built in editor, etc. All example programs can be modified on the device and run. Simple interface.

AlexTedford profile image

AlexTedford 4 years ago

Cool lens! *squidliked*

anonymous 4 years ago

The best tutorial for kids computer programming is the Atari 800XL emulator. The book is at and the emulator is at

anonymous 4 years ago

Give Kodu a try ( A very cool 3D programing environment that children can use without any typing. Think Scratch but 3D and simplified, while being more powerful. I've used it with 5+ in short sessions, but best aimed at 8_

rawwwwwws lm profile image

rawwwwwws lm 4 years ago

Wonderful lens! I am currently majoring in computer engineering, leaning more towards software. Your lens is very very appreciated by me, at least children are taught at a young age! Especially for women, we need more women in science and engineering, well here in the US. Almost all my classes are men, but I don't care, I feel they are a little intimated by me haha.. great lens!

MerylV profile image

MerylV 4 years ago from USA Author

@rawwwwwws lm: In the classes I teach to middle / high schoolers almost all the students are boys! I try very hard to appeal to the girls but it seems they don't even consider it.

anonymous 4 years ago

@MerylV: I teach middle school math and would love to teach my students some basic programming. What language do you teach? Where should I even begin?

sagebrushmama profile image

sagebrushmama 4 years ago

Thanks so much for this lens. I got to learn a little bit of logowriter in my teaching days...another math teacher and I swapped students for logo lessons and manipulative work. I've been out of the classroom for some time, but I really like the idea of having my youngsters get a start with logo.

bead at home mom profile image

bead at home mom 4 years ago

great resource for easy learning. I had no idea. Our whole family enjoys computers and what a great education feature that I myself would love to learn. Thx for sharing!

anonymous 4 years ago

Are BASIC dialects like Qbasic, BASIC-266, FreeBasic good (not Visual Basic)? If yes, which one is best?

anonymous 4 years ago

I have taught both 4th graders and high school students programming through Inform7, a language that let's them create their own text-based adventures. Because it is all text-based, the emphasis is on the stories and they love sharing their adventures with their friends.

Binarydog LM profile image

Binarydog LM 4 years ago

I think if your going to teach programming to anyone who hasn't done it before then Python is the perfect choice. Visual Basic, despite its name, just isn't basic enough.

MerylV profile image

MerylV 4 years ago from USA Author

@Binarydog LM: I don't think I was aware of Python, or there weren't resources at that point, for me to use to teach my older kids, but my college age son who is studying programming also told me to teach my youngest Python instead.

iortizvictory 4 years ago

I really love your Len!! I think Visual Basic is a great language to start out with. I just started a new Programming series. If you have a chance check it out. Thanks!

anonymous 4 years ago

My nine year old daughter has inspired me to create a project to help teach kids how to program in Scratch! Check out my!

Trying to create a project to help with K-8 programming skills!

anonymous 4 years ago

I like this resource page about what is out there to teach programming to kids. I'm myself learning Scratch as I'm interested teaching it to my kids and their friends. In that try, I'm putting my thoughts and trial-error projects on my blog at

anonymous 4 years ago

Can you recommend a LOGO program for macs?

dwiz123 profile image

dwiz123 4 years ago

I am 10 and I am learning Java using Greenfoot as an IDE. It's fun because you can program games. I used Alice for a while, but I wanted to learn the the Java syntax and not just move objects around, so I switched to Greenfoot. Before I started learning Java, I learned python with the Invent Your Own books, which were very well done and easy for me to follow. Python was an easy language to begin with, but the indenting sometimes got me frustrated.

anonymous 4 years ago

Lots of great resources here, I tried teaching 9 year old children in the local school programming using Scratch and it went quite well.

I put the lesson plans up on a site in case they are useful to anyone on


Jessica Holbrook profile image

Jessica Holbrook 3 years ago from Southern Indiana

The Invent with Python book is available as a free download on the author's website. You might want to add that here. ;) Otherwise, this is a great lens!

anonymous 3 years ago

@anonymous: Star Logo

RetroMom profile image

RetroMom 3 years ago

Great lens, very valuable resources here and a great youtube video too.

AlexTedford profile image

AlexTedford 3 years ago


chocochipchip profile image

chocochipchip 3 years ago

I really want to learn programming

anonymous 3 years ago

@anonymous: I worked with my son 4 years ago (he was then 10) with Lego NXT (1.0). We built a few simple projects (two from the manual, one of our own), but didn't go any further. The programming method wasn't intuitive or easy enough for him to enjoy it enough to replace other interests in his life (reading, playing). From my perspective as a parent, I felt that the basic kit was limiting, and to do more interesting things, required a substantial investment (for me-- a few $hundred or more), without being sure he was going to end up liking it.

MerylV profile image

MerylV 3 years ago from USA Author

@anonymous: Thanks for that comment. My son learned it while being part of a Lego League Team so that probably helped the learning curve.

Aunt-Mollie 3 years ago

You've gathered wonderful resources for teaching programming, and not just for kids! Enjoyed.

anonymous 3 years ago grandson started to use a computer at 2...I mean use, not play! he's 7 now and knows's a must these days...maybe not at 7...but they'll need it. great selection. I ditto Aunt- Mollie!

cstrouse lm profile image

cstrouse lm 3 years ago

My son is 8 years old and I'm planning on teaching him Python. I learned BASIC from my grandfather when I was 7-8 years old, fell in love with computers, and have been working with them ever since.

anonymous 3 years ago

@anonymous: I randomly came across your comment as I was researching programs to load onto a Toshiba Satellite Pro that I'm buying for my 3.5 year old son. I have little to no experience in coding (some basic classes in college) but would like to start him along that path now. Would you be willing to share what sort of things you introduced your son to at such a young age? Much appreciated...

MerylV profile image

MerylV 3 years ago from USA Author

@anonymous: Hmmm ... I guess any toy or app or game that starts developing logic skills will be useful. As for computer games, I am not sure if the ones I used still work on the latest computers - Freddi Fish and Fatty Bear and Pajama Sam all had great titles that involved problem solving - which is part of what a programmer needs to do.

anonymous 3 years ago

Don't forget about Kodu, Codecademy, Hopscotch, Tynker, Codea, LearnStreet, Daisy the Dinosaur, and Coursera/Udacity (teens)!

MerylV profile image

MerylV 3 years ago from USA Author

@anonymous: I do have the Codea app on here. Some of these I haven't heard of. Hard to keep up. Some I need to try out first and then I can add the review. I can say my teen son did a course through Udacity. It was great ... Very challenging

chat2vishakha 3 years ago

Great post.You have shared awesome resources for computer programming.Thanks for sharing this post.

NakedCavewoman 3 years ago

Great lense!

Elaine Chen profile image

Elaine Chen 3 years ago

I never plan to teach my son programming as I thought there are no such resource available at market place; thanks merylvdm.

For me, programming is a great to train kids' logical thinking. I will start sourcing suitable programming class at my local place.

trinimatt 3 years ago

Great lens, very informative

pranavd2008 3 years ago

good information,very detailed.....

drmattshepard profile image

drmattshepard 3 years ago

great lens, I can tell you put work into it.

Doc_Holliday 3 years ago

Very interesting lens. Thanks for sharing.

merplerps 3 years ago

Have you seen the game called CodeSpells? It hit Slashdot a few months ago, and now has both Mac and Windows versions!

MerylV profile image

MerylV 3 years ago from USA Author

@merplerps: Thanks for the tip - I haven't but I will look now.

ParentingAdviceGuru 2 years ago

This lens is very informative. Thank you for sharing it. I guess this will make children become computer programming-savvy and at the same time, teach them on how to read images and develop logical thinking.

InternetActivist profile image

InternetActivist 2 years ago

I gave you a like for suggesting python, great lens by the way.

MerylV profile image

MerylV 2 years ago from USA Author

@InternetActivist: Thanks! I like Python as a first "real" language for students

niicki profile image

niicki 2 years ago

What do you think of the new Kano computers? I have an AS in Computer Programming that I don't use (and is now ten years old), so I would like my kids to have this skill as well. Nice lens, I'm going to check a couple of these out!

MerylV profile image

MerylV 2 years ago from USA Author

@niicki: I have no experience with them at all...hard to keep up with everything that comes out

williamslaw profile image

williamslaw 2 years ago

Great lens!

CashInTheHand LM profile image

CashInTheHand LM 2 years ago

Perl and PHP are a very easy languages, a little less natural, but great segues into Java, C# and others.

macohkathrine profile image

macohkathrine 2 years ago

will help the kids to become future programmers. keep it up!

Anthony J Vita profile image

Anthony J Vita 2 years ago

Great review, it is certainly a valuable skill for kids to learn programming!!

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.

    Click to Rate This Article