This week I attended Code Club Australia teacher training, aimed at supporting the development of after school clubs for coding. This is a Scratch based program designed to support teachers set up clubs for students in primary school with the intent for the underpinning concepts of coding to be learnt and understood. It is fairly straight forward and there are tasks set up for you to use with students. To be honest I was a little distracted during the day, but that didn’t mean I wasn’t engaging or thinking beyond the moment, but yes I was that annoying student that you think is not on task.
The thing I find interesting about coding is that it is used everywhere, in a multitude of contexts, and creates beautiful things as well as supports the everyday things that we do. Code is essentially a string of letters, numbers and symbols that when placed in a particular sequence create an outcome. Code today is strongly connected to computer programming, but is it more than that? Coding is used to solve problems and to create artifacts, one of its many uses is to create apps that solve problems, even providing solutions to our busy day seamlessly allowing us to become better organised or interact with one another effortlessly. It is this aspect that I want to focus on, there is purpose behind coding. It is with this notion of purpose that I think it is important to approach coding in schools.
When coding is mentioned we often hear computational thinking quickly following. What is computational thinking?
Computational thinking (CT) is a problem solving process that includes a number of characteristics, such as logically ordering and analyzing data and creating solutions using a series of ordered steps (or algorithms), and dispositions, such as the ability to confidently deal with complexity and open-ended problems. CT is essential to the development of computer applications, but it can also be used to support problem solving across all disciplines, including math, science, and the humanities. Students who learn CT across the curriculum can begin to see a relationship between subjects as well as between school and life outside of the classroom.(https://www.google.com.au/edu/resources/programs/exploring-computational-thinking/)
Thinking beyond coding is important, considering computational thinking is possibly the best starting point when wanting to jump into the coding space as it centres around problem solving. It is with this focus that I view Minecraft as being a great space to explore a range of problems and develop opportunity for coding based on the needs of the community/server environment. The very nature of setting up a community on the server means that there is a natural problem solving process occurring. The activities undertaken on the server can further build on computational thinking. Redstone provides opportunity for logical thinking and is readily used to achieve the needs of the community, from creating automated farms that produce food, such as a wheat farm that harvests its produce by the flick of a switch. Not to mention transport systems, lighting and door controls. Using Turtles allows you to then bring in the language of code to perform a task as a result of an identified problem and then there is Learn to Mod which allows for ingame use of code.
Managing the server provides further opportunities to develop computational thinking and the incorporation of mods (bits of code that can be added to the game to perform particular functions). And of course, due to the very nature of Minecraft it is designed for user created plugins/mods, yes you can create your own using code.
Having purpose when coding is important, if there is not a problem to solve how authentic is the coding experience?
What meaning does coding have without purpose?