
The new era of computation thinking in science education has arrived and it’s here to stay. Computational thinking is the process of problem-solving and utilising design elements with computer science techniques whilst considering student learning (Wing, 2006). As a preservice teacher, this ideation is daunting. However, through the employment of manageable pedagogical skill, computational thinking is an asset to any teacher.

Tools to teach Computational Thinking
The employment of computational thinking within a classroom is key to improving students’ ability to assimilate information autonomously- help them think like a computer scientist. Blockly and Python have been key tools that I’ve employed to educate myself on the use of varied skills required to employ computational thinking. Blockly is an introductory system teaching students the importance of precision and sequence whilst coding information. Students can sequence rules and patterns whilst discarding irrelevant information to create efficient ways to deliver information.
Challenging the stigma- ‘Real World’ application
Teachers often are challenged with the phrase ‘when will I ever use this’ by students. Whilst experimenting with Blockly in our corresponding tutorial I came up with a challenge for myself, how can I use this technology to make my everyday life easier whilst challenging my students’ beliefs?
An everyday question that I face at work is calculating how much paint a customer requires painting their house. Usually, my calculations only take a few minutes, but having a formula Through using computational thinking concepts, I decided to build a program that calculates how many litres of paint are needed to paint walls and doors. This process allows for the deconstruction of the problem. This is completed by identifying abstractions and the identification of pattern; my pattern is that 7m2 uses a litre of paint. This requires me to consider conditional logic that paint cans only come in 1, 2, 4, 10 and 15L quantities so the amount needed to be rounded up when over 7m2. Using Python with basic research through google, I developed a ‘formula’.
The script I created to calculate how much paint is required and the sample I provide demonstrates how much paint is need for 7 standard doors. My computational design process aligned with Barr & Stevenson (2011) pedagogical model requiring: Decomposition (breaking up the problem into managable pieces), Abstraction (coming up with ways to overcome the issue), Negoatiation (working with my team to understand what application they would have for the program, this is when we added a door formula) and Consensus building (building the final product). This approach is an asset to any classroom promoting collaboration through creative and critical thinking.
Application within the classroom
My programming strategy, influenced by research (Wing, 2006), easily can influence a strategic approach to solving a mathematics problem with multiple processes within a education classroom.
When developing this method within the classroom it is imperative to have a simple task that can be extended higher levels of complexity to allowing differentiation within the classroom. This can be achieved with Resnick et al (2009) method of a ‘Low Floor’ making learning accessable at the lowest levels, ‘High Ceiling’ for capabile students to extend their learning and ‘Wide Walls’ which allow for different methodolgy to be employed. Blocky maze provided a program that allowed for students to advance throught the ‘Low, High and Wide’ system by having achieveable outcomes through self-guided programs (Resnick et al,. 2009) . Scaffolding and alignment to syllabus outcomes are critical to ensuring that students remain on task and engaged whilst challenging themselves (Lye & Koh, 2014). Scaffolding will also be a tool to insure a ‘Low Floor’ is established in the classroom, this can be demonstrated through Blocky tutorials (Lye & Koh, 2014). Computational programming in conjunction with technology like the micro: bit with Blockly can ensure application of ideas providing confidence whilst dealing with complex content (Barr & Stevenson, 2011).
Reference:
Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K–12: What is involved and what is the role of the computer science education community? ACM Inroads, 2(1), 48–54.
Lye, S. Y., & Koh, J. H. L. (2014). Review on teaching and learning of computational thinking through programming: What is next for K-12?. Computers in Human Behavior, 41, 51-61.
Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., et al. (2009). Scratch: programming for all. Communications of the ACM, 52(11), 60-67.
Wing, J.M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.


Hi Phoebe,
I completely agree with the use of Blockly and Python to employ computational thinking in the classroom. And I loved how you gave a personal example which really allows me to see the importance of computational thinking, not only in the classroom but in the real world. You’ve mentioned differentiation for such as ‘Low Floor’ and ‘High ceiling’ but how will you actually differentiate something like this. Like you said, students will need to be scaffolded and will need some explicit instruction, but perhaps with older year groups, they can even try to jump straight into it and experiment Blockly by themselves like we did in our tutorial! 😊
LikeLiked by 1 person
Hi Phoebe,
This is an amazing insight into computational thinking! While you have said it is usually the student challenging teachers with “when will I ever use this?” I have been saying this to myself! I have been struggling to think of a scenario in which I would be able to include computational thinking and coding in a science lesson (without having to take multiple lessons teaching my students how to code). A maths problem like the personal example you provided has shown me how this could be achieved. May I ask how long it took you to create your Python Script?
Thank you for changing my mind about CT… I’m off to go try it out again!
Laura
LikeLike