Tag Archives: programming

Next Year Will Be Even Better – Programming for Kids

from www.tynker.com
from www.tynker.com

For many of us, at least in the United States, another school year is over.  Even as we eagerly embark on our rejuvenation journeys for the summer, you might be thinking, as I am, of new ideas for the next school year.  This week, I would like to share some of the improvements I hope to make in my classroom for the 2013-2014 school year.  Today’s post is about the benefits of teaching programming to our students.

If you are a regular reader of this blog, you have probably noticed that I am a huge advocate for teaching programming to kids.  You can see this trend building in a lot of the education blogs and professional publications.  Like all trends, it needs to be done right so that it will not be a colossal failure or a “flash in the pan.” Here is why it should be done, and how I plan on doing it next year in my classroom.

Why We Should Teach Programming to Kids

I think that there is a misconception that this is all about teaching kids a new “language” that is useful in the career market. While that is, perhaps, one of the benefits, I think that it should not be the main purpose.  Programming languages evolve quickly, and teaching a specific one might be likened to teaching Latin.  It can help you to decode other languages, but it is unlikely you will use it daily.

I learned Basic when I was in high school.  I haven’t used it since.  But I still remember some very important lessons that I learned in that class that can be extrapolated for real life.

The most important lesson was that, if you are not getting the results you want, you can’t keep doing the same thing.  I remember the first couple of times a program did not work the way I wanted it to, and I kept saying to the computer, “That’s not what you’re supposed to be doing.”

Once I realized that I only had myself to blame, I would set about finding out what I had done wrong.  This led to the next life lesson – find the real source of the problem or your “fix” will make things worse.  Sometimes I had to dig deep into the code to figure it out, but would not realize that until I had tried one or two simple revisions that would end in disaster.

When programming, you also advance through the Scientific Process, and learn to change one variable at a time if your conclusion is not what you expected.

And finally, programming is not all about logic.  Once you understand the code, you can use your imagination to create unusual, unique, and even beautiful programs.

What I Plan to Do Next Year

As some of my colleagues pointed out this year, Programming falls very easily into something that we already have in our curriculum for elementary gifted students – Systems Thinking.  Now that I am becoming familiar with Tynker through the online summer class I’m offering, I plan to use Tynker with my 3rd graders during our Systems Thinking unit.  If you want to start anywhere with programming (from about 7 or 8 years old and up), I would highly recommend Tynker as you can create classes and monitor student progress very easily.  Plus, it has an engaging curriculum of projects.

I want to weave programming throughout my K-5 gifted classes, so I will begin my Kinders with the iPad app Daisy the Dinosaur. For 1st, we will move on to Kodable, and for second, Hopscotch.  (I may switch these last 2 around – I need to play with them more to determine difficulty levels.)

3rd grade, as I mentioned, will do Tynker.  4th grade will work on Cargo-Bot.  And, 5th grade will work with Gamestar Mechanic (which is web-based).

If you have any suggestions, please feel free to comment.  Also, for even more links for Programming for Kids, feel free to visit my Pinterest board on this topic.

The Benefits of Teaching Programming

from:  Teaching Programming to Kids
from: Teaching Programming to Kids

I know this is a topic that is getting a bit repetitious on my blog, but I really can’t emphasize enough how important I think it is that we offer programming to our students at an early age.  This article from MindShift, explains how learning programming has far-reaching effects, and should not be reserved for only those who aspire to careers in technology.  “Why Programming Teaches So Much More Than Technical Skills”, by Ian Quillen, explains 4 specific benefits of receiving an education in this area:  Subject Mastery, Systems Thinking, Collaboration, and Passion.

Robotics clubs are a good start in the elementary schools, but we need to think about adding more.  Here is my Pinterest board of resources for “Programming for Kids” with links to app, websites, and other articles of interest in this area.

Hopscotch and Tynker

photo from Tynker.com
photo from Tynker.com

First of all, I have a confession to make; I know very little about programming.  What I do know is that it is wonderful for teaching problem solving skills and logic.  I also know that those skills, and programming specifically, are in high demand in our nation’s job market.

So it makes sense that we should find ways to introduce our children to programming early.  While they learn, so can we.  Hopscotch and Tynker both aim to do that.

Hopscotch is an iPod app that is free, and allows the player to create simple programs using methods similar to MIT’s Scratch (also free). I have mentioned two other apps – Daisy the Dinosaur and Cargobot – before on this blog, and I think Hopscotch fits perfectly between them.  Daisy is a fabulous introduction to young children.  Hopscotch would be the next logical stage.  And Cargobot has more complex challenges.  All of these apps are free.

Tynker is a web-based platform, and also looks similar to Scratch.  I have not tried it yet, but read about it here.  I just got my registration approved, and I am eager to try it.  I used Codeacademy earlier this year with my students, but I am looking for something a bit more kid-friendly, and Tynker looks promising.

According to this Forbes online article, Hadi Partovi of Code.org “cites estimates that 1.4 million programming jobs will be needed over the next decade while current projections are for only 400,000 graduates in the field.”

We can change this with the help of resources like Hopscotch and Tynker.

