Teaching Coding for Beginners


 

In this 3 part series, Matthew Jorgensen will present some reasons for everyday teachers to start delivering ‘coding’ in the teaching and learning process. Then, he will demonstrate a number of visual programming tools that are mostly free, easy for teachers to master and always engaging for students. Finally, he will address examples of coding elaborations in the Australian Curriculum, to show practical examples of how classroom teachers can address these elaborations.

Part 1 – The Educational Imperative to Teach Students to ‘Code’

learn to code

Visual programming, like web 2.0, has enabled consumers to become producers. Instead of having to wait for the programming experts to use character-based code to create games, everyday people (yes, even your students) can now design and produce great games. The process of making these games has been simplified through the proliferation of visual programming environments, but the skills and processes used by our students in the creation of these games are still important and can enable the delivery of 21st Century Learning.

Code is shown in inverted commas in the title because for someone to create something truly unique, like a new app, he or she must be very, very proficient at using a coding language. I don’t pretend to be that intelligent, but I do know a thing or two about using visual programming to create scripts that make things do stuff. As you will see in Part 2 of this series of posts, the applications that allow for visual programming are mostly free (Yay!), engaging and have tangible links to the software that came before. So, if you are getting on a bit like me, you can associate the Logo turtle from the early 80s with today’s ComputerCraft turtle. Is it a coincidence that they are both turtles? Check out the same procedure in Logo and LUA. Can you work out what the turtles are doing?

Logo LUA
Repeat 4 [Fd 40 Rt 90] for n = 1, 4 do

for n = 1, 40 do

turtle.forward()

end

turtle.turnright()

end

 

In 2016, every school in Queensland will be required to include the Digital Technologies Learning Area in the curriculum. Significantly, Malcolm Turnball recently recognised the importance of STEM in the development of Australian students. In fact, Mr Turnbull emphasised that IT skills are as essential to a person’s education as the basics of reading and writing. Science, technology, engineering and mathematics work hand in hand with innovative practice and creativity to create an entrepreneurial growth mindset in students. Being able to create a script or code to control a computer programme in an integral component of STEM and the trending Maker Movement.

A recent report from the University of Phoenix Research Institute (www.iftf.org/futureworkskills) talks about future work skills of 2020. These skills directly impact upon our students when we consider their careers and what the future might hold. This reports identifies 10 future work skills, and you can safely say that all 10 of these skills are directly or indirectly promoted and strengthened through the coding process.

 

Skill Definition Example
Sense-Making Ability to determine the deeper meaning or significance of what is being expressed Making decisions about the best way to construct codes or scripts using higher order thinking skills (Creation, Evaluation, etc)
Social Intelligence Ability to connect to others in a deep and direct way, to sense and stimulate reactions and desired interactions Through the creation and playing of games, students can collaborate and work interdependently. Also, the game itself can enable students to connect and also stimulate positive reactions and interactions
Novel And Adaptive Thinking Proficiency at thinking and coming up with solutions and responses beyond that which is rote or rule-based A solution can often be implemented in different ways. Students need to use the most efficient and reliable code for their programmes to be bug-free. This can require innovation and an extension of the basic knowledge of the tool
Cross-Cultural Competency Ability to operate in different cultural settings The programmes need to appeal to the myriad of users across the globe. Working with students from different backgrounds can help the students devise diverse solutions
Computational Thinking Ability to translate vast amounts of data into abstract concepts and to understand data-based reasoning Visual programming tools can be used to immerse the students into the world of computational thinking without the need to know how to code
New-Media Literacy Ability to critically assess and develop content that uses new media forms, and to leverage these media for persuasive communication In order to market apps, students can leverage the explosion of social networking platforms to promote and share their product
Transdisciplinarity Literacy in and ability to understand concepts across multiple disciplines Mathematics is the most obvious area that is directly and indirectly reinforced through visual programming. However, visual arts, music, science, logic and literacy are also well represented
Design Mindset Ability to represent and develop tasks and work processes for desired outcomes This is a no-brainer. The design process is imperative for the look of a programme and its objects, as well as the functionality
Cognitive Load Management Ability to discriminate and filter information for importance, and to understand how to maximize cognitive functioning using a variety of tools and techniques Decisions have to be made when making apps. Designers need to know how to find the best tutorials to help them learn, and have to shield themselves from the deluge of available multimedia that will not help their process
Virtual Collaboration Ability to work productively, drive engagement, and demonstrate presence as a member of a virtual team. Collaborating is a 21st century skill that is a vital part of the coding process for students and one of the best ways for students to create a successful app

 

The tools that are used to create applications and games using visual programming have their origins in some basic but powerful applications based in science, technology and learning theory. One excellent feature of most of these products is that they can be compatible with external devices as an extension of their functionality. Lego NXT, Arduino, Xbox Kinect, Wiimote and Sphero are just some examples of physical technologies that can add value to these languages.

In the UK, where there is some real thought and educational leadership happening, the BBC has partnered with Microsoft to create the micro:bit. The micro:bit website explains that ‘The micro:bit is a handheld, fully programmable computer being given free to every Year 7 or equivalent child across the UK. You can use your BBC micro:bit for all sorts of cool creations, from robots to musical instruments – the possibilities are endless’ (For more info go here). So, you might think I am straying into the Raspberry Pi realm here, but bear with me.

 

microbit and kodu

Programming a micro:bit inside Kodu Gamelab

All of these Micro-computers, like the Raspberry Pi, Arduino and micro:bit, need to be programmed. The micro:bit can be programmed using Kodu, the free Microsoft game-making tool which is highlighted later in this series. Also, the Arduino can be programmed using Scratch, and the Raspberry Pi has the drag and drop Wyliodrin which allows users to visually create applications.

To summarise, I have tried to establish the fact that schools will need to deliver lessons on how to code and the leadership of this country has acknowledged that our students need to have more exposure to STEM, innovation and creativity. Succinctly, the Australian Curriculum lists coding opportunities as part of the Band Description Elaborations. In Foundations to Year 2 students need to be ‘experimenting with very simple, step-by-step procedures to explore programmable devices’, and in Year 10, students need to be ‘coding separate modules that perform discrete functions but collectively meet the needs of the solution’.

In Part 2, we will look at the history and progression of visual programming tools.

References

About the micro:bit, retrieved from https://www.microbit.co.uk/about on October 19, 2015.

Australian Curriculum, Assessment and Reporting Authority [ACARA]. (2014). Foundation to year 10 curriculum:

Carmody, B. (2015, June 17). Malcolm Turnbull says STEM skills are just as important as reading and writing, Startup Smart, retrieved from http://www.startupsmart.com.au/growth/malcolm-turnbull-says-stem-skills-are-just-as-important-as-reading-and-writing/2015061714938.html on October 19, 2015.

Digital Technologies (ACTDIP004 and ACTDIP041). Retrieved from http://www.australiancurriculum.edu.au/technologies/digital-technologies/curriculum/f-10?layout=1

University of Phoenix Research Institute. (2015). Future Work Skills 2020 Report. Retrieved from http://www.iftf.org/uploads/media/SR-1382A_UPRI_future_work_skills_sm.pdf

Comments (1)

  1. Mohammed Khurshed Alam says:

    I am happy that I came across this blog. It is simply fantastic. Though I am not a computer science teacher, this blog inspires me. I understand cot ding is not only fun but also an important element for our students to be successful in 21st century. msftedu Australia is doing an excellent job. Thank you Microsoft.

    An MIEExpert from Bangladesh.

Skip to main content