Remaining Trouble Spots with Computational Thinking: Addressing Unresolved Questions Concerning Computational Thinking

In this episode I unpack Denning’s (2017) publication titled “Remaining trouble spots with computational thinking: Addressing unresolved questions concerning computational thinking,” which answers three questions: what is computational thinking, how do we measure students’ computational abilities, and is computational thinking good for everyone?

  • Welcome back to another episode of the

    CSK8 podcast my name is jared o'leary

    each week of this podcast alternates

    between an interview with a guest or

    multiple guests and a solo episode where

    i unpack some scholarship

    in this week's particular episode i'm

    unpacking a paper by peter denning

    titled remaining trouble spots with

    computational thinking

    addressing unresolved questions

    concerning computational thinking

    there is no abstract for this particular

    paper however if i were to summarize

    this into a single sentence

    i would say that this short article

    answers three questions what is

    computational thinking

    how do we measure students computational

    abilities and is computational thinking

    good for everyone

    this particular paper is available for

    free and you can easily access it by

    clicking on the title

    in the show notes which you can find by

    clicking the link in the description or

    by going to jaredlery.com

    and clicking on podcasts all right so

    the paper begins with

    the author describing some problems that

    they see with computational thinking

    that we as a field still need to address

    at least at the time of writing in 2017.

    here's a quote from page 33

    quote around 2006 the promoters of the

    cs4l k-12 education movement claimed all

    people could benefit from thinking like

    computer scientists

    unfortunately in attempts to appeal to

    other fields besides cs

    they offered vague and confusing

    definitions of computational thinking

    as a result today's teachers and

    education researchers struggle with

    three main questions

    what is computational thinking how can

    it be assessed is it good for everyone

    end quote so the author goes on to argue

    that

    basically these claims about the

    benefits of computational thinking

    are unsubstantiated and that there is a

    problem with

    over generalizing or broadening terms

    such as algorithm

    here's a quote again from page 33 quote

    an algorithm is not any sequence of

    steps but a series of steps that control

    some abstract machine or computational

    model without requiring human judgment

    computational thinking includes

    designing the model not just the steps

    to control it

    end quote now this is something that

    i'll actually rant about at the end of

    this particular podcast episode so stay

    tuned

    so continuing on with the intro the

    author has some questions that i'm going

    to

    quote from page 34. so these questions

    are related to

    teachers who are k-12 teachers who are

    unsure well exactly what is

    computational thinking and here are some

    of the questions that

    the author poses so one is quote

    how can they be effective if not sure

    about what they are teaching and how to

    assess it

    end quote and a little bit further down

    in the page

    quote is it really true that any

    sequence of steps is an algorithm

    that procedures of daily life are

    algorithms that people who use

    computational tools will need to be

    computational thinkers

    that people who learn computational

    thinking will be better problem solvers

    in all fields

    that computational thinking is superior

    to other modes of thought end quote

    okay so these are some excellent

    questions that i too have been grappling

    with and in fact the interview

    with stacy mason and peter rich peter

    actually recommended that i read this

    article because it aligned with some of

    the things that are saying

    if you haven't listened to that episode

    make sure you check it out i'll link to

    it in the show notes

    alright so the first main section

    outside of the intro is the first

    question what is computational thinking

    so the author goes on to describe the a

    very short summary of

    basically the history of computational

    thinking over the last several decades

    and cites some sources as early as like

    the 1940s however it wasn't

    until 2006 when jeannette wing published

    a paper

    that conversational thinking really

    started to have

    some traction in the field and beyond

    now the author notes that there are many

    different definitions of computational

    thinking and because of that

    it is a problem for k-12 educators to

    really be able to define what it is

    because there's so many contradictory

    ways of thinking about computational

    thinking now

    after this summary the author points out

    two things that they see as problematic

    about

    the current pervasive definitions of

    computational thinking

    one is that there is an absence of

    computation models within these

    discussions

    but here's a quote from pages 35 and 36

    quote this is a mistake

    we engage with abstraction decomposition

    data representation and so forth in

    order to get a model to accomplish

    certain work

    end quote so in other words you're not

    just engaging in abstraction

    for the sake of engaging in abstraction

    or decomposition on its own

    you're doing these things in order to

    create some kind of a model at least

    according to the author

    so it's situating those skills or

    understandings

    within a context in which you are

    creating a model

    and i think this is a really important

    thing for us to think about like are we

    just doing these things because we think

    decomposition is a good thing

    well if so why are we calling it

    decomposition if it is on its own

    is it decomposition when it is only

    related to computer science

    or computational modeling that we are

    engaging in what about in other fields

    like if i'm learning how to use a new

    drum technique is that decomposition

    when i'm breaking it down into smaller

    motions or things to understand i'd

    argue they're two different things

    and i'll rant about that later now the

    second suggestion for this particular

    question

    is as follows here's a quote from page

    contained in the operational definition

    that any sequence of steps

    constitutes an algorithm true an

    algorithm is a series of steps

    but the steps are not arbitrary they

    must control some computational model

    a step that requires human judgment has

    never been considered to be an

    algorithmic step

    let us correct our computational

    thinking guidelines to accurately

    reflect the definition of an algorithm

    otherwise we will miseducate our

    children on the most basic idea

    end quote totally resonates with me and

    again i'll rant about that later

    okay so the next section of the paper is

    question two and that question is how do

    we measure students computational

    abilities

    what the author is basically arguing is

    that we tend to focus on computational

    thinking as a knowledge

    rather than as a skill that we use and

    they would prefer that we see it as a

    skill here's a quote from page 36

    quote we test students knowledge but not

    their competence or their sensibilities

    thus it is possible that a student who

    scores well on tests to explain and

    illustrate abstraction

    and decomposition can still be an

    incompetent or insensitive algorithm

    designer

    end quote now they go on to argue that

    this is problematic

    and industry professionals know it which

    is one of the reasons why they don't

    just look at your diplomas in your

    transcripts but they actually

    engage in problem-solving interview

    questions and tests and whatnot that you

    have to complete in order to actually

    work at the organization they want to

    make sure that you don't just know

    computational thinking or computer

    science or coding or whatever

    but can actually apply those

    understandings in the context in which

    you would need them for work

    and so the author is arguing that we as

    educators should focus on computational

    thinking as

    a competence that is being assessed not

    just

    a knowledge that was being assessed

    here's a final quote from page 37

    quote given that so much education is

    formulated around students acquiring

    knowledge

    looking carefully at skill development

    and computational thinking is a new and

    challenging idea

    we will benefit our students by learning

    to approach and assess computational

    thinking as a skill end quote

    okay so so far here's a quick recap the

    author has been arguing that we as a

    field need to define what computational

    thinking is

    and they would prefer to see it include

    or center around

    modeling in other words applying

    computational thinking for some kind of

    a purpose

    and that in order to measure these

    things we need to measure the skills not

    just the knowledge

    kids need to be able to do something

    with computational thinking not just

    know what abstraction is

    or how to decompose something

    decontextualize from actual application

    okay so the third question and the third

    main section of this paper

    is the question is computational

    thinking good for everyone

    according to the author they would argue

    that

    the claims around computational thinking

    being good for everybody

    are false and unsubstantiated and that

    it is going off of this false premise

    that quote experienced computational

    designers believe they are sharper and

    more

    precise in their thinking and are better

    problem solvers end quote from page 37.

    now the author argues over the next

    couple of pages that

    yeah computational thinking is of use

    for some professions

    for people who design computations

    however quote it is reasonable to

    question

    whether computational thinking is of

    immediate use for professionals who do

    not design computations

    for example physicians surgeons

    psychologists architects

    artists lawyers ethicists realtors and

    more

    some of these professionals may become

    computational designers when they modify

    tools for example by adding scripts to

    document searchers

    but not everybody it would be useful to

    see some studies of how essential

    computational thinking is in those

    professions

    end quote from pages 37 and 38. now in

    arguments

    one is an example of well do architects

    who engage in cads and

    develop vr do they actually need to

    engage in computational thinking and

    they argue

    no not necessarily they might and

    another argument

    is that just engaging in computational

    tools does not actually

    develop computational thinking so they

    point out this so called digital natives

    and how

    kids are using devices and whatnot all

    the time but does that necessarily mean

    they're engaging in computational

    thinking

    and the author argues and i would agree

    that no

    it does not guarantee they're actually

    engaging in computational thinking

    now going back to the argument of is

    tying your shoes

    considered to be an algorithm here's a

    another claim that the author

    argues against and this is from page 38

    quote another claim suggested in the

    operational definitions

    is that computational thinking will help

    people perform everyday procedural tasks

    better for example

    packing an app sac caching needed items

    close by or sorting a list of customers

    there is no evidence to support this

    claim

    being a skilled performer of actions

    that could be computational does not

    necessarily make you a conversational

    thinker and vice versa

    in quote from page 38 so in other words

    just because we can call it

    computational thinking it doesn't mean

    you're engaging in computational

    thinking

    and the next claim that the debunk

    related to is computational thinking

    good for everyone

    is the claim that computational thinking

    will help in other subject areas now

    there is no definitive

    answer on this in fact they cite

    guzzdal's 2015 report that basically

    says there's no evidence to support this

    that was at 2015 and this article was

    written in 2017.

    so there has been some preliminary

    results that have

    said well there might be a correlation

    but we don't definitively actually know

    whether or not engaging in coding or

    computer science or computational

    thinking

    actually benefits students in those

    subject areas

    if anything we think it might not at

    least detract from those

    other subject areas in other words in

    other words if you spend time on

    computational thinking

    it doesn't necessarily mean that it's

    going to take away from your abilities

    to perform in other classes

    even though you're spending less time in

    those other classes another lens that

    i've seen some people use

    is that hey if you're going to integrate

    computational thinking within that

    subject area it at least doesn't hurt

    your ability to learn it

    we don't actually know for sure does

    this actually improve learning the

    subject area

    and if you have any articles that are

    more recent and actually

    point towards some causal relationships

    please let me know i'd love to read them

    see the author closes this particular

    question by saying

    basically that the people who benefit

    from computational thinking are the

    people who design

    computations and that the claim that

    other people outside

    of like computer science computer

    programming etc will find this

    beneficial

    the author argues that there's no

    evidence to support that it's actually

    beneficial

    for people who are not actively engaging

    in designing computations

    so here's a quote that is from page 38

    quote finally it is worth noting that

    educators have long promoted a large

    number of different

    kinds of thinking engineering thinking

    science thinking

    economics thinking systems thinking

    logical thinking rational thinking

    network thinking ethical thinking design

    thinking critical thinking

    and more each academic field claims its

    own way

    of thinking what makes computational

    thinking better than the multitude of

    other kinds of thinking

    i do not have an answer end quote from

    page 38

    so in the conclusion of this particular

    paper the author is basically saying

    that computational thinking has been

    promoted to say that oh

    this is a great way for solving problems

    and they say well

    maybe but probably not because not

    everybody who engages

    in creating or designing a computation

    is actually solving a problem they might

    be doing it for the fun of it they might

    be doing it out of concern

    out of just a generic opportunity etc

    check out page 39 for that argument

    and on page 38 here's kind of a overall

    summary of the paper itself

    which is a good way to kind of close out

    this description of this short paper

    quote

    my advice to teachers and education

    researchers is use a ho's historically

    well-grounded definition

    and use competency-based skill

    assessment to measure student progress

    be wary of the claim of universal value

    for it has little empirical support and

    draws you back to the vague definitions

    focus on helping students learn to

    design useful and reliable computations

    in various domains of interest to them

    leave the more advanced levels of

    computational design for education in

    the fields that rely heavily on

    computing

    end quote that particular paragraph is a

    really good summary of this paper itself

    okay so at the end of these unpacking

    scholarship episodes i'd like to

    kind of share some of my lingering

    questions or thoughts so

    one lingering question that i have is

    when is computational thinking a lens to

    look through and when is it a process to

    engage in

    so this is kind of going back to the

    skills versus understandings that the

    author describes

    in the second section of the paper so i

    asked this question because i've seen

    computational thinking used as a way

    of thinking so you are going to look at

    something

    and you're going to create some

    abstractions mentally of this thing but

    you're not actually engaging in a

    process you're not actually creating

    thing you're not doing something

    you're just kind of better understanding

    which is fine that might be helpful

    however i do like the

    author's argument that we should situate

    the computational thinking within

    computational modeling so we're actually

    creating something with it

    and one of the reasons why i would argue

    that is related to one of the final

    points that the author mentions that

    there are many

    different ways of thinking through

    things like why aren't we instead

    thinking musically

    or biologically or artistically or

    whatever

    like why is it assumed that

    computational thinking is superior

    in some way when it comes to problem

    solving or whatever you're using it for

    as a field i think that is something we

    really need to kind of grapple with

    all right so the next thought that i'll

    share is kind of a rant that i have

    so this is a rant that i actually wrote

    down when giving some feedback to

    california's k12 computer science

    standards

    in particular is for the standard k-2

    dot ap 1-0 algorithms are sequences of

    instructions that describe

    how to complete a specific task students

    create algorithms that reflect simple

    life tasks inside and outside the

    classroom

    for example students could create

    algorithms to represent daily routines

    for getting ready for school

    transitioning through center rotations

    eating lunch and putting away

    art materials students could then write

    a narrative sequence of events

    alternatively students could create a

    game or dance with a specific set of

    movements to reach an intentional goal

    or objective

    additionally students could create a map

    of their neighborhood and give

    step-by-step directions of how to get to

    school

    end quote all right so here's the

    written feedback that i gave on this

    particular one

    quote i think the map example is the

    best of the examples provided

    however i would encourage creating an

    example where kids actually create an

    algorithm with code rather than

    directions

    i understand that ct researchers and

    practitioners are trying to bring cs

    discourse into other subject areas in

    everyday life

    but i respectfully disagree that there

    is value added when we swap labels for

    concepts

    without consideration of context for

    example wouldn't we refer to

    step-by-step

    processes as directions for navigating

    an environment and a recipe for cooking

    pasta

    rather than an algorithm i understand

    that semantically they can generally

    mean the same thing

    depending on the situated use however

    the difference between social

    i.e vernacular and specialized i.e math

    cooking navigating and cs discourses

    they draw from are very different

    just because we can call something the

    same thing it doesn't mean we should in

    all cases

    for example if we flipped the ct

    narrative and started calling lines of

    code recipes or scores

    if borrowing from western european

    classical music discourse

    i would argue this is using a label out

    of its proper context

    i agree that kindergartners can follow a

    sequence of step-by-step instructions or

    processes throughout their day

    however i see algorithm as having a more

    specialized discursive use than the

    vernacular

    use of directions for example i might

    say in algorithms like directions

    which is like a recipe but they are

    utilized in different contexts to mean

    similar but slightly different things

    step-by-step set of instructions for

    preparing food which is different than

    directions being step-by-step set of

    instructions for navigating an

    environment

    which is different than algorithms being

    step-by-step lines of code

    for a computer processor to execute

    which is different than an algorithm

    being a step-by-step sequence of

    mathematical symbols and numbers to

    represent an

    object in motion in quilt okay so that

    was probably more feedback than they

    wanted and they probably saw it and

    ignored it however i wanted to share

    that with you to just kind of

    share some of my thoughts around

    computational thinking and how

    we really do need to consider the words

    that we are using

    and just kind of arbitrarily labeling

    everything that resembles

    computer science concepts as a computer

    science concept is problematic

    but that's just my thought and if you

    disagree with me i'd happy to interview

    and have you talk with me on this

    podcast about

    your thoughts on computational thinking

    maybe we can create a panel of people

    who strongly disagree with me

    i hope you enjoyed this particular

    episode i know it was a little bit

    different than some of the unpacking

    scholarship episodes

    and i highly recommend checking out the

    actual publication for this which again

    you can find in the show notes

    stay tuned next week for another

    interview and two weeks from now from

    another unpacking scholarship episode

    hope you're all having a wonderful week

    and are staying safe