H/T to my co-worker, “D”, for forwarding me info about Hopscotch!

If You Build It, They Will Learn

from "If You Build It, They Will Learn" by Infinite Thinking Machine
from “If You Build It, They Will Learn” by Infinite Thinking Machine

Infinite Thinking Machine “is a high-energy Internet TV show that inspires creativity and innovation in education.”  The episodes are produced every two weeks, and you can find the archives here.  The episode that I am featuring in this post is, “If You Build It, They Will Learn”, which was produced near the end of last season.  Last week, I posted about the surge of “maker studios”, (by the way, my daughter and her friend LOVED the Marshmallow Shooter project) and when I found this video, I knew that it would make a great resource.  Not only do the ITM folks do a good job of discussing different examples of “making” around the U.S., but they also post a nice list with links to the featured entities.  I also like their challenge issued at the end of the short video.  Although the deadline for their contest was last summer, I think that it still would be a fun project to offer students, particularly near the end of the school year.

For some reason, the ITM site cut off the episode in the middle the first time I watched it (probably my computer), but you can also access the entire show at http://youtu.be/cQMKvQ-0B64.  And, if you are lucky enough to not have YouTube blocked, I have also embedded it below.

More Ideas for Programming for Kids

monster2

In the past, I have posted about some options for kids that are available to help them learn about programming:   Codecademy and the iOS apps Cargo-Bot and Daisy the Dinosaur.  I also briefly mentioned Gamestar Mechanic in one of my posts.  Many of my 5th graders have been using Gamestar Mechanic, which you can find here, during their Genius Hour time.  Another option would be programming robots, such as in the Lego Mindstorms program.

Since October, I have co-sponsored a “Code Academy” after school club, using the after-school program from Codecademy that I had read about earlier that year.  It has definitely had its ups and downs.  The Pros are:  it is a very in-depth program that teaches web design and Java, it keeps track of your progress, and it offers badges when you reach certain benchmarks.  The Cons are:  it is not compatible with Internet Explorer (which keeps becoming the default browser on our lab computers despite all of my attempts to change it to Chrome), it sometimes does not explain a lesson well, students must provide an e-mail to create an account, and some of the lessons are very wordy (we have 3rd-5th graders in the club, and some of it is a bit difficult for the 3rd graders to comprehend).

For today’s meeting, I gave the students the option of continuing with Codecademy, or to try a new site called Code Monster that I had learned about from Richard Byrne’s blog.  Once the students heard the word, “Monster”, I think they were sold.  By the end of our club meeting, nearly every student in the club had switched to Code Monster.

Here are the Pros of Code Monster: visually attractive to kids, minimal words to teach each lesson, no login or email necessary.  The Cons are:  no tracking of progress and it also seems to be incompatible with IE (at least the version on our computers).  The good news is that if you use the same computer each time you open Code Monster, you will return to the lesson where you stopped.  You can also click on the link for “Lesson Sections” at the bottom of the page to choose a new lesson.  I would emphasize to the students that they need to go in order, however, as the lessons build upon each other.

Code Monster seemed to work pretty well for our 3rd-5th graders.  Crunchzilla also has a site called Code Maven, which is for teens and adults.  I have not tried that one, yet.

I have embedded a TED video below, which is called “Let’s Teach Kids to Code.”  Mitch Resnick is the speaker, and he is one of the creators of Scratch, another great (and free) option for learning how to program.

Kids learn so much from programming: logic, problem-solving, and persistence.  It seems like there are more resources available every day – and you will find that the students are more than willing to try them.

Codecademy After-School Club

Some of you may already be familiar with Codecademy, which offers free on-line courses in programming and web-site authoring.  Now, the site is offering a free after-school program that it states can be used with students as young as 7.  During the first semester, the students learn how to build a website.  The second semester teaches how to build an adventure game with JavaScript.

According to Codeacademy, even teachers who have little experience with programming can facilitate the after-school club.  There is a free, downloadable curriculum, and Codecademy also provides a mailed kit to the first 250 teachers to sign up, which includes stickers and “other stuff for your club”.

The program is self-paced, and there are no downloads or special pieces of equipment required.  As long as you have computers with compatible internet-connected browsers, you do not need to provide any other materials.

Codeacademy’s After-School Program looks like a great opportunity for younger students to begin learning the basics of computer languages.

Computer Programming for Kids

Lego Mindstorms Robot

In yesterday’s post about the iPad app, Daisy the Dinosaur, I referenced some ways to introduce kids to computer programming.  For those of you who want to pursue this further, I thought you might like this post by Marshall Brain, “Teaching Your Kids How to Write Computer Programs”.  This is a fairly detailed summary of different websites and other resources for learning basic programming skills.  “Light Bot” is a website that he recommends for students who are 7 or 8 years old.  He also gives a summary of the Lego Mindstorms program, which I highly recommend for schools or other organizations.  There are links for learning how to code and how to design apps as well.  “Teaching Your Kids How to Write Computer Programs” is definitely a good place to start if you are a teacher or parent looking for this type of resource.  Two more resources?  Gamestar Mechanic (website) and Sketch Nation Studio (iPad app), both referenced in my post on Genius Hour, Part III.