Good (and Bad) Reasons to Teach All Students Computer Science

In this episode I unpack Lewis’ (2017) publication titled “Good (and bad) reasons to teach all students computer science,” which problematizes common rationales/myths for teaching computer science in K-12 schools.

  • Welcome back to another episode of the

    csk8 podcast my name is jared o'leary

    each episode of this podcast is either

    an episode with a guest or multiple

    guests or a solo episode where i unpack

    some scholarship in relation to computer

    science education in this week's episode

    i am unpacking a chapter titled good and

    bad reasons to teach all students

    computer science this chapter was

    written by colleen lewis and it is found

    in the book new directions for computing

    education embedding computing across

    disciplines which was edited by fee

    allen minkley and lombardi apologies if

    i mispronounced any names right here's

    the abstract for this chapter quote

    recently everyone seems to be arguing

    that all students should learn computer

    science and or learn to program i agree

    i see teaching all students computer

    science to be essential to counteracting

    our history and present state of

    differential access by race class and

    gender to computer science learning and

    computing related jobs however teaching

    computer science is not a silver bullet

    or penacia the content assumptions and

    implications of our arguments for

    teaching computer science matter some of

    the common arguments for why all

    students need to learn computer science

    are false some do more to exclude than

    to expand participation in computing

    this chapter seeks to deconstruct the

    many flawed reasons to teach all

    students computer science to help

    identify and amplify the good reasons in

    quotes from page 15. better summarizes

    chapter into a single sentence i would

    say that this chapter problematizes

    common rationales for teaching computer

    science in k-12 schools now as always in

    the show notes you can find a direct

    link to this particular publication so

    you can purchase the book as well as a

    link to the author's google scholar

    profile so you can read more

    publications by this author and you can

    find those show notes at jaredeliri.com

    or by clicking the link in the app that

    you're listening to this on and while

    you're on my website you will find

    hundreds if not thousands of computer

    science education resources as well as

    content related other things i'm

    interested in for example video games

    and drumming so in the introduction the

    author describes their passion for

    computer science education and computer

    science here's a really important quote

    that resonated with me from page 15.

    quote when i graduated from college and

    started working as a software engineer i

    sought out opportunities to teach people

    computer science as a way to share my

    passion at the time i unconsciously

    assumed that because i love computer

    science everyone should learn computer

    science my view has since changed there

    are plenty of good reasons for all

    students to learn computer science my

    passion for computer science is not one

    of them end quote that really resonates

    so i feel the same way in terms of when

    i went into education i did it to help

    people learn how to drum because that

    was something that literally saved my

    life but what i quickly realized is not

    everyone shared the same passion didn't

    matter if i showed them some really cool

    things that you could do with drumming

    or if they got really good at it some

    students wanted to spend the rest of

    their life pursuing percussion and

    drumming and others just wanted to do it

    as a short hobby and that's okay but i

    didn't understand that when i started i

    thought everyone needed to have the same

    amount of obsessive nature around

    drumming that i did as i've mentioned in

    other podcasts one of the reasons why

    i'm reading this paper is because i

    think it's important for educators of

    any content area to understand that the

    content area that resonates most with

    you that you are very passionate about

    will likely resonate with other kids but

    not all kids and that's just a fact and

    that's okay i had a professor who would

    point out to the music education

    students that let's say there were a

    couple hundred students who were

    participating in the music program what

    percentage of them actually went on to

    continue doing that even if they

    absolutely loved it in high school it

    doesn't mean they wanted to pursue it

    outside of that like for a degree same

    thing with computer science when i was

    working with k-8 students some of them

    it was clear they were going to pursue

    this for the rest of their life and then

    for others they just wanted to create

    something in class and then they were

    done however as a field when we speak

    about computer science the things that

    we say might end up doing more harm or

    spread some misinformation so as a

    parallel

    because of my background in music there

    was a large organization in music

    education many years ago that had a

    campaign that was something like music

    makes you smarter and it was likely

    based off of the

    research around oh if you listen to

    mozart then it's going to help you

    improve on your test scores which led to

    a lot of companies creating content like

    hey you can have your baby listen to

    mozart in the womb and they'll become a

    genius turns out that research was

    debunked basically what really happened

    is it was like a stimulus so you could

    have gotten similar effects or maybe

    even better effects if you had done like

    jumping jacks before taking a test as

    opposed to listening to mozart so this

    paper is kind of a parallel to that

    short example that i gave so the author

    is going to describe two different

    categories of different arguments for

    computer science one is on the immediate

    benefits of computer science and the

    other categories on the long-term

    benefits of computer science all right

    so in the first section on the immediate

    benefits of computer science the first

    question that is discussed is can

    programming teach students to think

    logically so on page 17 the author

    points out that chess seems like

    something that would teach somebody

    logical thinking and improve their

    abilities to think logically if they

    increase their abilities as a

    competitive chess player then it should

    help them think more logically right

    however the author cites study that says

    well that's actually not the case what

    instead happened is people who gained

    expert performance in chess were simply

    gaining a lot of domain specific

    knowledge around chess and while this

    might be important for students to

    develop cognitively it does not

    necessarily mean that the logical

    thinking that is applied in chess is

    going to transfer outside of chess

    outside of this specific domain so going

    back to the example of music makes you

    smarter yes music can be a whole brain

    activity but so can many other things

    and just because you're engaging in more

    sections of your brain while performing

    music it doesn't mean that that's

    necessarily going to transfer over into

    other domains so for example i have

    really good hand-eye coordination when

    it comes to drumming playing video games

    playing marimba etc but when i first

    learned how to play squash i was

    terrible with it squash is like

    racquetball by the way except more rules

    and honestly i think a little bit harder

    you'd think that with all the hand-eye

    coordination tasks that i've been doing

    with video games in particular that that

    might transfer over into hand-eye

    coordination with squash and no it

    doesn't completely different domain so

    it's the same thing with thinking

    logically so if you're thinking

    logically with programming while i might

    transfer over into something that is

    very connected in terms of a similar

    domain it's not necessarily going to

    help you think logically about planning

    your finances unless that aspect of

    financial planning is somehow very

    closely related and easily transferable

    so here's an important quote from page

    programming as a way of engaging

    students in intellectually demanding

    tasks is reasonable however this does

    not motivate replacing existing content

    with computer science computer science

    is my favorite discipline but that does

    not cloud my judgment to believe it is

    the most or only intellectually

    demanding discipline end quote and

    that's a really good quote there another

    thing that i've heard a lot of people

    talk about with the more competitive

    nature of music is that it can teach

    discipline so for example in drum core

    which is like competitive marching band

    and drumline and whatnot one of the most

    frequently sighted things is oh it helps

    you teach discipline okay well so does

    learning mixed martial arts so why are

    we not teaching mixed martial arts in

    class so whatever arguments that we have

    in terms of why we think computer

    science is important we really need to

    ask ourselves okay but is this the best

    way

    of doing that thing however to argue

    with myself that answer depends on who

    the kid is so for me the best way to

    teach me discipline was through music

    and mixed martial arts and whatnot i

    absolutely loved developing discipline

    in those domains but i was less

    interested in some of the other sports

    that i tried it could be the same thing

    for computer science so if we think that

    thinking logically is very important

    maybe computer science will resonate

    with some students but chess will

    resonate with others but we again need

    to remind ourselves that it doesn't

    necessarily transfer outside of that

    domain now to put a little bow on this

    here's a quote from page 17 and 18.

    quote i see the argument that computer

    science and programming teach people to

    think as exceptionally problematic for

    two reasons first it seems to apply that

    only computer scientists are thinking or

    thinking logically that seems arrogant

    at best and trivially false second the

    idea that computer scientists are

    thinking logically becomes racist sexist

    and classes when considering current

    demographics of computer scientists end

    quote now when i read that the first

    time i about spit out my coffee which is

    weird because i don't drink coffee that

    is such a good point on that second

    point in particular if the way that we

    discuss computer science and

    computational thinking is that it's

    going to help teach people to think

    logically but the people who engage in

    this are of white male demographics of

    higher socioeconomic status that could

    certainly come across as indicating that

    other demographics don't think logically

    so that's a really interesting point to

    consider so next question that the

    author addresses is can programming help

    students develop persistence and so in

    this section the authors basically

    mentions that in programming you're

    going to engage in debugging even if you

    don't want to there's going to be a lot

    of self-directed iterative learning

    going on in programming in particular

    and that this relates to research by

    carol dweck which talks about fixed

    versus growth mindsets which i'm

    realizing now i don't think i've done a

    podcast on and i really should but one

    of the interesting things that the

    author mentions in here is that there

    are some researchers who argue that

    actually engaging in these iterative

    processes while constantly receiving

    error messages might actually develop a

    fixed mindset that students are unable

    to improve their understanding of

    computer science or programming so they

    cite a couple of studies in there that

    sound really interesting now in addition

    to talking about the fixed versus growth

    mindset the author also cites duckworth

    who discusses grit so the grit is the

    idea of being able to engage in

    something over an extended period of

    time persevere through it so here's a

    quote that resonates with something i

    mentioned in a previous podcast episode

    and this is from page 19. quote however

    arguments for universal computer science

    education on the grounds of improving

    grit should be viewed with caution the

    grit narrative sometimes emphasizes

    personal responsibility and perseverance

    in ways that ignore and deny systems of

    power and privilege that promote and

    prevent success

    end quote that's a really good point yes

    it's good to persevere and have grit

    learning something can take many many

    hours not just the 10 000 hour rule

    which i have a podcast on that i'll

    include a show notes in it's not just

    once you reach 10 000 hours suddenly

    you're an expert at something even

    though that 10 000 hours is obviously a

    long amount of time some domains it's

    more some domains is less and i have a

    whole episode that specifically talks

    about that scholarship that i'll include

    a link to in the show notes we also need

    to consider the fact that there are some

    systems in place that privilege some

    people while making it more difficult

    for others and so to say that you just

    need to have some grit in the face of

    those systems doesn't acknowledge the

    fact that there are still barriers there

    that some people have while others do

    not and asking people to just grit

    through it doesn't really help address

    those barriers the last thing that the

    author mentions is that dweck actually

    acknowledges that some people will have

    growth mindset in some domains and then

    have a fixed mindset in other domains

    for example there have been multiple

    times over the course of the last couple

    of years while i've been slowly learning

    japanese where i'm like i just don't

    think i'm gonna get this and i realized

    oh wait that's definitely a fixed

    mindset i just need to invest more time

    and energy into this and the fact that i

    had that is interesting because when it

    came to music i never viewed myself as

    being incapable of improving as a

    musician even when i was absolutely

    terrible when i first started i always

    thought okay well if i invest more time

    i'll get better and that was true so

    it's interesting in some domains where i

    have a growth mindset and then others

    where i catch myself having a fixed

    mindset and having to remind myself it

    just takes time and maybe i need to

    change my approach to improve in

    whatever area i'm working on so the

    author concludes this section by

    basically saying that while there are

    some failures that are going to come

    with programming in particular it's not

    necessarily clear that this is going to

    improve like a growth mindset so the

    next section is on can programming help

    students learn science and math and

    here's kind of a summary of this

    particular section which i do highly

    recommend reading this is the summary at

    the very end on page 21 quote the fact

    that programming instruction can be

    aligned to reinforce or introduce

    mathematical and scientific ideas does

    not imply that all programming

    instruction will provide this benefit

    instead it is reasonable to assume that

    there are opportunities for negative

    transfer from programming to math and

    that programming instruction may

    displace important math and science

    content the intuition that programming

    could help students learn science and

    math is likely based upon the argument

    that programming inherently requires

    students to use a type of logical

    reasoning present in mathematics and

    science however this argument suffers

    from the same lack of evidence seen in

    the appeal to programming as an

    opportunity to learn to think logically

    end quote so the second sentence in

    particular really stood out to me as

    something that we should consider

    anytime you are going to integrate one

    subject into another you're going to

    need to spend time learning both subject

    areas and if that integration occurs in

    only one of those classes that will take

    away time from learning that particular

    subject so for example if we're going to

    integrate computer science into an ela

    class and if students have never done

    computer science before like they've

    never programmed before you're going to

    need to take away ela time to teach them

    some basics about programming yes you

    can do it in a way that situates it in

    meaningful ways that teaches both

    computer science and ela at the same

    time but you're still going to have to

    spend some time developing skills and

    understandings and practices and

    concepts relevant to computer science to

    integrate it in a meaningful way in my

    opinion however one way that i think

    that you might be able to

    prevent this is if it's a collaboration

    between a computer science educator and

    class and a ela educator in class where

    you can then learn computer science

    concepts in the computer science class

    and ela concepts in the ela class and

    then collaborate together to create a

    joint project that combines the two

    doing something like that would mean

    that you would still spend the amount of

    time working on computer science in the

    computer science class and ela in the

    ela class but then you're just merging

    the concepts and practices together into

    a project for both classes to try and do

    all of that in one class would

    inherently take away some time from it

    so for example if you're going to do one

    project that merged ela with computer

    science it might take you the same

    amount of time to do two projects with

    just the la and not worrying about

    integrating with cs i don't know if that

    makes sense to you it makes sense in my

    brain so i'm going to go ahead and move

    on to the next question in this chapter

    which is can programming provide

    students emotional value agency and

    motivation so in this section the author

    cites some scholarship that suggests

    that programming can help you express

    yourself which i've talked about a ton

    on this particular podcast as it's kind

    of the core of the curriculum that i

    create which is 100 free and is

    available at booduppd.org and there's a

    link directly to there on my website now

    here's a quote from page 22 on this

    particular topic quote this argument is

    stronger than others that require

    students to transfer competencies

    outside of the programming context

    however there may be other equally

    effective opportunities for enabling

    students to create and connect my love

    of computer science might bias me to

    believe that programming is the best

    medium for this but identifying the best

    medium is an empirical question and may

    vary per student or community end quote

    again relating this back to my point

    about teaching drumline is it really

    resonated with me but not necessarily in

    the same way with every drummer that

    i've worked with over the years so yes

    programming might be an awesome way to

    express yourself but it doesn't

    necessarily mean that that is the best

    way for everyone to express themselves

    some people might prefer to express

    themselves through other forms of media

    or mediums like art or interpretive

    dance or poetry or playing an instrument

    etc and while you might listen to those

    examples and go yeah but you can do all

    that with computer science yes you're

    right but it doesn't mean that everyone

    wants to do that through computer

    science i love coding music but some

    people prefer to play it on an acoustic

    instrument and that's okay i like to do

    that too next question in this chapter

    can computer science learning help

    students understand the world around

    them so some of the arguments related to

    this is that like hey computer science

    is beneficial you need to know how to

    have a strong password hey wouldn't it

    be nice if congress actually knew

    something about you know technology in

    computer science well you need to be an

    informed citizen however the author

    argues that we need to specifically

    point out the connections that can be

    made between computer science and the

    world outside of the classroom so if we

    are going to say that computer science

    connects with the world around us we

    need to be explicit about that and many

    of the guests on the show that have

    currently come out and some upcoming

    guests of some episodes that have been

    recorded specifically provide some

    examples of projects that they do that

    situate a project within their community

    and that is one excellent way that you

    can actually explicitly make those

    connections all right so the next

    section of the chapter talks about the

    longer term benefits that are often

    discussed in relation to computer

    science rationales so here's the first

    one in this particular section can

    teaching students computer science help

    fill jobs so the author points out that

    this is one of the most common arguments

    related to the purpose of k12cs and

    often motivates administrators community

    members donors etc to support computer

    science implementation initiatives quote

    however this motivation relies on the

    assumption that our efforts to teach

    computer science will in fact prepare

    workers i have seen no evidence that any

    of the plans for k-12 computer science

    instruction will directly make students

    job ready instead this motivation only

    becomes credible if you expect that k-12

    computer science instruction will

    encourage and support students in

    pursuing computer science in college end

    quote from page 25 but if you listen to

    the episode that released last week

    which you share cropping as a metaphor

    for working in the field of computer

    science we really need to consider is

    this kind of job that we should promote

    for all students so the next section is

    on can diversity improve the tech

    industry now here's an important quote

    to consider from page 26 quote the

    appeal to diversity as a tool for more

    effective teams is sometimes

    misunderstood or misused to imply that

    individuals who are members of groups

    who are underrepresented in computer

    science will provide a specific and

    predictable contribution to a team for

    example consider the claim that having

    women on a team will help the team be

    more collaborative this can lead to

    differential expectations of people and

    a meta review suggests that contrary to

    the stereotype women are not more

    collaborative than men even if women

    were on average more collaborative than

    men there would be women who were less

    collaborative than most men and men who

    were more collaborative than most women

    because of significant overlaps and

    distributions across cognitive

    communicative social psychological and

    motor dimensions a person's gender

    identity is likely a poor predictor for

    most characteristics instead it is

    important to recognize that all

    individuals have a variety of identities

    and experiences and that these

    identities and experiences shape an

    individual's contribution to a team in

    diverse and unpredictable ways end quote

    from page 26 and then a little bit

    further down in that particular

    paragraph the author says that and

    besides

    increasing diversity among the software

    engineers doesn't necessarily have an

    impact on the admin or managers who tend

    to have more of a say over the direction

    of things especially if those admin or

    managers are typically white males as

    mentioned in the episode that released

    last week the author goes on to provide

    some examples of racism that was baked

    into software products so one example

    that's provided is snapchat had a

    feature that allowed users to have

    blackface or yellowface filters put onto

    images and so the author mentions that

    quote it is likely true that if people

    of color were in positions of power

    within snapchat these blatantly racist

    features would not have been released

    however we cannot use this argument to

    distract from the responsibility and

    capability of all humans to avoid

    blatant racism end quotes from page 26.

    that is very important quote if we say

    it's a diversity higher issue and oh we

    just didn't have enough people on our

    team who were black or asian and if we

    did then we wouldn't release this that

    ignores the fact that the people who

    were on the team should have raised

    their hands and said hey this is

    problematic and here's why so that's an

    excellent thing to consider however the

    author also cautions that some of the

    problems with software and hardware

    appearing to be racist whether it be

    facial recognition technology or like

    hand dryers only working on

    light-skinned hands instead of

    dark-skinned hands might not be a result

    of the diversity of the team but it

    might be a result of wanting to find the

    cheapest hardware and software to create

    the technology with the highest margins

    for profit so an example they gave is

    that original cost cutting measures

    for the crash test dummies meant that

    the crash test dummy was five foot nine

    and 172 pounds which was modeled after

    the 50th percentile height and weight

    for a male and it wasn't until 2011 did

    they actually have smaller test dummies

    in different sizes and while we could

    argue that

    well this is gender bias or weight bias

    or size height bias it was likely just

    because of cost cutting and aiming for

    the average

    without considering the margins which is

    a good point to consider some of the

    problems with software and hardware

    might just be a result of a company

    wanting to save money and so they went

    with the cheapest solution that would

    work for the most people so they could

    have the highest profit margins so

    here's a final quote from page 28 on

    this particular section quote again

    there are benefits to diverse teams but

    these benefits are not easily predicted

    by a single dimension of a team member's

    identity and our training or software

    engineers must include an understanding

    of the historical context of racism and

    other forms of oppression so that they

    can push back against cost-cutting

    measures that will result in unusable

    biased or explicitly racist software end

    quote so the next section asks can k-12

    computer science help students feel like

    they belong in computer science courses

    in college and so the author mentioned

    some research about how people who were

    exposed to computer science and engaged

    in it were more likely to consider it

    down the road than those who were not

    and then provide some examples of some

    colleges like harvey mudd who has

    different levels of introductory cs

    courses so like for those with no sum

    and a lot of experience are able to go

    into different tracks so they're not all

    having to take the same thing and engage

    in the same content and how doing stuff

    like this helped actually increase their

    percentages of different demographics

    enrolled in the courses so increasing

    access to computer science can help

    develop a sense of belonging and the

    last section in this particular chapter

    asks can k-12 computer science help

    students compete in computer science

    courses in college and so this section

    has some interesting discussions on some

    prereqs and how those can serve as

    barriers in some colleges like if they

    require a specific language over others

    but it also mentions a section at the

    end that i want to read that's from page

    computer science departments it is

    likely that even more colleges will

    institute competitive admissions

    policies as a way to limit enrollments

    to a number of students that is feasible

    for the department to serve this could

    serve to reinforce these structural

    barriers for students without or with

    less k-12 computer science access end

    quote so that's really

    interesting in my opinion because one of

    the most common arguments is well

    there's all these jobs that are open and

    we don't have people who can fill them

    so we need to increase the barriers of

    entry to get those jobs in universities

    because too many people want them now

    like i don't get that i understand that

    universities do that i mean look at the

    admissions policies to get into a school

    music the ones that are extremely

    competitive might not even have a single

    position open like i believe my wife was

    the only percussionist who was a

    freshman that was admitted into the

    program during her year and that's not

    because of lack of applications it's

    just that hard to get into a school of

    music or at least some of them so if we

    start doing that with computer science

    programs i don't know it just doesn't

    seem to match the whole popular

    narrative of hey we need more people to

    do this thing if anything you think

    you'd get rid of these barriers and say

    hey anyone come one come all sign up for

    this thing but i don't know i don't work

    in university admissions so maybe i'm a

    naive and if you do think i'm naive

    there's a contact me button on my

    website and you can join me for an

    episode to talk about it alright so

    i do highly recommend actually reading

    this chapter i left out a lot despite

    the length of this particular episode i

    do include a link to it in the show

    notes but at the end of these episodes i

    like to end with some lingering thoughts

    that i've had or some questions while

    reading a particular article the thing

    that i want to ask is okay well this

    particular article came out in 2017 so

    what are some other

    rationales that are used for computer

    science or justifications that in

    more or

    not use as a field it is interesting to

    note that the idea of jobs was listed as

    the number one thing that is mentioned

    for rationales in 2017 and how that's

    still the case now and i don't think

    it's done in a way that primarizes

    because that rationale is problematic

    and yet it's pervasive i'm curious why

    that is if you've got a rationale or an

    argument for computer science that you

    think the field should discuss more or

    discuss less consider sharing that on

    social media and engage in some kind of

    conversation with colleagues about it so

    i think it's important for the field to

    chat through some of these things just

    as i think it was important for music

    educators to stop saying that music

    makes you smarter because it doesn't i

    do include some links to some other

    podcasts that i mentioned that are

    relevant to this particular episode as

    well as some other resources like a

    paper that i wrote or co-authored rather

    and you can find all those at

    jaredlery.com which has links to a bunch

    of computer science education resources

    like the content that i create for boot

    up pd.org which is 100 free curriculum

    as well as some drumming and video game

    content because i'm that kind of nerd

    stay tuned next week for another episode

    and until then i hope you're all staying

    safe and are having a wonderful week

Article

Lewis, C. M. (2017). Good (and bad) reasons to teach all students computer science. In S. B. Fee, A. M. Holland-Minkley, & T. E. Lombardi (Eds.), New Directions for Computing Education: Embedding Computing Across Disciplines (pp. 15–34). Springer.


Abstract

“Recently everyone seems to be arguing that all students should learn computer science and/or learn to program. I agree. I see teaching all students computer science to be essential to counteracting our history and present state of differential access by race, class, and gender to computer science learning and computing-related jobs. However, teaching computer science is not a silver bullet or panacea. The content, assumptions, and implications of our arguments for teaching computer science matter. Some of the common arguments for why all students need to learn computer science are false; some do more to exclude than to expand participation in computing. This chapter seeks to deconstruct the many flawed reasons to teach all students computer science to help identify and amplify the good reasons.”


Author Keywords

Computer science, education, CS4All, equity, computational thinking, programming, interdisciplinary


My One Sentence Summary

This chapter problematizes common rationales/myths for teaching computer science in K-12 schools.


Some Of My Lingering Questions/Thoughts

  • What are some other arguments for teaching computer science that we should debunk and stop using as a field?


Resources/Links Relevant to This Episode



More Content