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.