...or reminisce on past Christmases with my completed Holiday Tree from Trinket!
Define computational thinking and describe at least five skills included in computational thinking.
Computational Thinking
(CT) is at the core of my life’s work.
In fact, it’s the basis of the Common Core State Standards of
Mathematics (CCSS-M), specifically the Standards for Mathematical
Practice. “…Computational Thinking
refers to thought processes that are involved when solving complex problems and
generalizing and transferring this problem solving process to a wide variety of
problems” (Voogt, Fisser, Good, Mishra, & Yadav, 2015). My job as a math coach involves giving
teachers and students research-based strategies for attacking problems. We take problems apart, analyze them, discuss
what’s happening and create a solution strategy. This
is CT.
There are four major facets of CT.
1.
Decomposition:
breaking down a problem or task into smaller pieces.
2.
Pattern
Recognition: finding similarities and differences
to make predictions.
3.
Abstraction:
generalizing patterns.
4.
Algorithm
Design: developing step-by-step instructions (2015).
A host of
skills are embedded within these four facets, including logical analysis and
organization of data; modeling, abstractions, and simulations; identifying,
testing, and implementing possible solutions; and making complex ideas
understandable with data visualization, imagery, succinct narrative, and
communication (Johnson, Adams Becker, Estrada, & Freeman, 2014).
Describe an activity that can promote each of the five skills of computational thinking.
There is much debate on the actual
definition of CT. Because of this, not
everyone agrees on five specific skills.
The International Society for Technology in Education (ISTE), along with
The Computer Science Teachers Association (CSTA), published Computational Thinking Teacher Resources as
a set of
“materials to help educators understand, value, and implement computational
thinking in K–12 education” (ISTE, 2014). The materials include a section that defines
CT in K-12 education, a CT progressions chart, a collection of CT lesson plans,
and a narrative scenario. The progression
chart is organized by skill, providing a sample activity for each grade band to
help develop each particular skill. The
progression includes nine specific skills.
Below are five that I focus on most frequently, along with an appropriate
middle-school-level activity.
ISTE-identified
Skill
|
ISTE
Definition
|
ISTE
Sample Activity for Grades 6-8
|
Data Analysis
|
Making sense
of data, finding patterns, and drawing conclusions.
|
Produce and
evaluate charts from data generated by a digital probe and describe trends,
patterns, variations, and/or outliers represented in the charts.
|
Data
Representation
|
Depicting and
organizing data in appropriate graphs, charts, words, or images.
|
Plot data
using different charting formats and select the most effective visual
representation strategy.
|
Problem
Decomposition
|
Breaking down
tasks into smaller, manageable parts.
|
In planning
the publication of a monthly newsletter, identify roles, responsibilities,
timelines and resources needed to complete the project.
|
Abstraction
|
Reducing complexity to define the main
idea.
|
After studying a period in history,
identify symbols, themes, events, key people, and values that are most
representative of the time period.
|
Algorithms and
Procedures
|
A series of
ordered steps.
|
Program a robot
to find its way out of a maze such that any given maze, the robot could exit
successfully within a specified time period.
|
Explain a rationale for integrating computational thinking in the classroom.
Computational Thinking empowers students
because it honors their own ideas and the knowledge they bring to a
problem-solving situation. When examining
the tenets of CT, it becomes apparent that what it looks like is unique to each
field; unique to each individual.
Students need time to identify their CT strengths and weaknesses. They also need opportunities to experiment
and grow. These opportunities exceed math
and computer classrooms. “[Computational
Thinking] is an important competency and influences nearly all disciplines” (Voogt,
Fisser, Good, Mishra, & Yadav, 2015).
Describe some of the pedagogical concerns of integrating computational thinking in different disciplines.
Assumptions made about Computational
Thinking prevent it from being developed in classrooms in content-areas beyond
math and computer science. The initial
assumption is that it is only applicable to experiences involving
computers. This is largely due to the
ignorance of the definition of CT. Another
assumption? Some think CT is too
abstract, prior to Grade 8. This shows a
clear misunderstanding of what CT is, while displaying a need for teacher
professional development (PD). A solid
body of grounded, research-based knowledge about how aspects of CT map to brain
development doesn’t exist (National Research Council, 2011). Because of this, it might be difficult to get
districts to invest in professional development on CT. The push for PD will need to originate from
the teachers, and this will not happen until they have a true understanding of
what CT is and what it looks like in their content-area. Once they understand that CT is unpacking
problems and laying them out into manageable pieces, it will take a higher
priority in the classroom.
Describe the computational skills you used while creating the two programs in Code Studio and Trinket and describe the kinds of challenges you faced while learning to code in the different platforms.
Describe the computational skills you used while creating the two programs in Code Studio and Trinket and describe the kinds of challenges you faced while learning to code in the different platforms.
I can provide evidence of each stage of
Computational Thinking throughout my experiences in Code Studio and Trinket. Each stage happened multiple times throughout
the course of my time in each coding platform.
New problems presented themselves as my work became more in-depth,
leading me through the process in a continuous manner.
Decomposition
Code Studio
led me to realize I didn’t know what Blockly
was, so that was my first foray into unpacking a coding problem. Once I learned that Blockly was a nice way to create Javascript, I had a basic understanding of how Blockly functions. Next, I had
to consider how each block fit together and what that meant for the task I was
trying to accomplish. Every time I was
introduced to a new block, I had to repeat the same process. My coding adventures in Trinket revolved around Python. I had to acclimate myself to the language of Python before I could work through any
task. When working through Holiday Tree, I wasn’t sure if I needed
to start each line with ‘turtle’. Once I
had the problems unpacked (Decomposition), I began to rely on patterns.
Pattern
Recognition, Abstraction, and Algorithms
Pattern
Recognition allowed me to become a more efficient coder. In both Code
Studio and Trinket, I very
quickly realized I could copy-and-paste code.
This was helpful because I noticed much of the code was repetitive. Abstraction is generalizing a pattern. In Holiday
Tree, I was able to copy-and-paste the code for one dot twenty times. Then, I would adjust the coordinates and the
color. This is an example of an
algorithm. Algorithms are user-created
steps to solve a problem. Dr. Lambert
required a minimum of 15 dots on the tree.
The steps for moving the turtle and creating the dot were the same,
regardless of color, size, or location.
The cycle of Pattern Recognition, Abstraction, and Algorithm-development
are interlocking and continuous, no matter the problem being solved.
Challenges
Oh,
the challenges! Once I figured out how
block coding worked, I was fairly successful in Code Studio. However, I
never figured out how the function
block worked. I had to bypass it,
altogether. I was afraid my code wouldn’t
work with a huge, empty function
block in the work space. I tried to drag
the block over to the trash can to delete it but it wouldn’t work. I decided to shrug my shoulders and move on
with life. Once I began working in Trinket, my true frustrations
surfaced. As an Algebra Coach, my days
are spent in the coordinate plane. I
used mathematical reasoning to determine the distance between coordinates Trinket gave me for the left vertex of the
triangle and the right vertex, as well as the points-of-intersection for the
base of the triangle and the sides of the square. This allowed me to find the mid-point of the
triangle. Why was this important? I wanted my dot at the top of the tree to be
centered. All of this logic was (almost)
a waste. The coordinate plane that
Trinket operates on doesn’t mirror a true coordinate plane. This became apparent as I began to mathematically
space my dots on the triangle. The
coordinates that should have worked, based on the mathematics of the base of
the triangle, didn’t. I began a series
of trial-and-error coordinate entry, observing the change in the location
between points as I ran the code again.
This felt inefficient, and I wished there was an option to overlay the
coordinate plane so I could see it. Again,
I realized I wasn’t in control of the situation and worked with what I
had. If I could have move past
trial-and-error coordinate entry, I would have felt more satisfied with the
process.
Resources
G.
(2015, June 18). What is computational thinking? Retrieved February 26, 2017,
from https://www.youtube.com/watch?time_continue=337&v=sxUJKn6TJOI
ISTE.
(2014). Computational thinking: teacher resources. Retrieved February 26, 2017,
from
http://www.iste.org/docs/ct-documents/ct-teacher-resources_2ed-pdf.pdf?sfvrsn=2
Johnson,
L., Adams Becker, S., Estrada, V., & Freeman, A. (2014). NMC horizon report
> 2014 k-12 edition. Retrieved February 26, 2017, from
http://www.nmc.org/publication/nmc-horizon-report-2014-k-12-edition/
National
Research Council. (2011). Report of a
workshop of pedagogical aspects of computational thinking. Washington,
D.C.: National Academies Press. doi: https://doi.org/10.17226/13170
Voogt,
J., Fisser, P., Good, J., Mishra, P., & Yadav, A. (2015). Computational
thinking in compulsory education: towards an agenda for research and practice. Education
and Information Technologies, 20(4), 715-728.
doi:10.1007/s10639-015-9412-6
Melissa,
ReplyDeleteYou did a great job! I know at first I thought what is this and how am I going to do this? It took quite a bit of time, but like you, once I figured out that I could copy and paste, that definitely helped. I also had trouble at first getting the bulb on the top of the tree. I then realized that the goto numbers were what directed that. The more negative the higher and the less negative the lower. I struggled the most with filling in the tree, but when I figured that out, it was probably the easiest. I am so glad we had this assignment I have not complete a project like this since high school!