How can teaching students about loops help them understand automation and use this understanding to solve problems more efficiently?

Computational Thinking and Automation

 

ISTE Standard for Students #5 is “Computational Thinker: Students develop and employ strategies for understanding and solving problems in ways that leverage the power of technological methods to develop and test solutions.” There are four indicators listed under this standard and the last indicator reads: Students understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions. (ISTE, 2016).   Automation is defined as “having computers or machine do repetitive or tedious tasks” (ISTE, 2016). The words repetitive and tedious typically have negative connotations, but when you shift your thinking and consider automation as a model for efficiency and simplicity it becomes a very positive and powerful concept. Efficiency and simplicity allow us to focus on the important issues and ideas because our thinking is not bogged down with the “repetitive and tedious tasks”.  Automation is a key component of computational thinking. In order to “leverage the power of technological methods”, students need to be able to focus on the primary learning objective.

I believe that teaching elementary students coding, specifically explicitly teaching them about loops and repeat functions, allows these young learners to begin to become computational thinkers.  “Coding is the language of critical thinking. It requires students to define problems, break them into parts, and be resourceful in finding the answers to their problems” (Kiang, 2014).

 

Teaching Loops and Repeat Functions

Code.org offers some pretty amazing teaching and learning opportunities. Some of my favorite are their unplugged lessons. While the lessons that require technology are extremely engaging, I feel that beginning with the unplugged lessons can allow for the crucial foundational understandings of the concepts being taught. These unplugged lessons allow for those “oh, now I get it!” moments that come from collaborative discussions and real-life learning experiences.  Gaining these understanding before you move to more “game-like” modules allows students to approach the coding puzzles online as learning tools that are helping them develop problem solving skills and strategies that will transfer to the “real world”.

One of the major concepts in the elementary code.org curriculum is loops and repeat functions.  We want students to begin to identify patterns in their code that can be replaced with a loop. “Frequently the linear set of instructions includes patterns that are repeated multiple times and as students want to write more complex and interesting programs, manually duplicating that code becomes cumbersome and inefficient. To enable students to write more powerful programs, we’ll need to rely on structures that break out of the that single linear list. Loops allow for students to structure their code in a way that repeats.” (Code.org)

My favorite unplugged lessons that introduce the idea of loops and making your code more efficient are:

Kindergarten: https://curriculum.code.org/csf-1718/coursea/8/

 

1st grade: https://curriculum.code.org/csf-1718/courseb/9/

 

2nd grade: https://curriculum.code.org/csf-1718/coursec/7/

Sources:

 

Code.org website (Retrieved on 2018, February 28)

 

Iste.org. (2017) ISTE Standards for Students. (Retrieved on 2018, March 4) from: https://www.iste.org/standards/for-students

 

Kiang, D. (2014). 3 ways coding and gaming can enhance learning. Edutopia. (Retrieved on 2018, March 4) from: http://www.edutopia.org/blog/coding-and-gaming-enhance-learning-Douglas-kiang

 

2 thoughts on “How can teaching students about loops help them understand automation and use this understanding to solve problems more efficiently?

  1. Hi Susan,

    Thank you again for sharing the Code.org Unplugged lessons. Like I mentioned before, this side of their curriculum was brand new to me. I especially liked the 1st-grade lesson. Something about manipulating tangibles before working on the actual code is very appealing. I also found your point about the value of repetition to be helpful. Because so much of our world is automated, we often forget that the automation has freed us to spend our time, money, and energy on other endeavors. The assembly line is an early example, but one that revolutionized the idea of transportation and employment in America. I’m looking forward to reading more about your adventures with student coding.

    Lauren

  2. Great post Susan! Thank you for sharing, I really enjoy how these lesson especially the Kindergarten one focus on two parts of coding (loops and repeat). As a Kindergarten teacher I especially liked how the unplugged lesson had lots of movement included, I love giving my kiddos the chance to get their wiggles out while learning. I really appreciate all of your post, they make teaching tech/coding to primary kids not seem so daunting. I will give this a try in my own classroom. Thanks again for sharing and keep up the good work.

Leave a Reply

Your email address will not be published. Required fields are marked *