Sunday, February 9, 2014

Learning Coding - The 21st Century Literacy

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.
Kindergarten/1st grade
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.
2nd-4th
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
I like codecademy.com though there are some other sites out there. This site provides free lessons to people who want to make the next step to learning real programming languages. Students can use this site to learn HTML, JavaScript, Python and Ruby. The lessons start at the very beginning and walk you through the programming step by step. You get to see the results of your coding fairly quickly and this motivates students to keep going.
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
codecombat.com - A really engaging way to learn JavaScript through playing a game.

Do you have any experience coding? If not, why not try out some of these resources. Do you see any opportunities to do some coding with your students?

2 comments:

  1. Kris- thanks for sharing these resources. I was not familiar with a couple of them- I'm wanting to incorporate more coding in my language arts class. This was very helpful. I might be calling on you :)... thanks again!

    ReplyDelete
  2. Hi Kris Walsh,
    It was very informative..
    Thanks for sharing...

    Coding Classes for Kids

    ReplyDelete