This term I am teaching coding to the year 1 and 2 classes, and will be focusing on the basics with the Kindergarten classes (this could be a whole blog in itself). My inspiration to teach coding came from a teacher at another school who had written a program based on the Scratch platform from the MIT. I saw the myriad of teaching possibilities and opportunities to integrate computer science with other Key Learning Areas.
Coding and programming integrates many mathematical concepts, such as position, patterns (recognising and continuing patterns) and is fantastic for developing logical thinking, problem solving and mathematical thinking. In addition, coding can develop literacy skills. After all, a computer program is simply a list of instructions for the computer right? In other words, a text type known as a procedure.
This term I am teaching coding using the www.code.org website and plans. I have found it a comprehensive and well sequenced programs many resources provided for teachers. The lesson plans are quite good. Although comprehensive, they read almost like a script for a lesson. I would find it much better if they had also had a summary consisting of key points, the key words you need to teach and how the activities will get the key points across.
Visually, code.org is very attractive and engaging for the kids that I have used it with so far. It uses a block system of constructing code. Each piece of code snaps in to place (like Lego) to build a sequence of commands. IN the pic below, you can see the coding options available on the left, and the algorithm being created on the right. When I run this little algorithm, whatever is being programmed would move forward twice, then stop.
On the left are the commands available for use, and how they fit together to piece together a a string of code is on the right.
Straight away you can see how this is a good strategy for teaching the mathematical concept of positional awareness – coders need to be aware that the object being programmed has to be oriented in the right direction before moving forward. This took a little while for some of my junior coders to comprehend. I found that standing in front of them and getting them to give me the commands while I followed them worked very well. After sending me in to desks and chairs, or wondering why I didn’t move when they said “Go right” instead of “turn right, move forward”.
This is also useful for teaching pattern generation and recognition. For example, if the commands “move forward, turn right, move forward, turn right” have been coded, what commands will continue the pattern?
In addition, time and sequence is embedded in the coding process. Junior coders develop an understanding of sequencing events – what happens before and after X event?
These are some of the concepts inherent in the teaching and learning of coding. I will touch on more in the coming weeks.
Thanks for reading!