Programming a computer means nothing more or less than communicating to it in a language that it and the human user can both “understand”. And learning languages is one of the things that children do best. Every normal child learns to talk.
Why then should a child not learn to “talk” to a computer?
Seymour Papert, Mindstorms (Papert, 1980)
I love technology. I love how it can provide access, make tasks simpler (most of the time!), and provides us new ways to connect, engage, collaborate, and learn.
I have been tinkering with technology since my childhood Commodore 64. My interest in coding, along with technology, grew when I became aware of how technology can help people access information. In a previous career, I strung together some basic lines of code in dBase iii to develop an automated database. It removed the barrier of needing to know how to operate the complicated menu system, making it easier for users to search the database contents. Information was being made accessible through coding and computers. While I was not a programmer, I had opportunity to play with ideas and realise the benefits that technology affords.
When I heard of coding in education gaining momentum around the world, I took notice. I looked at how this was being introduced and, more importantly, why it was being introduced.
Under the guise of many terms, including ‘coding’ and ‘programming’, computer science is at the heart of this momentum. It incorporates the study and design of computers, computational processes and thinking. Computer science has become recognised as an essential literacy. It’s a skill needed to support digital fluency — where users are digitally able, literate, and competent in communication and understanding. Computer science is integrated into the primary school curriculum of many countries including England, Ireland, and Denmark. This emphasises the shift in digital technologies curriculum from learning to use software to learning how computers work.
Learning computer science in schools is not necessarily about creating a whole generation of computer programmers. Rather it is about being able to understand the processes, language, and responses of the technology that surrounds us. We are moving into a world that is more technology-based, with the Internet of Things and wearable tech a reality, and when driverless cars and robots are likely to become common household items. it makes sense, then, that we understand how these tools work, and what happens when they don't. After all, science is included in the curriculum because we need to have base knowledge of biology, chemistry, and physics to understand the world around us. Yet, this does not translate to all of us becoming scientists.
The importance of computer science as an essential knowledge base can be further emphasised when we think about the jobs and careers the students we are working with will have. We know that the needs of the workforce are changing. The vast majority of jobs already involve the use of technology, and this will only increase with many new, never-existed-before careers being created each year. We need a flexible and adaptable workforce, one that is familiar with technology and computational thinking.
Computational thinking — the ability to problem-solve effectively, with or without computers — is an important aspect of computer science. It involves breaking problems into pieces, pattern spotting, removing unnecessary detail, and developing step-by-step instructions to solve and evaluate. When we think of the competencies our young people need to develop, for example, creativity, risk-taking, and problem solving, computational thinking fits nicely within our curriculum. And, it complements future-focused teaching and learning.
So, what does computer science look like in a learning environment?
At Northcote Baptist Community Preschool, young children, 3-4 years of age, have been learning about computational thinking through visual programming of robotics.
The children, supported by their teacher Liz, are understanding sequencing, problem-solving, looping, and algorithms through this programming. The children play with patterns, take risks, trial, make mistakes, and retry as they program their robot to carry out certain tasks. Once they have programmed their robot, they place it on the floor, and very quickly, and visually, evaluate whether the instructions that they gave it worked, or whether they need some refinement. These young children are learning about the world they live in, through collaborating on their work with the robots, as well as the rest of the rich curriculum provided by the teachers.
At Amesbury School in Wellington, Lisa Bengtsson planned a math unit on transformation, and used coding as a support to reinforce the maths concept. The original plan to introduce coding over a two-week period was quickly abandoned as the children explored LOGO. Overnight they were collaborating to create code to make shapes, change line colour, and distance, and so much more. For the students, writing the code became an interest and an element of challenge as they created their examples of transformation in maths using code. Writing the code also required that the students had a strong understanding of the maths shape, as they needed to ‘explain’ the concept in code. As Lisa notes, the computer doesn’t understand what a square is: it needs to be told it comprises four right angles. Therefore, the ‘writer’ of the code needs to know this before translating the information.
The introduction of coding as a secondary skill into a maths lesson provided a sense of authenticity to the task as the children engaged with the maths concept, and worked together to problem solve.
The world of technology has, thankfully, advanced since my days of playing around with dBase iii. The Internet has opened up a world of resources and learning communities that we can tap into. It is this network that will support us all as we introduce computer science into our own learning environments. As the two above examples show, we don’t need to be computer scientists to introduce it into our learning environment. Rather, we need a willingness to explore coupled with the knowledge of why and how we will include it for teaching and learning. As you think about this in relation to your own learning environment, you might like to explore sites such asCS unplugged,CSfirst, code.org,Logo,Khan Academy, Logo Interpreter orScratch. There are also many local initiatives supporting this space including Code Club, Mind Lab, Makers Org, Gather, and Permission to Play, a one-day pre-conference uLearn 16 event.
I encourage you to look at ways computer science can be used for teaching and learning. Please share, via the comment box below, how you incorporate this in your learning environment so that students have the ability to understand the technological world around them.
- Bell, T., Whitten, I.H., & Fellow, M.(1998) Computer Science Unplugged
- Belshaw, D. (2013). This is why kids need to learn to code.
- Curious Minds (2015). Review of Digital Technologies
- European Schoolnet (2014). Computing our future: Computer programming and coding – Priorities, school curricula and initiatives across Europe
- Facer, K. (2001). Learning Futures: Education, technology and social change
- Martinez, S. & Stager, G. (2013). Invent to Learn: Making, Tinkering, and Engineering in the Classroom.
- Ministry of Business, Innovation and Employment, (2015). Digital Skills
- Ministry of Education, (2014). Future Focused Learning in Connected Communities
- Ministry of Education, (2015). New Zealand Education in 2025
- Resinick, M. (2013). Reviving Pappert’s Dream.
- Zhao, Y. Zhang, G. Lei, J. & Qui, w. (2016). Reimagining Education in the Second Age Machine. Never send a human to do a Machine’s job : Correcting the top 5 EdTech Mistakes.
Latest posts by Tara Fagan (see all)
- Computer science and the benefits of learning to think like a computer - March 7, 2016
- A safer internet: 5 ways to play your part - February 9, 2016
- Let’s get talking … cross-sector - September 17, 2015