Badge Guide - Understanding Computational Thinking
Badge Guide - Understanding Computational Thinking
Computational Thinking
Badge Guide
Enoch Hunsaker
Brigham Young University
2018
1
Badge Introduction 3
Recommended Prior Knowledge 3
International Standards Alignment 3
ISTE Standards for Educators 3
ISTE Standards for Students 3
Intended Learning Outcomes 3
Acknowledgements 4
Requirement 4: Reflections 25
Requirement 4.1: Computational Thinking Attitudes & Approaches 25
Requirement 4.2: Computational Thinking Rationale 25
Computational Thinking as a 21st Century Literacy 25
Attitudes and Trends in regard to Computational Thinking 26
References 28
Badge Introduction
Computational Thinking (CT), considered a fundamental literacy of the 21st Century, is
increasingly gaining traction with educational associations and school systems around
the world. Earners of this badge demonstrate ability to apply skills, attitudes, and
approaches associated with CT in their own problem-solving process as well as an
understanding of the rationale for teaching CT to 21st-Century students.
● Learner Standard 1a: Set professional learning goals to explore and apply
pedagogical approaches made possible by technology and reflect on their
effectiveness.
1. Define computational thinking (CT) and basic terms associated with it.
2. Apply basic CT principles in a variety of problem-solving contexts.
3. Articulate rationale for teaching computational thinking.
Acknowledgements
If your score is less than 90% (23 or lower), review your responses and the Badge
Guide, determine the correct answers, and do one of the following:
● Access the email sent to you by “BYU Instructor” that contains a Google
sheet with your score and a space to write corrections for any questions
you missed. Enter your corrections and paste the URL of the sheet onto
your submission form (make sure anyone with a link can view).
● If you find it easier (or if you do not receive the email from BYU Instructor),
create a screen recording of your quiz results in which you pause on each
question you missed and verbally explain the correct answer. Upload this
video to YouTube, make sure anyone with a link can view it, and paste the
URL onto your submission form.
In order to pass the above quiz, you will need to understand computational thinking (CT)
and several of the skills, attitudes, and approaches commonly associated with it.
The term computational thinking was introduced by Seymour Papert in 1980, but it was
used in a slightly different sense than is currently accepted (Standl, 2017). In 2006,
Jeannette Wing reintroduced, redefined, and reinvigorated computational thinking. Her
article (see references) is only three pages and well worth reading, but for the purposes
of this badge, it will do to understand the following points:
Wing’s article started a movement that continues to grow in popularity. In 2011, the
International Society for Technology in Education (ISTE) and the Computer Science
Teachers Association (CSTA) cooperated to create a 1-page Operational Definition of
Computational Thinking for K-12 Education. Please read this definition thoroughly.
You may also find it helpful to watch this video created by the International Society for
Technology in Education (ISTE):
Video 1. Computational Thinking: A Digital Age Skill for Everyone. Click, copy, or type this link into your
browser to view: h
ttps://youtu.be/VFcUgSYyRPg. N ote: T
his video is copyrighted by ISTE under
Standard YouTube Licence and is therefore not included in the CC-BY license of the rest of this
document.
While the ISTE/CSTA definition is thorough, it is also useful for teachers to be familiar
with a handful of key terms that they can keep in mind when planning lessons, guiding
discussions, commenting on student work, etc. The following table is derived from the
documentation of various organizations that seek to define and categorize CT in a
useful way for educators (CAS Barefoot, 2014b; Google, n.d.b; ISTE, 2014). This is not
intended to be comprehensive, but it does provide a reasonably complete snapshot of
the most crucial components of CT.
Decomposition
Video 2. Introduction to Decomposition. Click, copy, or type this link into your browser to view:
https://youtu.be/rxsYpP2-omg. N ote: T his video is copyrighted by Robotics Academy under
Standard YouTube Licence and is therefore not included in the CC-BY license of the rest of this
document.
Pattern Recognition
Video 3. Pattern Recognition - Introduction. Click, copy, or type this link into your browser to view:
https://youtu.be/cbZUnuyxcVs. Note: This video is copyrighted by Computer Science Education
Research Group under Standard YouTube Licence and is therefore not included in the CC-BY license of
the rest of this document.
Abstraction
Algorithm Design
Algorithm design is “developing the step by step instructions for solving” the problem at
hand as well as other problems that may be similar (Google, n.d.b). This 2-minute video
may help you better visualize this concept:
Video 5. Algorithms. Click, copy, or type this link into your browser to view:
https://youtu.be/ROUV90QmqUA. N ote: T his video is copyrighted by Robotics Academy under
Standard YouTube Licence and is therefore not included in the CC-BY license of the rest of this
document.
Evaluation
Evaluation is not included as a step in Google’s definition of CT skills, but CAS Barefoot
(2014b) describes evaluation as follows:
“In computer science, evaluation is systematic and rigorous; it is about judging the
quality, effectiveness and efficiency of solutions, systems, products and processes.
Evaluation checks that solutions do the job they are designed to do and are fit for
purpose.
Confident
Communicative
Flexible
For the purposes of this badge, f lexible means “able to deal with change and
open-ended problems.” Problems that lend themselves to computational solutions are
often, to the naked eye, overwhelmingly large and ill-defined. Solutions often need to be
adjusted or “debugged,” and sometimes the data we get from our computational
methods may even cause us to adjust our perception of the problem itself. Being
adaptable to these changes contributes the persistence needed to solve these types of
problems.
Tinkering
Creating
Debugging
Debugging is defined as “finding and fixing errors” (CAS Barefoot, 2014b). “Errors in
algorithms and code are called ‘bugs,’ and the process of finding and fixing these is
called ‘debugging’. Debugging can often take much longer than writing the code in the
first place” (CAS Barefoot, 2014c). Computers are very good at executing commands,
but very bad at interpreting what the algorithm designer actually m
eant.
Persevering
Collaborating
Collaborating is, very simply, “working together” (CAS Barefoot, 2014b). While
computational thinking doesn’t necessitate working with someone else every minute,
there are many opportunities for collaboration throughout the CT process, and taking
advantage of these opportunities can help produce a better solution. For example,
during decomposition, a problem might not only be broken into its component parts, but
those component parts might also be assigned out to different members of a team.
People designing and debugging algorithms might improve their design or get out of a
rut by bouncing ideas off someone else (CAS Barefoot, 2014a). And evaluations of
computational solutions almost always need to involve others.
In addition to understanding what computational thinking is, there are at least a couple
common misconceptions of CT that you need to understand as well:
Task
Instructions
Problem Statement
As an educator in the 21st Century, you recognize that what you know is less
important than your ability to learn and retain information. What is current,
accepted, state-of-the-art or best practice in both pedagogy and your subject area
may be quite different next year than they are today. As a conscientious educator,
you feel that it is vital to stay abreast of new developments in your field.
You know that the Internet can be a great way to stay in touch with these
developments, but it is difficult to find the time to sift through the web of
available information to find the golden nuggets you’re looking for. In the bustle
of teaching, it can be difficult even to remember to try. And when you do find the
time, it is easy to get sidetracked by information that does not matter.
Questions in Sub-Requirements
7. List each problem component you identified in step 1 and evaluate whether
your solution addresses that problem or not. Also, identify any future
issues (bugs) you foresee that may need be resolved in the algorithm to
make it better.
8. How does the algorithm above leverage the power of computers and
automation? In what ways might it leverage these capacities more?
(As a teacher, it may interest to you that the teaching strategy employed in this
progression is the g
radual release of responsibility model, which is a research-based
best practice for integrating computational thinking (and a great many other things) into
your classroom [Hunsaker, n.d.]).
This problem is not the same one you see in requirement 2, but you may find it useful to
have a complete model to refer to. The form you see below is very similar to the form
you will be using on your submission in requirement 2. Think of the information in each
entry field as what a teacher might say to his or her class while modeling CT problem
solving for students.
Task
Use computational thinking to analyze the problem described below, create an algorithm that helps
solve the problem, and then evaluate how well your solution works.
Instructions
Problem Statement
As a teacher, you send out a newsletter to students' parents each week with class updates—goals,
challenges, successes, homework, etc. You love to personalize these letters so that parents can see
what and how their own child is doing in the classroom, and so that you can issue a personal challenge
based on each student's individual weekly goals. Parents love it, too, and have expressed how much
they appreciate the personal touch and feedback. The problem is that it takes so much time to create a
personalized letter for 30 students each week. If you don't find a better solution, you may have to start
sending out a more generic letter.
Decomposition:
Breaking down data, processes, or problems into smaller, manageable parts
2. What repeating patterns do you see in the information provided or the data gathered?
There are specific parts to the letter that you realize repeat. For example, each
week, you report on goals, challenges, and successes for individuals as well as the
class. You also report on upcoming homework, which is the same for everyone.
Abstraction
Creating a visual model or simulation of a problem that incorporates only the most important details.
Even though your letters are personalized, they follow a specific formula. In fact,
your letter is replete with variables where you simply replace one students' name,
parents, goals, etc. with another's. You realize your entire newsletter looks
something like this:
This week in our 8th Grade English class, we learned about.... Our learning goal
was to .... This was difficult because .... Ultimately, though, we ...
For this coming week, {{Student Name}}’s new goal is to {{This Week Student
Goal}}. This is a great goal that we agreed on together, and I would encourage you
to support {{Student Direct Object Pronoun}} as you see fit.
Next week, we will be learning about ... I have asked the student to come prepared
by ....
Thank you for all you do as a parent. I enjoy having {{Student Name}} in my class!
Sincerely,
Mr. H.
Algorithm Design
Developing the step by step instructions for solving this and similar problems
You may not be a tech pro, but you remember in your awesome teaching with tech
course at BYU that you learned about spreadsheets and mail merges. A mail
merge allows you to craft a message and to replace certain variables with
information stored in a google sheet. You can't remember how to do the merge
off-hand, but you Google it and find the "Mail Merge with Attachments" free
add-on. You use this to create a personalized letter that, when you export, will
automatically be sent to the address you have in your spreadsheet for each parent.
5. Write ordered steps that would enable a human, a computer, or (more likely) some combination
of the two to carry out the solution. Indicate the agent (who or what) that will carry out each
step.
4 Copy and paste the Sample email in the Abstraction field Teacher (1
above into a Gmail Draft. time)
6 Configure the mail merge. Choose the draft copied into Teacher
Gmail in step 4. Update the subject line and first and (weekly)
second-to-last paragraphs with the information relevant
for the week.
Evaluation
Ensuring that your solution is a good one.
6. List each problem component you identified in step 1 and evaluate whether your solution
addresses that problem or not. Also, identify any future issues (bugs) you foresee that may
need to be resolved in the algorithm to make it better.
7. How does the algorithm above leverage the power of computers and automation? In what
ways might it leverage these capacities more?
After sending out the letters, you wonder why you didn't approach things
computationally earlier. You now have a more personalized letter and it takes 1/3
the time (or less) than it used to. What's more, automating this solution has given
you more time to work on the interpersonal aspects of teaching. You realize you
can take it a step further, though; you've been entering students' goals into the
spreadsheet from your personal discussions with them. Instead, you realize that
you can send a google form to students, and automatically merge their answers
from the spreadsheet that reports the form data. So, each week on Thursday, you
now have students write a brief reflection (reporting their email and name, so they
can get credit and you can connect it to your data). You merge this data with the
rest of your spreadsheet data and create an even more customized letter without
increasing your overhead. You may even have time to catch a show this weekend!
The questions in these sub-requirements are intended to guide you down a path that will
help you to see a computational solution for the problem posed. P
ay special attention
to the notes in italics after each question on the submission form. They should be
especially useful.
3.1 Formulate
On your submission form, describe a real-world educational problem you are
facing. It can be local (e.g., I need a better way to communicate with parents),
global (e.g., standardized tests do not accurately assess some important
21st-Century Skills.), or anything in between. Formulate the problem in a way
that facilitates the leveraging of computational methods to solve it. Determine
what information you need, and gather what is necessary to inform your
problem-solving process.
3.2 Solve
Use the skills of decomposition, pattern recognition, abstraction, algorithm
design, and evaluation to produce an automated set of steps that addresses (or at
least partially addresses) the problem you formulated. Record your algorithm on
your submission form.
3.3 Report
On your submission form, write a brief report in which you document how you
utilized CT skills (i.e., decomposition, pattern recognition, abstraction, algorithm
design, evaluation) to solve your problem. Include any relevant artifacts (for
example, the image of an abstraction you created in your problem-solving
process)
When formulating a problem to solve with computational thinking, whether for yourself
or for your students, it is important to follow some guiding principles:
CT is not the only way of approaching problems, and it is not always the best either.
Generally speaking, CT is very well-suited for problems that involve repetitive,
predictable tasks. Computers can usually perform these tasks much more quickly,
efficiently, and accurately than can humans.
That said, don’t take everything at face value. There are many problems that may not
seem suited for computational methods at the outset, but for which a computational
Enoch Hunsaker, BYU
23
thinking may yield at least a partial solution. Looking at problems consistently through
only one problem-solving lens can lead to blind spots. For example, can you imagine
trying to solve the mail-merge problem (see Sample CT Problem: A Model section
above) with the scientific method? You could probably approach the problem that way,
but you would end up with a very different kind of solution, and it probably wouldn’t be
as effective. Similarly, CT might not be the best approach to take if you’re trying to
decide how to help your students remain engaged during class time; although,
computational thinking might yield you a partial solution that would free up time for you
to focus on this highly interpersonal aspect of teaching.
Video 6. What is Computational Thinking? Click, copy, or type this link into your browser to view:
https://youtu.be/JbpZDu4Mjss. Note: T his video is copyrighted by McKay Perkins under a
Standard YouTube Licence and is therefore not included in the CC-BY license of the rest of this
document.
Sometimes how we word or frame a problem is just as important as what the problem
is. The ISTE/CSTA Operational Definition (2011) suggests this idea as the first
characteristic of CT: “Formulating problems in a way that enables us to use a computer
and other tools to help solve them.”
One thing to consider is the idea of where you “slice the pie” so to speak. Every problem
has a lot of aspects and complexity to it. A classroom, for example, is a complex
system, and every part of how you run it affects every other part. The Mail Merge
example (see a
bove) is really only a portion of the overall system of the classroom. CT
can’t be applied to every aspect of classroom management, but it does provide a really
good solution for part of it. If the problem had been formulated differently to include
other aspects of classroom management, the solution would likely have been different,
or maybe not even a computational solution at all. This is one reason why effective
decomposition is so vital to computational thinking.
If you’re stumped about where to begin formulating your open CT problem, consider the
following ideas. These aren’t fully-formulated, but they can get you started on the right
foot:
What you’re ultimately trying to produce with the process of CT is a solid, functioning
algorithm that can give a computer instructions for automating a task. For this
requirement, you need only record your solution--that is, your algorithm. You will have a
chance to comment on it in the next requirement.
One important thing to keep in mind as you complete this process is the difference
between an algorithm and a heuristic. There is a lot of overlap, and people without a lot
of exposure to computer science may naturally end up producing a heuristic rather than
an algorithm as they complete the CT process. You won’t necessarily be marked down
if your solution contains some characteristics of a heuristic, but try to keep your
solution as close to a true algorithm as possible. Read this short article to understand
the difference between the two.
For this requirement, you need to document how you used the CT process to approach
your problem and produce and evaluate your algorithm. This may consist of copying
and pasting the same form you used in requirement 2 and filling it out for requirement 3.
You may also choose to simply write a few sentences about each of the 5 CT skills
emphasized in the badge: decomposition, pattern recognition, abstraction, algorithm
design, and evaluation. If you feel it would help your badge reviewer better grasp your
CT process and skill, you may also choose to include artifacts you produced along the
way, such as your abstraction, or preliminary algorithms you produced, but then
adjusted or discarded during your evaluation phase. How you present your work is up to
you; just make sure that it demonstrates your grasp of what CT is and how you can use
it to solve everyday problems.
Requirement 4: Reflections
4.1: Attitudes & Approaches Reflection
Write 1-2 paragraphs in which you respond thoroughly to each of the following
prompts:
● Write about at least three (3) attitudes (e.g., confidence,
communicativeness, flexibility) and/or approaches (e.g., tinkering, creating,
debugging, persevering, collaborating) that you utilized (or should have
utilized) during your CT Projects (requirements 1.2-1.3 of this badge).
● How have CT skills, attitudes, and approaches played a role in your
problem-solving habits and processes of the past?
● Which CT skills, attitudes, or approaches would you like to more fully
integrate into your future problem-solving habits and processes?
If you need help understanding the attitudes and approaches listed in this step, refer to
the Components of Computational Thinking section above.
To answer this question, you may refer to any scholarly article, blog article, video or
other digital or non-digital resource you wish. You are encouraged to explore a variety
of opinions on this matter, but you can also complete this requirement by simply
referring to the resources in the What Is Computational Thinking section above.
To answer this question, you are encouraged to do your own online (or offline) research,
but you may also simply consider the following information, taken from the introduction
of a chapter on C
omputational Thinking in Royce Kimmons’ K-12 Technology
Integration open textbook on Pressbooks (Hunsaker, n.d.).
More than ever, we live in a world that is informed and inundated by computer
technology. This fact may conjure thoughts of smartphones and personal computers,
but increasingly, many everyday and traditionally non-digital objects are being
designed to operate via a computer program. Some of these objects include
streetlights, car engines, watches, roads, car tires, shoes, and even cereal boxes
(Hartigan, 2013).
every industry, professionals in every industry need to be able to think in ways that
leverage those computers to solve the problems of the future.
References
CAS Barefoot (2014a). C
ollaborating. Retrieved from
https://barefootcas.org.uk/barefoot-primary-computing-resources/computationa
l-thinking-approaches/collaborating/
ISTE, & CSTA. (2011). O perational definition of computational thinking for K-12
education. Retrieved from
http://www.iste.org/docs/ct-documents/computational-thinking-operational-defi
nition-flyer.pdf