What is Computational Thinking?
According to an article by Jeannette Wing, Computational Thinking is “a way of solving problems, designing systems, and understanding human behavior by drawing on the concepts of computer science.” Over the past couple of weeks in ECI 201, we have learned the meaning of this definition and how to break it down, so let’s get started!
There are four main skills used in Computational Thinking; Algorithmic Thinking, Decomposition, Abstraction, and Pattern Recognition.
To read up on Jeanette Wings article on Computational Thinking click here
Algorithmic Thinking
Algorithmic Thinking is being able to create a logical series of steps in order to produce an output in computer science. In ECI 201 we have talked about coding, and I think that’s a perfect example for how algorithmic thinking takes place. We got to do some online coding of our own, I chose ‘Wayfinding’ from Moana because it’s one of my favorite Disney movies. The object was to help Moana and Maui travel through the sea, catch fish, and to strike and dodge the coconut pirates. Algorithmic thinking was used because I needed to create a sequence of “moving forward, turning left, dodging, and striking” all in the correct order or I failed the level. It was a cool experience to see computer science at work through coding. I really enjoyed this activity because I got to take control of the gaming system, and basically see what the creators see when they make the games.
Coding should be more incorporated into schools because with a growing technology rate, children should have an idea on how the games they love are created. Coding activities differ by age and grade level for the level of intensity. For younger students, I strongly suggest simple coding activities, so they are not becoming overwhelmed and frustrated with the complexity of the assignment. Coding at that age should be a way for them to understand the concepts and techniques incorporated into game and lesson making. Disneys “Hour of Code” consists of coding activities for students that involve some of their favorite Disney characters. These activities allow students to think critically to build the kingdom, destroy the bad guy, and save the day, all while using code.
Decomposition
The next skill we are going to look at is Decomposition. This is a concept of breaking down the complexity of a subject or object and focusing on the individual or separate part. The best example for this in terms of computer science was putting together ‘Piper’ in ECI 201. Piper is a basic computer with added software that can add downloads, such as Minecraft. In class we got to build a Piper computer, and learn the basics of Minecraft. This demonstrates decomposition because after the computer was built, we still had to work step by step to attach each wire. Instead of the wires just being apart of the setup they each delivered their own function, such as moving forward or backward. This allowed for the bigger picture to be broken down for each little function in the grand scheme of computer science. For the future, I definitely think children should have access to a ‘Piper’ or a similar equivalent in classrooms. Ages that will especially that would benefit from Piper and similar activities include 3rd through 5th grade students, as well as early middle school students. Piper consists of a stronger thought process needed to build and set up the codes. It is easy for younger students to get frustrated with the activity, or not get much out of it. Older students however will benefit because they are at a stage in life where they want to take control and try new challenges. It was a great example of trial and error of trying to build a computer and correct the software. It allows for critical thinking skills and gains creativity with a fun purpose.
https://www.youtube.com/watch?v=E2yuBcbv6iQ&feature=emb_logo
The link above takes you to a Youtube video describing the use of Piper for the development of students in a STEM classroom. The video goes into detail about the clear concepts of growth mindset, problem solving, creativity, collaboration, and engineering concepts through the creation of Piper. I think this video does a great job on breaking down the intellectual outcomes of Piper, instead of just focusing on the building and the finished product. The video also stresses that these fundamental practices and skills turn into careers later in life, and students would have never imagined they would be capable of such concepts at a younger age.
Abstraction
Another skill used in Computational Thinking is Abstraction. This is simply taking away the unnecessary details of a problem or situation and turning into a simple model. I saw Abstraction being used in our Visitor & Residents map we made in our ECI 201 class. On the map we divided it into four sections including visitor, resident, personal, and public. Visitor means a website you spend a short amount of time on, and residence means the site that you spend more of your time. Personal and public define as what you share with others, and what you decide to keep more to yourself. We then included the technology sites we used on a regular basis such as social media, google drive, email, and online shopping, and placed them in the appropriate spot. This is an example of abstraction because even though we did not use a computer for this activity, we took out the complexity of a site and simplified it into the meaning it had on us, the individual, and placed in its defining category.
The link below takes you to the “Visitor and Residents” by David White website. This was incorporated in the Computational Thinking unit in my ECI 201 class. The article and associated video does a great job of explaining the meaning of Visitor and Residents in terms of the internet and the various contexts. This article can be used for teachers and educators to get more on an insight on the footprint their students and themselves are making on the internet. This site helps to put new perspectives on what we choose to spend our time on, how we are tracked, and what data is being accessed. Teachers and educators need to take more action on this because it can allow for more lessons and useful sites to be shared between educators in a safe manner. It also helps to recognize restrictions for what educators should have access to during the school day, and learning how to separate their school life from their home life.
Pattern Recognition
The last skill of computational thinking is Pattern Recognition. This can be seen as identifying patterns and using them to analyze different concepts in computer science. Pattern Recognition was a big part of Sphero in ECI 201. Sphero is a robot ball, that can be controlled through coding. As a class, we got the opportunity to design a map of our campus, and include the main places we visit everyday. Then through coding we had to get Sphero to go to our different locations. This demonstrates pattern recognition because each repeated turn and distance Sphero traveled created a pattern. Using coding, the power of computer science drove the power of the robot. It was a cool experience to know that I was in control, but it took careful remembrance and skill to get Sphero to do what I wanted.
I think Sphero is a great tool to use in the classroom. Elementary students enjoy hands on activities, and Sphero is a great way to get them out of their seats, interacting with one another, and learning in a unique way. Sphero can be incorporated into many lesson plans; Examples include simple computer science, math equations and fractions, logic puzzles, and simple architecture. These activities give students the opportunity to creatively construct movements, lights, sounds, and mimics, through the power of learning core subjects. The link listed below is the official Sphero website which incorporates lessons, games, and the workspace for Sphero. The website can also be downloaded at the App Store under “Sphero edu” for mobile devices.
https://edu.sphero.com/cwists/category
I had little knowledge about Computational Thinking before learning about it in my ECI 201 class. Now I have a pretty good idea that computational thinking is an expanded concept of computer science that is only going to grow. Computation Thinking can be broken up into four skills; Algorithmic Thinking, Decomposition, Abstraction, and Pattern Recognition. These skills are present in countless projects and clearly define the rise of computer science in our education system. As a future elementary teacher, I see the importance of providing children with opportunities regarding computational thinking within core subjects. Activities can be planned around the four skills, and give children the ability to let their individualistic minds operate and transform while learning. Students will get so much out of the activities when they are using the technology that allows them to be hands on and creative. Learning is fun and more engaging when the students can personalize any core lesson and make it their own. I want to make that evident in my classroom by incorporating resources like those listed above, instead of the every day pencil and paper. Lessons can be introduced in a more formal matter, but then transition into activities that give children the power to learn on their own. These concepts will remain with children and help prepare them for their future from a technology based standpoint. The basic fundamentals they are learning now, transform into life and career applications that students never realized began with computational thinking at such an early age. Living in a world that is full of increasing technology, it seems only fitting to incorporate such a concept on a daily basis.