programming

Beyond the Hour of Code! Keeping Kids Coding

In December, Computer Science Education Week hosted The Hour of Code. Through this initiative, a one hour module was developed as an introduction to coding. A number of short videos about coding featuring a number of celebrities were also produced. The statistics around computer programming are very interesting and it is going to be an in demand skill for success in the coming years.

Through this module, students are introduced to the coding concepts of repeated loops, repeat until statements, if statements, and if/else statements.

Following the success of this introduction, I decided to use the ‘tribe activity’ time in the Lower School schedule to offer a coding activity. The program ran for 4 weeks and we primarily used iPads and computers to continue our exploration. Most of the programs we explored used visual programming – symbols to represent words.

Here are the tools that we used to explore:

Coding Tool Kit

Tynker (computer) : Age 8+ http://www.tynker.com/hour-of-code/

Lightbot (app for iPad or android device): Age 8+ http://light-bot.com/hoc.html

Scratch (computer): Age 8+ http://scratch.mit.edu/

Kodable (iPad) : Age 5+ https://itunes.apple.com/us/app/kodable/id577673067?mt=8

Hopscotch (iPad): Age 8+ https://gethopscotch.com/hour-of-code
Hopscotch Curriculum Resources: https://www.dropbox.com/sh/o4vo921f15fjluz/yQQXV6RG-z

Daisy The Dino (iPad): Age 5+ https://itunes.apple.com/ca/app/daisy-the-dinosaur/id490514278?mt=8

Bee-Bot App (iPad): Age 5+ https://itunes.apple.com/ca/app/bee-bot/id500131639?mt=8

Lego Mindstorms Fix The Factory (iPad): Age 8+  https://itunes.apple.com/ca/app/lego-mindstorms-fix-factory/id671493323?mt=8

One of the boys in my club, was quickly able to turn his iPad into an Etch-A-Sketch device using the Hopscotch programming and some basic instructions in approx. 15 minutes. The online module doesn’t work because you cannot tip the screen to make it function but if you have an iPad and Hopscotch installed you can see how it works.

Eventually, I think that once students have developed the basic skills they could start to design iPad/iPhone apps for a specific purpose. It would be interesting to have a summative tasks for a unit of inquiry be related to creating a real-world tool using these skills.

Programming is a great way to teach thinking skills as it requires problem decompositions (breaking down the task into smaller parts to solve one step at a time), pattern recognition, algorithmic thinking (strategic thinking), and abstraction. It is also done in a real world environment, where students are able to try their thinking and get immediate feedback if they are successful or not.

 

 

Advertisements

MAET Makers: Background Research Time

After watching a few videos on the Raspberry Pi and the advanced things people have been able to program it to do, and reading a variety of discussion forums, I decided that before I could actually do much (exciting!) with the Raspberry Pi I would need to know the basics of “Python” programming in order to operate the operating system.

Some of the resources I found were:

Python for Beginners: http://www.python.org/about/gettingstarted/

Adafruit Learning Systems: http://learn.adafruit.com/category/learn-raspberry-pi

Khan Academy – Python Programminghttps://www.khanacademy.org/science/computer-science

Raspberry Shake – Raspberry Pi Tutorials –  http://www.raspberryshake.com/

*I did check Atomic Learning but they did not have any resources for Python

I personally like the Raspberry Shake Tutorials because a lot of it was reading based so I found it easier to go back and re-read to make sure I was understanding, instead of watching a video and starting and stopping. The pictures were very helpful because it was a static image, instead of it changing too quickly before I understood. Also because I didn’t have a Raspberry Pi to tinker with, most of the videos were examples of people working with the actual program, and I was more trying to find background research.

I learned quickly that computer programming contains its own “language” or terminology, much of with I was not familiar with even though I have some basic skills from coaching lego robotics. When thinking about this in the context of teaching, when we start a new unit there is often a lot of new vocabulary so it must be overwhelming for students as they work to build an understanding. As teachers, sometimes I think we forget what our students don’t know yet, and how challenging it can seem before you have learned it. It was good to be reminded of how challenging a new concept can be – especially when it is something like programming the Raspberry Pi that is completely unrelated to most other knowledge that I already have in my long term memory.

I also sent a Tweet out to my PLN on Twitter to ask for additional resources, although I didn’t receive any suggestions.