Sunday, March 17, 2019

Computational Thinking

https://studio.code.org/c/827602367




Computational Thinking (CT) is a problem solving process that includes a number of characteristics and dispositions (Computational Thinking for Educators, 2019).  In other words, we are using computer sciences to support problem solving across different training scenarios.  There are many skills that computational thinking can improve, but we will only be talking about five: decomposition, pattern recognition, exploring algorithms, algorithm design, and critical thinking.
Decomposition is the breaking of problems down into smaller parts or more manageable pieces.  This allows students to focus on pieces of a problem rather than the whole.  Doing this makes problems seem less daunting and more doable for students.  Breaking problems or data into manageable pieces can help students with stress and it also shows them how the problem is put together.  Knowing how data is arranged gives the students a more in-depth look at the problem at hand.  In the Caterpillar program at Owens, we could use this to help strengthen troubleshooting skills and knowledge of how machines works.  If we break the machine down into parts, it is much less daunting for the student.  Students can take a machine component, like an engine, and, break it down into components parts (mixed up). Students can then take each component and put them in the order in which they are used.  
Pattern recognition is something that we do daily whether we realize it or not.  Actually humans will often find patterns where none exist because finding patterns gives people a sense of calm or order to their lives.  So it isn’t farfetched when using CT we may use pattern recognition.  Pattern recognition is finding and using a pattern to teach problem solving or other aspects of data.  So we may take students who are learning their shapes and give them a program.  This program will give them the first basic steps in drawing a shape and the student has to use pattern recognition to finish the shape.  After the student recognizes the pattern, we can add to it for them to make different shapes.  This can help them learn their basic shapes or go even further into geometry.
Exploring algorithms comes down to opening up the classroom to using algorithms and CT, but not actually writing code.  This means one may come up with “step-by-step instructions that can be used to solve a problem or carry out a task” (Computational Thinking for Educators, 2019).  We can use this in classrooms many ways.  We can have a machine problem and students have to gather information and put it in order to troubleshoot that problem, or students can use a map to figure out how to get from one place to another.
Algorithm design is when students use activities to extend pre-existing code.  If we go back to troubleshooting a problem on a machine, there are things called troubleshooting trees.  These give the student or technician a map on how to solve a problem.  We can give students part of the tree and they have to write the rest.  This would be considered a very basic algorithm design.
                The last skill that CT promotes that we will talk about is critical thinking.  Critical thinking isn’t mentioned outright in any of the text that talks about CT, but critical thinking is a big part of the results of teaching CT.  Critical thinking is the ability to analyze problems and solve them.  When we look at any of the activities from code.org, we have to analyze what needs to be done to successfully solve that problem or write that bit of code that completes the game the student is designing.  This skill is part of every skill we have gone through so far.
                One of the biggest rationales for introducing CT into the classroom is that it get students interested in coding or at least opens it up to them.  This helps the student decide if they might want to take that route for a career one day, helping fill the hundreds of thousands of jobs available to those who can code.  The secondary offshoot of this is that students are able to use technology in other courses that are not technology heavy.  This helps students retain the knowledge they are being given by making it fun and something they want to do, while helping them learn a new skill.

                When using Code Studio and Trinket had to use some math skills and a lot of critical thinking/ problem solving.  The directions most of the time were pretty vague and had to be interpreted.  This made for a lot of trial and error. Even when reading the code pages one had to do some guessing if they aren't familiar with these activities.  Getting the shapes to fill on the tree was a big one for me.  As well as doing shades of color for the dots.  Code studio I found to be a bit easier, but still had to do math and some trial and error to come up with the solutions.  I can see why these are so useful in the K-12 format. 


Computational Thinking for Educators. Retrieved from https://computationalthinkingcourse.withgoogle.com/course (2019).

1 comment:

  1. Drew,

    I could see someone without a coding background having issues with the exercises. Coding can be compared to learning another language and so people not familiar with the syntax and terminology could have issues. I would say being introduced to coding is not just about finding out if students maybe interested in a coding career. More and more jobs have some amount of coding associated with them and so it is important to introduce students to coding and these processes early. We have a document control program called ETQ and we have department Champions which not only learn the system but are able to code and build apps in the program. As technology advances and companies try to do more with less, coding and computational thinking will be must have skills in the job market.

    ReplyDelete