My One Sentence Summary

This short article answers three questions: what is computational thinking, how do we measure students’ computational abilities, and is computational thinking good for everyone?


Some Of My Lingering Questions/Thoughts

  • When is computational thinking a lens to look through and when is it a process to engage in?

  • California’s Computer Science Standard K-2.AP.10: “Algorithms are sequences of instructions that describe how to complete a specific task. Students create algorithms that reflect simple life tasks inside and outside of the classroom. For example, students could create algorithms to represent daily routines for getting ready for school, transitioning through center rotations, eating lunch, and putting away art materials. Students could then write a narrative sequence of events. Alternatively, students could create a game or a dance with a specific set of movements to reach an intentional goal or objective. Additionally, students could create a map of their neighborhood and give step-by-step directions of how they get to school.”

    • My response: I think the map example is the best of the examples provided; however, I would encourage creating an example where kids actually create an algorithm with code rather than directions. I understand that CT researchers/practitioners are trying to bring CS discourse into other subject areas and everyday life, but I respectfully disagree that there is value added when we swap labels for concepts without consideration of context. For example, wouldn't we refer to the step-by-step processes as "directions" for navigating an environment and a "recipe" for cooking pasta rather than an "algorithm?" I understand that semantically they can generally mean the same thing depending on their situated use; however, the difference between social (i.e., vernacular) and specialized (i.e., math, cooking, navigating, and CS) discourses they draw from are very different. Just because we can call something the same thing, it doesn't mean we should in all cases. For example, if we flip the CT narrative and started calling lines of code "recipes" or "scores" (if borrowing from Western European classical music discourse), I would argue this is using a label out of its proper context. I agree that kindergartners follow a sequence of step-by-step instructions/processes throughout their day; however, I see "algorithm" as having a more specialized discursive use than the vernacular use of "directions." For me, I might say an "algorithm" is like "directions," which is like a "recipe," but they are utilized in different contexts to mean similar, but slightly different, things. For example, recipes are a step-by-step set of instructions for preparing food, which is different than directions being step-by-step set of instructions for navigating an environment, which is different than algorithms being step-by-step lines of code for a computer processor to execute, which is different than an algorithm being a step-by-step sequence of mathematical symbols and numbers to represent an object in motion.


Resources/Links Relevant to This Episode



More Content