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
Other podcasts episodes that I mentioned or are relevant to this episode
CS for What? Diverse Visions of Computer Science Education in Practice
In this episode I unpack Santo, Vogel, and Ching’s (2019) publication titled “CS for What? Diverse Visions of Computer Science Education in Practice,” which is a white paper that provides a useful framework for considering the underlying values and impact of CS programs or resources.
How to Get Started with Computer Science Education
In this episode I provide a framework for how districts and educators can get started with computer science education for free.
STEM Diversity and Inclusion Efforts for Women of Color: A Critique of the New Labor System
In this episode I unpack Scott and Elliott’s (2020) publication titled “STEM diversity and inclusion efforts for women of color: A critique of the new labor system,” which uses the metaphor of sharecropping to problematize the new labor system around STEM education and careers.
The Role of Deliberate Practice in the Acquisition of Expert Performance
In this episode I unpack Ericsson, Krampe, and Tesch-Römer’s (1993) publication titled “The role of deliberate practice in the acquisition of expert performance,” which debunks the notion of innate abilities within a domain and describes the role of deliberate practice in achieving expert performance.
The CS Visions Framework and Equity-centered Computing Education with Rafi Santo and Sara Vogel
In this interview with Rafi Santo and Sara Vogel, we discuss informal learning in CS, the CS Visions Framework, equity through social justice pedagogy, considerations for Integration, and much more.
Unpacking Systems for CSforALL with Leigh Ann DeLyser
In this interview with Leigh Ann DeLyser, we discuss the purpose of CSforALL, considerations for leading people with different visions for (or interests in) CS education, the evolution and future direction of CS education, positive and negative corporate influence on education, thinking through equity from a systems perspective, and much more.
A free paper I coauthored that problematizes the influence of corporations on education
Find other CS educators and resources by using the #CSK8 hashtag on Twitter