Skip to main content

Introducing Computational Thinking in Classrooms

Introducing Computational Thinking in Classrooms
Date: 26th May 2019/Sunday/12:18 PM
          27th May 2019/Monday/1:55 PM

This blog post is inspired from my dive into my recent course i.e Computational Thinking for Every Educator Course offered by the ISTE International Society of Technology Education. It had a lot of insight to offer about Computational Thinking, its four key components i.e Decomposition, Pattern Recognition, Abstraction and Algorithms, its practical applications in classrooms, designing lesson plans and activities incorporating Computational Thinking in your classrooms. What amazed me was that its completely different to Computer Science, as educators we often confuse the two terms, though they are completely different from each other. Lets dive in and figure out how.


So let's begin with our understanding of what is Computer Science? Computer Science as per definitions explored onlin1 (1) its the study of information (data) and how it can be manipulated (algorithms) to solve problems while studying both theory and practice. Its not just the study of computer hardware, software , programming in different languages, data analysis etc. Computer Science is now seen as an umbrella term which now covers AI Artificial Intelligence, Bio Informatics, Computational theory, Computational Theory, Computer Graphics, Game Development, Networking, Robotics,Security and the list is endless. From creating driver less cars that aid the blind, reduce traffic accidents, enhancing safety for pedestrians, designing personalized learning systems for aiding students with difficulty or supporting diverse needs, creating robots to support in surgical procedures , using satellites to monitor weather systems is all Computer Science.

Now, whats Computational Thinking? Computational Thinking rather involves taking a complex problem, building an understanding of the problem and then finding a concrete solution to the problem through four processes (3). Each element is important and plays a pivotal role. First, by breaking a problem into smaller parts (through a process called Decomposition), identifying similarities and differences in data (through a process call pattern recognition) , followed by removing irrelevant data or details (through a process called Abstraction) and finally creating a solution to solve the problem at hand (through  process called Algorithms - series of steps to solve a problem).

To make it more simpler, lets imagine our passwords for social accounts are hacked and we need to create new passwords every now and then which is obviously troubling at times and obviously we can never remember all passwords for all social media accounts, when you have so many of them. I found this video (2) o YouTube about Computational Thinking very interesting, it brilliantly explains the concept and purpose of Computational Thinking. For example you have three accounts namely Facebook, Twitter, Gmail, Yahoo, Hotmail, LinkedIn etc. Instead of creating separate passwords for all you create an algorithm which lets you create a password. So instead of remembering the passwords you remember the Algorithms. Lets  try one  example here:

Step # 1 You could take the first two  and last two letter of you account (FA/OK - Facebook & TW/ER for Twitter)

Step # 2 Now revers the letters OKFA and ERTW

Step #3 Count letters in each account name for example Facebook has 8 letters, Twitter has 7 letters.

Step # 4 Look for a number on your keyboard that number 8 and 7, number 8 has a * symbol, and number 7 has a & symbol.

Step # 5 Append both symbols at the end of your password, now your password is 
OKFA* and ERTW&

Step # 6 In the end you could add the year and month the account was created
OKFA*19 and ERTW&19

Now , you do not need to remember the passwords but rather only the Algorithm and each time your Algorithm will generate a new and unique password. What we need to understand here is that there is a difference between computational thinking and programming. Lets consider for example, you and your friends plan to go somewhere you have never gone before, you think of the different routes available to reach a place, shortest, safest, less costly and quickest. Then you follow directions. The thinking part here is called Computational Thinking, following directions is called programming.

Now, lets look at each part in a detail. As per ISTE definition , pattern recognition is all about identifying similarities and differences, looking for patterns among data. This helps in generalizing solutions and building logical thinking skills. This could be very helpful for students both at early years and elementary level where they learn to classify shapes (5) based on their angles, sides, edges etc they learn to classify animals based on their habitats, they learn counting in 1s, counting in 2s , counting in 3s, learn spellings etc I found these interesting puzzles (6) which helps kids practice pattern matching, they look for feature that are common and relevant, use these feature to separate the objects, filter out irrelevant details. They could create their own patterns for learning and practicing numbers, spelling etc and share with their peers.

