Today's blogger is Kris Walsh, eLearning coach at Perry Central Schools.
"I think everyone should learn how to program a computer, because it teaches you how to think. I view computer science as a liberal art, something everyone should learn to do."
- Steve Jobs, Founder of Apple
“Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.“
-Bill Gates, Founder of Microsoft
“If you can program a computer, you can achieve your dreams. A computer doesn't care about your family background, your gender, just that you know how to code. But we're only teaching it in a small handful of schools, why?“
-Dick Costolo, CEO of Twitter
As we continue to progress into the 21st century and the digital age, it becomes more and more important for people to be digitally literate. This idea covers a broad range of topics from digital citizenship to knowing how to operate hardware and software to understanding the code that makes it all work. We are all making great strides in teaching kids about most of these topics, but we are only starting to introduce the concept of coding to them.
While many of us may never need the ability to do our own programming, it is still a good idea to have a base level of knowledge about the skill. In addition, writing code offers students many opportunities to work on logical thinking and problem-solving skills. These skills are useful to our students no matter what their chosen profession or field of study will be. While many of our students may not become professional programmers, students do not know what coding is all about and if it interests them unless they are exposed to it in some way.
This year, Perry Central participated in code.org’s “Hour of Code” on a somewhat limited basis. I know that one of our teachers is leading some students in his Careers class in learning how to code and possibly designing their own app. I have been working with a few 2nd, 3rd and 4th graders learning about what coding is and how it works. Students in our engineering class and FIRST robotics teams have been programming their robots using Robot-C for a few years now. This is a great beginning, but my goal is that we are able to expand students’ access to code so that ALL students get exposed to coding at some level so that they can learn and explore interests with it.
That said, there are a wide range of tools out there that students can use to learn more about coding. Many of the tools are free and/or offer some expanded access with some cost involved. I am going to list a few of my favorites here and try to break them out by grade level.
Many of the coding apps out there require a fair amount of reading, and make it tough for students at this age to access the curriculum. At this age I recommend more hands on activities. I like computer dissections to talk about what is inside a computer and what the parts do, and some activities like the “robot obstacle course”, where students have to instruct a teacher or another student how to perform a task and the teacher can only do what they tell them to do, or a similar activity making a sandwich but only following exact directions. This demonstrates to students how computers and coding works, that computers will only follow the directions that are given to them via code.
This year, I have been using tynker.com with this age group. This is a free website that allows younger students to drag and drop “bubbles” with commands in them to have the character complete a puzzle. Students have really enjoyed this and it really forces them to think logically. There are only a few lessons available for free, but it is enough for a few mini lessons. (More advanced programming is available on a per-student basis.) I was able to get through most of the free lessons with my 3rd and 4th graders in 8 30 minute sessions. It is taking longer with the 2nd graders, but they are able to do it and see success! An additional thing that I like about Tynker versus other sites are the tools that it provides teachers. You can establish classes and follow student progress through your teacher account.
This is a sample of one of the puzzles students have to solve using code in Tynker.
Students drag commands from the left
and place them under the purple start icon on the right.
4th and higher
Students at this age can still use Tynker, especially for their initial forays into coding. But for students who have had some exposure to coding already, MIT has a free tool called Scratch (scratch.mit.edu). It is more complex than Tynker, and gives kids a bit more tools and freedom in creating their own programs. Upper elementary students should have no problems in accessing and using some of the easier tools, while older students can use Scratch to create pretty in-depth games using more advanced tools.
This is an example of a simple program created in the editor. Scratch still uses a drag and drop interface similar to Tynker. Scratch gives students with background knowledge a little more freedom to create.
7th grade and up
This screenshot shows the basic interface for Codecademy. Instructions and hints are in the white pane at the left, your code is in the grey section of the screen, and your results are shown when you click to run your program.
Other coding resources