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).
Drew,
ReplyDeleteI 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.