I remember while working on the Artificial Intelligence course, we had to do an activity where the machine tries to identify a table among a group of objects. The machine prior to this exercise is fed with basic features of a table that it has four legs, it is made up of hard material, it has a flat surface, not curved etc. The machine is trained using a few images and finally more images are added to see whether the machine can recognize a table or no. So, the machine is trained to recognize objects using pattern recognition. Similarly, Google Auto Draw (7) uses machine learning and assists you in making perfect diagrams. It matches your rough sketches with the saved drawing from artists and helps you create amazing drawings. I personally love Google Quick Draw (8), it uses a neural network to recognize doodling (your sketches), it matches them with saved patterns and even shows you minute details of the whole process, the images with the nearest match to your drawing. My kids at the Ran'aa Child Welfare Foundation had used both tools when we were working on designing an AI enabled car for the residents of Peshawar that would monitor waste levels outside homes, send alerts and recycle them. It triggered their thinking process.

Lets move to exploring abstraction a little. As per ISTE definition, Abstraction involves filtering out, removing irrelevant details or unnecessary details which would make the problem at hand easier to understand and solve. It avoids repetition. For example lets consider two different stories here (9,10), what we have done here is that removed specific words from both stories and turn them into blanks using abstraction, providing kids a creative writing opportunity to create a completely new story.

Story 1:

Early last year, my mom gave me an old skateboard. She told me about the days when she would ride it from her school in her hometown. I tried to ride it once, but tripped over my shoelaces. It didn't take long before i decided that it was best to leave the skateboarding to my mom.

Story 2:

Sometime last year, my mom told me an old story. She told me about the days when she would hear it from her father in her childhood. I tried to tell it once, but tripped over my words. It didn't take long before I decided that it was best to leave the storytelling to my mom

The new story template :)
_______________ last year, my mom _______ me an old ________. She told me about the days when she would hear ____________________. I tried to __________, but  tripped over my _______. It didn't take long before I decided that it was best to leave the ____________ to my mom.

Similarly students in the middle school (during social studies lessons etc) could be asked to create a map of a city or place using the map maker tool online (11). A criteria could be created after abstraction which lists down key places, feature to be included in the map for example, map should have a key, compass (to show directions), a key, main places (schools, hospitals, banks, parks, markets etc). Google Maps could  be an effective tool here.

Lets move to the last element that is Algorithms, in simple words an algorithm is a series of steps that can be used to solve a problem (12). To make it more simpler, if you have ever tried to make an egg, make a cup of coffee or tea, or prepare breakfast any other meal, given instructions before a task, you are already into creating algorithms. An algorithm could be used for multiple purposes for calculations, data processing, automation etc. An algorithm could be represented either as a flow chart of in the form of a pseudo code.

While skimming through some lesson plans on the ISTE Course I came across an interesting lesson plan, where kids identify the correct steps of creating a paper airplane from the group of images , separate the correct steps from the incorrect steps, create a paper plane and share with their class. I tried this activity with my kids at my school Sawubona and kids were able to create the planes following the steps which was easy for them. Similarly, kids could create a recipe booklet of their favorite recipes in Google docs, share with the class. kids could use these recipes to create either new recipes or even comment on their peers recipes. Kids at the Ran'aa Child Welfare Foundation have been working on Scratch, they know that the different color blocks of code represent different actions, and that each program has a start, end and a middle part. Each program has to e run and stopped through commands. 

So, my little understanding is that instead of teaching Computer Science as a stand alone subject, students should be taught Computational Thinking instead with emphasis on integration with other subjects. For example, I am working on a project with the kids at the SOS Children's Village where we are creating a chat bot to assist kids with emotional and disruptive behavior, identify causes and help them become more alert , aware and mindful.  We have tarted with creating empathy and scenario maps to have an insight into what causes disruptive behavior among children, what are the main causes of stress (decomposition)etc. We have found some similarities in the data gathered, similar reasons for mood swings, irrational response at times (pattern recognition), filtered out the irrelevant details(abstraction). We are exploring resources that could help ease the stress levels, looking for meditation exercises etc. Based on this data we tried creating a chat bot that talks to children and suggest a course of action based on their responses.

Now , my final remarks why computational thinking should be introduced in schools. A number of reasons its not programming its a problem solving approach that would assist and guide kids in handling all sorts of problems in their practical life, second its an opportunity to design something innovative and creative (abstraction), focus now shifts to finding solutions then tools, resources and skills, you can think of debono's six thinking hats. Third, because it involves research, its authentic, student end up creating a product, try it out,  it moves the users from just being consumers of technology to creators of technology. Fourth, its simple, fun, interesting to teach and learn and we can easily make connections with any area of study and make real life connections.

