Do you wonder why it’s important to help pupils learn to code?
The products of coding or computer programming are around us every day, whether we see it or not. Daily living in today’s society depends on someone somewhere having created something in which coding or programming has played a part. Many voices have spoken about how the society in which our pupils live requires more people now and in the future to be skilled in programming or coding.
There is a fear expressed that schools which ignore teaching programming or coding are setting up pupils to only be consumers rather than creators of the code-driven products of today and the future.
Many teachers of today, themselves unfamiliar with coding or programming from their own education, may be anxious that they don’t have the skills needed to teach pupils coding or programming.
So this post sets out to collate resources which will support teachers to provide age-appropriate support for their pupils in including coding or programming in the context of different curriculare areas.
Mitch Resnick, one of the main creators of the coding program called Scratch, delivered a TED Talk outlining the benefits of teaching childrens to code, so they can do more than just “read” new technologies — but also create them.
Ginni Skalski has written a blog post of an interveiw with Red Hat product manager Burr Sutter (who works to make developers more successful and productive with open source tools, technologies, and techniques) who talks about why he believes children need to know how to solve technical problems, to know how to fix the tech tools they use every day, and how he balances that with other activities in which children participate.
Watch the short video below to see a few creators of well-known online tools (from Facebook to Dropbox) explain briefly what they first did to get started in coding, and why it’s important we have more people learning to program. Also it is part of http://code.org/ The Hour of Code which links to quotes from a far wider range of well known or influential individuals on the importance of teaching coding today.
Charlie Love has written on the Nesta site about why we should be finding ways to incorporate the teaching of coding into the curriculum, and highlights the links to SDcotland’s Curriculum for Excellence.
5 Reasons to Teach Kids to Code is a graphical poster created by @GrechenNoelle and @jonmattingly and presented by Kodable (a free programming tool and curriculum for the iPad) which sets out in a visually interesting way why it is important schools empower pupils to learn skills of programming.
Dr. Patricia Fioriello sets out in a blog post why we should be Teaching Kids To Code to Prepare Them For The Future. The post lists 6 reasons, and describes them, and ends by advocating including teaching perogramming in the classroom.
In a BBC Technology report “Where is the next generation of coders?” Jane Wakefield reports on the move to encourage young children to learn programming/coding. The gives the background to the need to have programming taught at an early age, and also what kinds of tools are available.
Programming Power: Does Learning to Code Empower Kids? This post by Ben Williamson looks at the idea that young people should learn to code, which has become a global educational aspiration in the last few years. And asks what kinds of questions should digital media and learning researchers ask about these developments? He suggests three approaches: first, to take a historical look at learning to code; second, to consider it in political and economic context; and third, to understand its cultural dimensions.
Why Learning to CodeMakes My Brain Hurt! This post by Mamie Rheingold explains what she believes learners learn when they are programming.
Position Statement on learning to program in children’s early years – Dr Andrew Manches writes here providing the rationale for why teaching coding or programming for young children is important.
Computing without computers – this article links to a free downloadable book by Paul Curzon explaining programming in plain English.
#CSinSF – Computing Science Curriculum from Computing Science in San Francisco – excellent recently updated resource for computing science progression #CSinSF https://sites.google.com/sfusd.edu/k-2cs/home – aimed at primary school age with detailed lesson plans for each stage, both where there is no access to technology (unplugged activities) as well as where there is (using BeeBots, Scratch, etc). One of the neat features is that it starts by asking the question about whether pupils have previous experience at each stage, and if not points them to different resources.
So what tools and resources are available?
There is a host of tools available which can be used to support teaching pupils coding or programming. Some are downloadable software, some are specific to certian gaming devices or computing environments. Some work on specific mobile devices as apps. And some are online, requiring no downloads.
Edutopia blogpost about apps for teaching pupils coding provides a list of a few programs or apps which are aimed at use with children. Each is briefly described. Edutopia also has a post by Vicki Davis entitled “15+ Ways of teaching every student to code (even without a computer)
Code.Org provides a host of resources collated around teaching coding at different stages and ages and for different purposes – but all aimed at encouraging teachers to use coding with pupils. These links include Tutorials for the Classroom: CodeHS (Online curriculum designed specifically for high school classrooms); Codecademy After School (complete online after-school activities for a coding club); Tynker (programming for primary school in a fun way); Bootstrap (high-school algebra and geometry concepts using computer programming); CS Unplugged (Fun classroom exercises to teach computer science principles, with no computers needed). There are links to various schemes to bring enthusiasts into schools as well as platforms aimed at use with children.
Code.org has also produced a teacher guide for a structured age-appropriate series of lessons for use in primary school in developing computational thinking, many involving no computers.
Nesta Computing Resources for teachers links to resources which support teachers in incorporating coding/programming elements in their learning and teaching.
Alice is a tool to enable creating an animated story, an interactive game, or a video to share online.
- Kodu is a programming tool to create games on the PC and XBox.
Logo programming language forms the basis for a number of programmable devices, whether on-screen on robots or vehicles used in schools such as Beebot and Roamer. Click here for resources to support the use of Beebot and Roamer devices or their on-screen equivalents.
Zondle Raspberyy Pi Programming Kit is just one of the ways in which Raspberry Pi can be used to help pupils learn programming. Raspberry Pi is a relatively inexpensive palm sized computer which can be used for programming games.
Scratch was previously only available as a downloadable program but is now available as an online version (Scratch 2.0) – this is a programming language that makes it easy to create interactive stories, animations, games, music and art – and share online.
Step 1. To get started straight away with pupils go to http://scratch.mit.edu/ and click on the signup button (or sign in if previously signed up).
Step 2. Click on “create” at the top http://scratch.mit.edu/projects/editor/?tip_bar=getStarted If this does not show the tutorial step-by-step guide to starting a project then click on “Help” and choose step by step intro here: http://scratch.mit.edu/help/ (this also has printable guides and project cards for use with pupils as well as help videos).
Scratch 2.0 Starter Kit – Tools and resources collated by Randy Rodgers to help get teachers get their classes started with Scratch programming.
Click here for resources created by Simon Haughton specifically for use in primary school, including instruction cards for pupils to create various games using Scratch (including Pong, Golf and racing cars).
Click here for a range of resources from Wes Fryer about using Scratch in school with pupils. This includes video introductions and tutorials, printable guides for pupils and lesson plans and evaluation resources.
Click here for Scratch plans for upper primary school age on the Junior Computer Science site. This includes lesson plans and ideas for using Scratch across the curriculum. there are loads of downloadable step by step guides for printing for use with pupils for a host of projects.
For those who like to have a paper handheld guide to using Scratch 2.0 (in comic-book style) then there is a book available for purchase reviewed here by Mark Frauenfelder. It’s also available for purchase in digital Kindle format.
j2code from just2easy – free 4 coding platforms in one for primary age learners from the youngest levels. And for a lesson activity plan (especially for Scottish schools using Glow) click on this RM Unify link
Coding in the Classroom: 10 Tools Students Can Use to Design Apps and Video Games lists and describes 10 programs available for learning about programming, wther for PCs or mobile devices or other devices.
Ask A Teacher: 20 Programming Websites for K-8 – provides a list of 20 programming tools for use in schools with pupils. Includes videos, tutorials and links to resources.
Who can help?
On a Mission: How Code Academy is Helping get Programming into the Classroom. Lee Summers describes here how Codecademy for teachers is an online educational site built specifically for teachers. It offers slides for each lesson, as well as a quiz and practice set where students can test their knowledge. The site has been set up so that teachers can craft their own materials and then share them with the rest of the community.
To keep up with developments in such a fast-changing envronment there are a number of groups and individuals who share online via Twitter ideas and resources for supporting teachers in enocuraging pupils to learn to code. These include the following:
@CodeClub – for resources to support programming with 9-11 year-olds
@CoderScot – CoderDojo Scotland is part of a global collaboration which provides free coding clubs for young people to learn programming in a fun and sociable environment.
Create a Computing Science Curriculum with the Microsoft Computer Science Curriculum Toolkit – a free online on-demand course for educators in the Microsoft Educator Centre which guides a teacher from learning the importance of integrating computing science into the curriculum, and how to build into a spiralling school science curriculum, and how to implement the toolkit lesson guides into a classroom.
Technologies Falkirk – Computing Science – progression pathways for each element of Scotland’s Curriculum for Excellence Technologies specifically in relation to Computing Science. This takes the nationally published experiences and outcomes, for each level in the computing science, coding and computational thinking aspects for each level, then adds a progression and example activities for each to illustrate what each part might look like in practice, as a starting point for classroom activities.