So, your time to explore now, find below a few resources (15, 16) that would give you a much deeper insight into what Computational Thinking is all about and how could you implement in your own schools and classrooms.

So, signing off for now. Enjoy Reading till my next blog post soon.

Thank you so much.

Regards and prayers
Sheeba Ajmal

References:

1.  What is Computer Science? Joel Lee, https://www.makeuseof.com/tag/what-is-computer-science/ Accessed Online 26th May 2019

2. Whats Computational Thinking? https://www.youtube.com/watch?v=qpxLusH4quY Accessed Online 26th May 2019 

3. Introduction to Computation Thinking KS3 https://www.bbc.com/bitesize/guides/zp92mp3/revision/1, Accessed Online 26th May 2019

4. What is Computer Science https://www.youtube.com/watch?v=AnVBCyzNgaU Accessed Online 27th May 2019

5.  Pattern Matching https://www.abcya.com/games/patterns Accessed Online 27th May 2019

6. Pattern Matching Puzzles https://teachinglondoncomputing.org/pattern-matching-puzzles/ Accessed Online 27th May 2019

7. Auto Draw https://experiments.withgoogle.com/autodraw Accessed Online 27th May 2019

8. Quick Draw https://quickdraw.withgoogle.com/# Accessed Online 27th May 2019

9. Assessment 2 - Tangrams https://code.org/curriculum/course4/5/Assessment5-MadGlibs.pdf Accessed Online 27th May 2019

10. Abstraction with Matt Gibs https://code.org/curriculum/course4/5/Teacher Accessed Online 27th May 2019.

11. TeacherLED Interactive Whiteboard Map maker http://www.teacherled.com/resources/mapmaker/mapmakerload.html Accessed Online 27th August 2019.

12. Algorithms https://www.bbc.com/bitesize/guides/zpp49j6/revision/1 Accessed Online 27th August 2019

13. Real life Algorithms Paper Airplanes https://code.org/curriculum/course2/2/Teacher Accessed Online 27th May 2019

14. Five reasons why computational thinking is important tool for teachers and students https://www.edgalaxy.com/journal/2016/5/25/five-reasons-why-computational-thinking-is-an-essential-tool-for-teachers-and-students Accessed Online 27th May 2019

15. Google's Computational Thinking Course for Educators https://computationalthinkingcourse.withgoogle.com/course?use_last_location=true  Accessed Online 27th May 2019

16. ISTE Computational Thinking https://www.iste.org/learn/iste-u/computational-thinking Accessed Online 27th May 2019

Comments

  1. I want to to thank you for this fantastic read!! I certainly enjoyed every bit of it. I’ve got you bookmarked to check out new things you post…
    Best Graphic Designing Institute in Delhi

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete

Post a Comment

Popular posts from this blog

Differentiated VS Personalized VS Individualized Learning

Differentiated VS Personalized VS Individualized Learning Date: 23/09/2018 Sunday This blogpost is inspired from my twitter chat today organized by #edchatmena about individualized, personalized and differentiated learning.  It was so good to interact with a very experienced and knowledgeable group of educators who were able to share some amazing resources about the three different learning approaches. I did have some understanding about differentiated learning in classrooms, but the twitter chat helped build a much clearer understanding of the three approaches.  According to an article by Dale Basye differentiation is a type of learning where instruction is tailored to meet the needs of learners in class, the learning objectives remain the same, but teachers can use different resources, different strategies , providing students different paths to students to achieve their learning goals. There are different types of differentiation. Lets look at each in detail. Though t

Formative Assessment, Effective Feedback and EDTech Tools - Part 2

Formative Assessment, Effective Feedback and EDTech Tools - Part 2 Date: 31st May 2022 Welcome to the second blog post exploring the various edtech tools that can be used to create innovative formative assessments online. The previous post explored formative assessments and the importance of feedback. This post will share various tools and how these can be used to create assessments online. Also we will be looking at how to give feedback using these tools online. Let begin by explore each tool individually: Some of the tools that I explored included WordArt, Yacapaga, Vocaro,WeVideo, Formative , Seesaw, Socrative, NearPod & Quizalize. Each of these has a different set of features that makes it different from the other. My review of each would be based on the following features: Ease of use - interface (login/logoff) Accessibility Availability on multiple devices (mobiles, desktops, laptops)  Interactivity Feedback features Data Analysis Graphics Simple to challenging tasks  Differe