Computing Education Research with Mark Guzdial

In this interview with Mark Guzdial, we discuss the similarities and differences between constructionism and constructivism, think through when to situate and apply learning, discuss contextualized learning, creating multiple pathways for exploring computer science, problematizing subservient relationships with integrated curricula or courses, task-specific and domain-specific languages, using multiple learning theories through a multiperspectivalist approach, changes to public policy that Mark would make to help out CS educators and the field, and much more.

  • Welcome back to another episode of the

    CSK8 podcast my name is jared o'leary

    each week of the podcast alternates

    between an unpacking scholarship episode

    where i talk about latest scholarship or

    some seminal papers in relation to cs

    education

    and episodes where i interview a guest

    or multiple guests

    in this week's particular episode i'm

    interviewing mark gosdale

    and we discuss the similarities and

    differences between constructionism and

    constructivism we think through when to

    situate and apply learning

    we discuss contextualized learning we

    also discuss creating multiple pathways

    for exploring computer science

    and problematize subservient

    relationships with integrated curricula

    or courses

    we talk about marx task specific and

    domain specific languages

    and i discussed how i use multiple

    learning theories through what i

    described as a multi-perspective list

    approach

    we chat through changes to public policy

    that mark would make to help out cs

    educators in the field

    and so much more in the show notes i

    list a bunch

    of links to people and papers and

    resources that we mention

    in this particular interview so make

    sure you check them out by going to the

    app that you're listening to this on and

    clicking on the link or simply going to

    jared o'leary.com

    and clicking on the podcast tab now you

    notice there's a bunch more resources

    that are

    relevant to cs educators in the

    different tabs on the website

    including a link to boot up pd.org which

    is where i create a

    junior and scratch

    that elementary even middle school and

    even some high school students are using

    literally around the world which is

    pretty awesome it's all free to use so

    make sure you check it out if you

    haven't done so yet

    also if these topics interest you make

    sure to reach out to mark at the end

    mark shares his contact information

    or you can reach out to me if you'd also

    like to collaborate on a future research

    project

    or even to be a guest on this particular

    podcast

    but with all that being said we will now

    begin with an introduction by mark i'm a

    professor in computer science and

    engineering at the university of

    michigan

    and i have a courtesy appointment as a

    professor of information

    in the university of michigan school of

    information i think professor of

    information is such a cool title

    for 25 years i was a professor at the

    college of computing at georgia tech and

    that's probably where

    i did most of the work that people know

    me from i came here in 2018.

    i am a computing education researcher so

    i study how

    people come to understand computing and

    how we can make that process work better

    i'm probably best known for curriculum

    development i

    developed a way of teaching introductory

    computing called media computation where

    students manipulate pixels of a picture

    to create things like photoshop

    effects or snapchat filters manipulate

    frames of a video to implement digital

    video special effects manipulate samples

    of a sound to reverse sounds or

    scale them or echo them or splice them

    together

    i also did work in public policy for

    about 12

    years from 2006 to 2012

    we had a project an nsf broadening

    participation in computing alliance

    called

    georgia computes where we tried to

    improve computing education

    across all levels in the entire state of

    georgia barbara erickson and i

    with renee fall and rick adrian from

    massachusetts the commonwealth alliance

    for i.t education

    formed esap the expanding computing

    education pathways alliance

    where we worked with 16 states and

    puerto rico to improve their computing

    education policy

    and then i came to the realization that

    we're never going to reach cs for all

    via cs classes

    and so the work that i now do at the

    university of michigan

    is about trying to develop new kinds of

    programming tools

    to facilitate integrating computing into

    lots of other subjects

    so how did you get into cs education

    so sort of a fun accident when i was in

    high school in

    the early 1980s i was in one of the few

    high schools

    in the country probably at the time that

    had multiple computer science courses

    i took basic when i was 16 years old and

    i took fortran and cobalt

    those sound really ancient but i guess

    i'm pretty old now and

    i started teaching computing in february

    of 1980 i was 17 years old

    the local adult education program you

    know night school

    where we can pick up fun classes local

    community education reached out to

    one of my computer science teachers in

    my high school and said

    we'd really love for you to teach adults

    about these new personal computers that

    are coming along like apple twos can you

    teach them about it

    and she said no i don't but if you think

    it'd be kind of fun i've got this

    geeky kid in my class so i think he

    could do it so i got signed up

    i taught a class called bits bytes in

    basic

    and we talked about what microprocessors

    were

    and how memory worked and i taught a

    little bit of applesoft basic

    and then i went to wayne state

    university for

    undergrad here in detroit and i taught

    all throughout

    undergrad i continued to teach adult ed

    until i was teaching

    four or five nights a week some

    semesters i taught

    middle grades after school programs i

    even started teaching ged

    classes i had enough hours built up by

    my

    junior and senior year that i could

    qualify as vocational education teacher

    so i was teaching high school ged

    classes community college

    and then when i went off for my master's

    degree i taught

    logo on saturdays in a workshop setting

    to elementary school kids

    in 1982 i had a summer internship at

    bell labs

    which was just fabulous it literally

    changed my life i'd never

    worked with other students from places

    like purdue and

    mit and stanford i was like wow this is

    amazing

    and that's when i discovered i took a

    class

    on unix shell and for some reason they

    started talking about small talk

    and i looked it up and discovered alan

    kaye and dan

    ingles and adele goldberg and i read the

    paper personal dynamic media

    and that's when i decided i want to go

    to graduate school because this idea of

    building computing

    explicitly for the goal of facilitating

    learning

    that just changed things for me my first

    publication

    ever was at logo 84 the international

    logo conference

    i still have my acceptance letter from

    hal abelson at mit

    i had built an object-oriented logo in

    university of michigan bob cosma reached

    out to me and said

    we want to do a joint phd in education

    and computer science but the way it

    works at michigan is you have to send a

    few students through

    doing that as an individualized degree

    program before you can turn into a

    regular program

    and he asked me if i'd be willing to do

    it so

    i came here to michigan started my phd

    and then elliot soloway get

    came here it was amazing coincidence

    luck for me because there's probably not

    a better person for me to have been

    working with

    to do computing education research in

    the 1980s and early 90s

    and then i graduated in 93 and went to

    georgia tech

    so i had been teaching for eight years

    almost every night before i started

    graduate school

    so i had a surprising amount of

    experience for a new phd student

    so i was past the point of i find

    teaching cool

    and to the point where i said there's

    got to be i mean teaching is still cool

    i still love to teach

    but it wasn't just the activity of

    teaching i want to figure out how to do

    it better

    what does it mean to teach computer

    science well that was the research

    question that i got it started with

    so one of the things that i'm really

    interested in is like

    how people's understandings of teaching

    or a subject are kind of like

    shift and evolve over time so i'm

    curious like

    what's something when you first began

    teaching that you believed that you

    no longer believe so as you probably

    know

    i have been blogging for a very long

    time i started

    in 2009 and have just continued doing it

    probably way too much

    you can find both my blog posts where i

    say things that are

    i now know are wrong and the blog posts

    where i correct myself

    this has happened several times like in

    blog posts

    what i learned in the last 10 years what

    are the great accomplishments i've had

    in the 10 years

    i wrote the 10 years worth of things

    that i got wrong so there's a blog post

    of all the things that i got wrong

    during the 2010s one of them probably

    the biggest one

    is that when we started georgia computes

    and even went

    into doing esep the expanding computing

    education pathways alliance

    i was really convinced that access would

    drive participation

    that we would have broadening

    participation in computing

    once there was enough computer science

    classes

    that it was easy for diverse range of

    students to get

    access to computing education and i

    think we've now shown that's just

    completely wrong

    that in several states we're up to 40 to

    offer some computer science and in no

    state in the union

    are there more than 10 percent of the

    kids taking computer science

    high school age kids and it's much lower

    in texas

    it's less than three percent same as in

    california my former student dr miranda

    parker did a phd

    on what influences high schools in

    georgia to offer computer science or not

    so she knows pretty exactly that it's

    like 43 percent of georgia high schools

    offer computer science

    and only two and a half percent of the

    high school students take computer

    science

    and i've always thought you know since i

    was a young kid computing is so

    cool and i'm increasingly realizing

    that computing isn't so cool for lots of

    people

    for a lot of kids it's a negative thing

    one of things that i've observed is that

    if you offer an undergraduate degree in

    computing and don't call it computer

    science it will be much more diverse

    than the ones named computer science

    undergraduate programs in informatics

    and computational media and even

    computational forensics

    computational medical informatics turns

    out to be a really big one

    they're much more diverse than computer

    science

    i think that we have created some pretty

    negative stereotypes

    about computer science and teachers have

    some pretty

    low self-efficacy about computing

    so let's see another thing i am a fallen

    constructionist

    i used to believe in constructionism

    with the big n the way that seymour

    papper talked about it that

    learning happens best when you're making

    things

    and then i realize that may be true but

    you can't

    make things for all the things that we

    want kids to know

    we want kids to learn a lot of different

    things having them engage in

    construction

    on every single one of them they're not

    that interested

    we don't need that deep of an engagement

    and it's expensive to try to get

    that level of engagement in all subjects

    with all kids

    so i've been doing duolingo spanish

    for i think i'm nearly at 1500 days

    nice for a long time and don't ask me to

    write

    a letter or a poem or an essay in

    spanish i can't do it yet

    i can pick out words i can solve spanish

    puzzles i can start to read some things

    but i really can't i'm just not that

    engaged i don't get to speak spanish on

    a regular basis

    so that is too high of a bar i will

    likely disengage

    at that level yeah that resonates a lot

    i'm learning in japanese just like

    on my own using dlingo other platforms

    and whatnot it's very difficult and

    i'm curious with the constructionism and

    you had mentioned constructivism

    on your blog like what do you see as

    some of like the similarities and

    differences between

    those two different approaches because

    constructivism was

    like came before paper came up with

    constructionism it was built off of that

    so there's three different things and

    only two different words which makes it

    really confusing

    so the original constructivism is

    john piaget's theory about how we

    learned

    that all of learning is a conscious

    process

    of trying to make sense of the world

    now there's a lot of people disagree

    with piaget now i know that ken kadenger

    at cmu has been talking about how

    important the unconscious

    aspects of learning are and there's this

    whole

    movement around implicit learning for

    the way that we learn

    second language as well but i think

    constructivism

    is a fair theory that still explains how

    most

    learning in classrooms occurs that

    there's these processes called

    assimilation and accommodation

    and it's about trying to make sense of

    your world constructivism

    as a pedagogical approach says well

    if constructivism is how people learn

    and it's all about individuals making

    sense of their world

    we should give individuals the ability

    to construct their own curriculum

    and learn in what way makes sense for

    them and that's taking

    piaget a little bit too far piaget's

    theory explains how you learn from

    reading a book

    it explains how you learn from listening

    to a lecture those things do

    occur it's not the case that the only

    way learning happens

    is by individuals constructing their own

    opportunities to learn or constructing

    their own curriculum

    constructionism with the n is this

    argument that seymour papert made

    that learning happens and he uses this

    fabulous phrase especially felicitously

    he doesn't use a word like best it's not

    clear what especially felicitously

    means but that students learn especially

    felicitously

    when they are constructing a public

    artifact whether a sand castle on the

    beach or a theory of the universe

    so it's a particular approach that says

    you know when you're engaged in

    designing and constructing and it's

    something that other people are going to

    look at

    that's a terrific place to do learning

    and i think that's absolutely true

    but i don't think we can do that for all

    kids so then how do you

    situate or apply understandings within

    an educational setting because i agree

    with you

    like it wouldn't make sense to have

    everybody like let's say build a rocket

    like an actual rocket to go to the moon

    but you could engage in simulations and

    what not to actually construct something

    like that but then

    something more abstract you might only

    be able to engage in dialogue about

    like more heavy topics like genocide

    like you clearly wouldn't want people to

    apply something related to that but you

    want to engage in a discussion and learn

    from it

    sure of course not yeah i think that you

    get to ideas like

    backwards design and thinking about what

    is it that you're trying to

    achieve a lot of years ago cindy himelo

    silver

    which is a professor of learning

    sciences at indiana university

    when cindy was a postdoc at georgia tech

    she and i wrote a paper

    about glass box and black box

    scaffolding that

    sometimes you have scaffolding that

    you're providing to students especially

    when they're using

    a computer-based system where you want

    that scaffolding to fade

    and you want them to understand how the

    scaffolding works we call that glass box

    scaffolding i'm going to give you some

    supports but i'm going to show you

    exactly what i'm doing so that when i

    take it away

    you know what i was doing and i'm

    helping with it there's other times that

    i'm teaching you with black

    box scaffolding i don't want you to ever

    have to deal with this part of it

    because i want you to skip over that

    part so that you can go do the part

    that's really relevant to your learning

    right in some sense all programming

    languages are black box scaffolding

    i don't really want you to see the

    assembler code underneath i don't need

    you to understand the interpreter or

    compiler

    i just want you to be able to do the

    thing like using sonic pi for learning

    about music composition

    right i don't want you to know how sonic

    pi works it's black box scaffolding

    i think we have to figure out what it is

    that we're trying to help students learn

    building a rocket to the moon is such a

    fabulous activity

    for kids who are interested in stem but

    not all kids are interested in stem

    if i want to grow up to be a playwright

    you making me

    build a rocket to the moon is going to

    be this painful activity

    and what do i really want you to learn

    you know i think it's probably important

    for everybody to know

    how much effort it takes to get a rocket

    free of earth gravity

    and that's why space travel is so

    expensive

    and so i want citizens to know that so

    they realize okay if you really want

    space travel

    you're going to have to give big budgets

    to places like nasa because that's what

    it's going to take

    and i think that is important for

    everybody to know but everybody doesn't

    have to know how to design a rocket to

    achieve that kind of

    technological citizenry kind of

    understanding and literacy

    so i'm curious what your perspectives

    are you mentioned like the cs4

    movements and whatnot like especially in

    the younger grades where it is required

    like the districts that we work with

    that boot up like it's required that

    everybody across the district is taking

    the

    computer science class by the time we

    finish our implementation with them

    how do you recommend keeping kids

    engaged because

    not everyone's gonna enjoy the same

    thing like i love music and we'll

    code music all day long if i could but i

    would be less interested in doing

    something else in another area even if

    it's

    through the same medium through the same

    platform through the same language

    the thing that i create i just might be

    like i don't really care about that but

    i love to do this other thing

    i think this is where this idea of

    contextualized computing education comes

    in

    that when we developed media computation

    we explicitly developed it to solve a

    problem our problem was

    that georgia tech decided in 1999

    to require all incoming undergraduates

    to take a course in computer science

    and the definition of what that course

    had to achieve the learning objectives

    were pretty stiff they said that after

    the class you should be able to make

    algorithmic and data structure choices

    when writing a program

    which means that i've got to show you

    two different ways of coding the same

    thing and two different data structures

    for doing the same thing

    and give you the facility to understand

    the choices that you're making when

    choosing between those so

    this is already a pretty hefty intro

    computer science class to achieve that

    for the first four years of this

    requirement there was only one course

    that met the requirement the one that

    was originally created for

    cs majors and overall the course had

    about

    a about a 79 pass rate

    which for an intro course in just about

    anything is pretty good that's

    aggregated by major

    engineers and computer scientists and

    scientists

    were doing great at the class liberal

    arts

    architecture design and business

    management students

    were passing the course at about a fifty

    percent rate so

    every semester about half the students

    got through from those majors

    and students started talking about

    repeating the class by the third time

    almost everybody passes

    and this becomes a real problem then so

    we decided to create

    three different intro computer science

    classes one for computer scientists and

    scientists

    and that became a course in programming

    robots in python

    one for engineers and that became a

    programming course in matlab

    and then i got the liberal arts

    architecture design business management

    students

    i formed an advisory committee a faculty

    in those other disciplines because they

    should be the ones telling me what their

    students need to know

    about computing in their discipline and

    the big insight one of the students i

    was working with andrea forte who's now

    a professor

    at drexel she came up with this really

    pithy phrase that for these students

    computing is less about calculation and

    more about communication

    what they're going to use the computer

    the most for is digital media they're

    going to produce videos and

    presentations and

    graphics and they're gonna care about

    well how does photoshop

    work anyway and what does it mean when i

    drag a line

    in a powerpoint and why is that

    different than making a line in

    photoshop

    and how does digital sound editing work

    anyway and how do you make people

    disappear in a video those are all the

    things that we built the class around

    and so we were explicitly building on

    what makes sense

    for those students for their values

    that's still part of the insight of what

    i'm trying to do today

    with task-specific programming languages

    i'm trying to say

    i want to make programming so easy that

    you can learn the language and be useful

    in it

    in less than 10 minutes and if it's in

    less than 10 minutes

    it's got to be tuned to particular tasks

    not just a whole domain to a particular

    task

    and if it's tuned to particular task i

    can change the user interface

    in hci we know something about how to

    make programming work well for

    particular tasks

    and if it takes only 10 minutes to learn

    use it for one hour lesson

    and then you throw it away the return on

    investment is already there

    so it isn't going to be a big language

    it's not likely going to be turing

    complete

    but now i can think about multiple

    languages and if you don't like this

    language you know if you're

    the playwright who's being forced to do

    something with the simulation of the

    rocket ship

    that's okay it's only one class period

    you'll do something different the next

    class period

    so we can think about programming in

    lots of different places in lots of

    different

    kinds of courses for lots of different

    kinds of tasks so instead of a big

    language like scratch or snap that you

    can use for a lot of things

    how about little languages that some

    totaled

    you know maybe if you see a half dozen

    of these little languages

    before you see your first computer

    science class will that be

    enough that it will help you i'm curious

    i've got

    like at least a dozen or so articles

    that i can point to where in the

    abstract it specifically states like the

    purpose of doing these like

    cross-curricular connections in higher

    education was for

    increasing enrollment numbers in

    computer science and to me that puts it

    in like the arts and other subject areas

    in a subservient relationship

    the way that you described this is not

    that it is very symbiotic in that it is

    complementing

    both or all of the subject areas that

    are in there

    i'm curious like how do you design for

    plan

    for that kind of an approach as opposed

    to the

    subservient relationship oh i love this

    question because

    to me it's the heart of what i'm doing

    now i do participatory design with

    teachers

    so for example i have a big project with

    tami shriner who is a social studies

    education researcher at grand valley

    state

    she's in the history department there

    and as she puts it to me

    most people who become a history teacher

    don't choose that because they love

    numbers data and computers but as her

    research shows

    most state standards now require social

    studies teachers to teach about data

    literacy

    and explicitly to teach how to read

    interpret

    understand critique and argue with data

    visualizations

    so suddenly these history teachers are

    being pushed into the position

    of having to have kids make graphs

    charts to be able to read

    maps and timelines how do they do that

    they have a need computing can really

    serve that need

    i work with teachers to figure out what

    meets their needs

    i think that we in computer science do

    too little particularly those of us

    looking at

    integrating do too little to pay

    attention to the teachers

    we do a lot of things with well the kids

    really like this the kids are enjoying

    this activity

    and that's great but you don't get into

    the classroom

    unless the teacher buys in the teachers

    the gateway to the classroom

    and while we can reach a lot of kids via

    informal education

    in the united states we have mandatory

    schooling everybody

    is in school and so if you can get

    computing that a teacher says yes this

    actually helps me teach something in

    history

    that i know i'm supposed to teach but

    i'm a little bit afraid of it but this

    tool helps me

    that's a huge win that's what we're

    trying to do

    so i work closely with teachers to make

    sure that i

    am meeting their needs so we do

    participatory design activities where i

    put in front of teachers several

    different tools

    and have them compare each of them and

    say i like this part of this one

    i hate this part of this one i tell my

    students as we're building

    the prototype so when we do this with a

    group of social studies teachers

    we intermix our tools with other

    people's tools and we don't tell them

    which is which

    so that we can get a fair understanding

    about what the value is

    and i tell my students we are building

    things in order for teachers to say

    oh i see what you're doing here yeah

    that really sucks let me tell you what

    would make it good

    that's what we really live for right

    right because that's when we know that

    we're getting to something that could be

    useful in a classroom

    so we've been making data visualization

    tools for

    graphs and charts we've got another one

    for timelines that we're building

    and we're creating another one that

    helps middle school students in order to

    be able to

    identify the elements of a graph be able

    to say oh that's what the

    legend is telling me that's what the

    x-axis labels are telling me things like

    that i want computing to be in service

    computing is changing fields all over

    the world from

    computational science and engineering to

    computational journalism

    if i can't help a history teacher figure

    out how to use computing well

    then i'm not doing a good job with the

    computing at what point does it go too

    far though

    where it puts like computer science into

    like that subservient relationship where

    it's

    not necessarily helping somebody

    understand computer science or does that

    matter

    i think that's a really great question

    that i think we know too little about

    so because of these task specific

    languages we're literally building

    languages

    that teachers are able to learn and use

    in less than 10 minutes

    which does create this opportunity to

    ask well what if you saw a whole bunch

    of them

    and they had different notional machines

    they thought about programming in

    different ways

    does that help you in getting a broader

    notion about what computing

    is i hope so but i need to build a bunch

    of these and have these in different

    classes to be able to ask this kind of a

    question

    i mean it's a hard question to ask i

    have this broad vision

    i also think that we overestimate

    what people are learning or can learn

    about computing

    if you consider this what i was telling

    you about esep that there is no state in

    the union

    there are some northeastern states where

    they're up to nine percent of their high

    school students

    are taking computer science but in no

    state is it over 10 percent

    that means that we have not introduced

    computing to about 90 percent

    of the high school students in the

    united states we don't know what the

    challenges are yet

    we know what the challenges are with the

    students who come into our classes

    but they're a pretty biased

    self-selected group and i think that

    we're going to find that there are a

    whole bunch of really hard

    ideas that we haven't yet identified as

    being hard

    here's one that we're starting to

    identify our teachers the history

    teachers who come into our workshops

    for the most part have never seen html

    the whole idea

    of here is one representation html or

    code

    that generates this other representation

    a web page or an execution or a

    visualization

    they've never seen that before the idea

    of a computer as a device that

    transforms representations

    is a novel concept i think that's the

    sort of thing that we have to think

    about we actually have to teach that

    that's a hard idea but that comes before

    anything that we could teach

    about coding yeah i think it also

    requires

    a lot of shifts both in pedagogical

    approaches but also

    in the way things are designed so i

    co-authored this paper that was

    talking about like the neoliberal

    culture in music technology and how

    we are creating these artifacts that are

    not meant to be

    modified in any way and that is forcing

    certain kinds of music engagement and

    limiting others or preventing others and

    so what we argue in that paper is just

    basically

    if we learn from like i don't know if

    you're familiar with like chiptunes and

    [ __ ] musicians

    and like the whole mod culture scene

    both with the hardware and software

    modifications that people do around

    video games if we took that kind of

    way of being an approach to technology

    and applied it to

    other things like a physical thing or

    even software

    then we could start thinking of what are

    the affordances constraints of this

    hardware

    or software and what can we do to

    actually get rid of some of those

    constraints and make it do something new

    that we couldn't previously do and

    thinking beyond

    what is and rather thinking about what

    could be

    i think that's really cool i strongly

    agree with the argument that you're

    making

    something that i've complained about in

    my blog

    is i would like to move media

    computation to other platforms

    but being able to access individual

    samples

    of a sound turns out to be something

    which is not well supported

    cross-platform

    on very many languages i can do it in

    java

    because i can do it in java i can do it

    in jython

    which is what i taught at georgia tech

    for a lot of years it's python

    implemented in java so i can use my java

    libraries

    i can do it in squeak i can do it in

    snap and i can do it in javascript

    but for example i can't do it in c

    python yet aim doesn't let me do

    everything that i'd

    want to do with sound samples and work

    exactly the same on all platforms

    i find that shocking i mean samples of a

    sound

    just give me a sound buffer any sound

    buffer and i can do what i need to do

    with it

    right and i can't get that in a lot of

    different languages and that's really

    surprising to me so yes i agree with

    that notion

    the idea of being able to hack the

    hardware and to make it do new things

    i strongly agree with i want students to

    understand the technology well

    enough that they can build things that i

    wouldn't have thought of

    and we already see that happens the

    things that we're building for math

    teachers

    i'm really blown away they say you know

    i have a particular way that i designed

    it i have it do this

    and they start doing this other thing

    it's like i didn't know it would do that

    it does well that's cool

    right i love that idea i really come to

    this task of building task specific

    programming languages

    as an hci designer i think that it's

    really cool to be able to you know stick

    wires into the video game

    and change the way the circuitry works

    but i don't know how to make that

    accessible for a teacher with low

    self-efficacy about computing

    so i am trying to do user-centered and

    even learner-centered design

    of technology and i want to do that in

    such a way that the technology is

    flexible

    but i also want to make sure that i do

    that with an understanding of not

    everybody wants to geek out

    but i do want to reach cs for all i want

    things to be accessible yeah that's a

    good point i know

    going back to like the mod culture there

    are some like video game

    developers that will actually release

    like tutorials of how to modify games

    like so you want to change the sound in

    this and make it so that it's all human

    sounds instead of the sounds that we

    created cool here's like a little

    tutorial on how to do that

    so that can definitely help with the

    people who have like the low

    self-efficacy and are unable to

    like create something that they're

    unable to do or think through it rather

    i'm curious going back to like the

    constructivism constructionism what are

    some things that people misunderstand

    about either

    approach the big misunderstanding about

    constructivism is that jean piaget

    explicitly eschewed implications for

    education

    he saw himself as an epistemologist he

    saw himself

    at most maybe a developmental

    psychologist he cared about how ideas

    formed in children's minds and piaget

    says that we ought to have kids work

    with building blocks

    it's too far that's not what piaget said

    i think

    that this radical constructionist

    approach which says if i

    tell you something then i have stolen

    from you the opportunity to figure it

    out from yourself

    and i'm not a radical constructivist i

    don't buy

    that notion rather i tend to draw on

    cognitive science

    things like worked examples that telling

    people things tends to increase student

    self-efficacy they feel oh yeah i can

    get this then

    now there are things like expertise

    reversal effects

    that a lot of scaffolding a lot of

    guidance

    starts to become a hindrance as people

    develop expertise

    but for novices i think that we too soon

    try to fade our scaffolding that we try

    to

    remove the supports i sometimes get into

    fights with computer science teachers

    who say

    well i think that the unit tests should

    just give you a green or red

    you either got it or you didn't get it

    and i point out well the unit tests

    actually have a lot of error messages

    and feedback you could give to the

    students

    yeah but if we give them that they won't

    try to figure it out for themselves

    and i think that's wrong so i am not a

    radical constructivist i tend to believe

    in providing scaffolding and providing

    work examples and explaining things to

    people

    and my read of the cognitive psychology

    suggests that that's a better

    way of teaching than asking students to

    figure it all out for themselves

    my first advisor for my phd was pat

    baggett who's an experimental cognitive

    psychologist

    pat had this saying not every kid is a

    newton isaac newton looked at the world

    and saw it in radically different ways

    than

    all the people that came before him you

    can't expect kids to just

    look at light and say oh well i think

    this is the way light travels

    it takes a lot of insight to recognize

    that there's a difference between

    dynamics and kinematics you can study

    velocity and acceleration without

    considering force and you can consider

    force

    separate from thinking about motion

    those are really deep ideas and we're

    better off

    teaching kids the big principles the

    organizing big ideas

    rather than expect them to figure it out

    for themselves if i were to describe my

    own approach i'd say that i'm a

    multi-perspectivalist

    in that i'm taking many different

    approaches or perspectives and trying to

    apply it to fit the situation or the

    individual that i'm working with in

    particular

    so like when i've worked with

    undergraduate students in particular and

    even some of the grad students that i

    taught they

    often view this as like this false

    binary of

    well i have to either go 100 on

    constructivism or i'm doing it wrong

    or 100 on constructionism and it's like

    well no i mean like

    there are moments where it makes sense

    like if you

    want to give somebody like a

    high-powered electrical tool you

    probably don't want them to figure out

    whether or not it'll cut them or hurt

    them or maim them

    like you probably want to go through

    some direct construction in the

    beginning

    that might make more sense than

    constructionist or constructivism

    practices that are typically talked

    about like yes understand this theory

    but also understand as limitations and

    understand where other theories and ways

    of learning

    might be more beneficial for that

    particular situation

    so i'm curious for your own perspective

    like either in your research or your own

    pedagogical practices like are there

    other theories or philosophies

    or approaches that have informed yours

    even if it's just like something that

    you

    have felt through your own experiences

    not necessarily somebody that you can

    cite

    i draw a lot on situated learning jean

    lave and etienne wenger yep

    i think when i first started doing the

    media computation is when i really

    started realizing

    there's this whole issue of motivation

    and sociocognitive issues and learning

    sociocultural issues and learning that i

    really wasn't taking into account

    when i came at it entirely from a

    cognitive or educational psychology

    perspective

    so the idea that all of learning

    is a development of an identity that

    when students

    are learning computer science they

    might be learning in order to become a

    computer scientist

    or maybe they're learning in order to

    become a computational journalist or

    computational engineer or

    computational artist or computational

    musician that

    understanding the community practice to

    which they want to

    join is critical to understand what's

    going to motivate them

    a lot of the work that we do in media

    computation but also in work

    like katie cunningham's new purpose

    first programming

    is drawing from expectancy value theory

    if

    you reject something because it's

    counter to your identity

    then you're simply not going to learn it

    and so we need to think about how do we

    present things that have a connection to

    the identity that you're developing

    and then expectancy value theory also

    talks about

    utility is this fun for you is it

    something that you want to do

    and cost how expensive is it so

    by reducing the complexity of the

    programming language

    of improving the scaffolding that we

    provide

    we can reduce cognitive load we reduce

    cost and if we also make it more fun

    if we also connect it more to their

    identity we increase benefit

    so situated learning and expectancy

    value theory are two of the

    theories that i draw on a lot and how i

    think about my research

    i just had the opportunity this last

    semester to teach my first engineering

    education research class

    which was great fun because the course

    was on theoretical and conceptual

    frameworks of engineering education

    research

    and we covered a whole bunch of

    theoretical frameworks that i'd never

    used before

    and they were really pretty amazing so

    i'm now a big fan of variation theory

    which says i can teach you x there's a

    whole lot about x that you're really not

    going to understand until i show you x

    prime

    too and you realize there's differences

    between x and x prime

    and i really like that a lot in

    understanding

    how i have to give students more than

    one way of viewing the world if i really

    want them to understand

    the nuance of a particular approach and

    then i also had my first introduction to

    critical feminist and critical race

    theory

    which i'd never really drawn on before

    i just did my first blog post where i

    tried to use critical feminist theory

    because these are really important

    perspectives if i want to draw on a

    diverse student body

    so i'm learning a lot about all of these

    yeah i like that

    i too am continuing to learn i'm curious

    from the situated

    learning have you read james paul g yeah

    i just read

    i've just did my first reading his piece

    on identity and the four different types

    of identities

    that was pretty important in my class

    yeah he was a professor of mine so i

    took his discourse analysis course which

    ended up

    like i used corpus assisted discourse

    analysis for my dissertation

    and so like i took his class on

    discourse analysis and i've read pretty

    much all of his books

    he's like very heavily influenced my own

    thinking in terms of like the situated

    understandings and whatnot

    so a lot of what you were saying was

    like wow this sounds a lot like g so

    that makes sense that you've read him

    well only a little bit i want to dive

    more into it i haven't read much

    of g on discord's analysis i know it

    exists because i see it referenced when

    i'm reading the stuff on identity

    but more things that i have to learn

    about yet yeah well he built his

    understandings of like affinity spaces

    and situated learning and whatnot

    off of laven wenger so like that was

    coming from there so

    you're starting with like the roots and

    whatnot of a lot of his discussions but

    so you had mentioned that you've written

    a lot of blog posts like one of them

    it was a while ago you had crossover

    like a thousand blog posts at that point

    like

    it was like blog post 999. i'm curious

    what

    has surprised you over all of those blog

    posts

    that you've written about i can never

    predict

    when a blog post is going to take off

    i'll put

    so much effort to this one block i mean

    sometimes i will take weeks

    to write a particular blog post i'll be

    developing the ideas i'll get

    feedback from other people and then i'll

    put it out there and it just goes

    you know people will read it and then

    there'll be no discussion

    and then other times i'll put out a blog

    post they're just oh okay this is what

    i'm thinking about right now and i'll

    get all this twitter responses and all

    kinds of comments and

    i'll annoy somebody so that's sort of

    been

    the biggest surprise what are the social

    trends and sometimes you hit a blog post

    that are touching on

    huge social trends and then other times

    because

    google you know will index my blogs

    i'll find an old blog post that suddenly

    explodes

    and i don't really know why that's

    fascinating

    my two most read blog posts i think

    still are

    the one i wrote on cognitivism versus

    cognitivism versus constructionism

    and one on disaggregating asian american

    attainment

    we tend to talk about asian americans as

    doing very well

    in terms of traditional academic success

    but it turns out that if you

    disaggregate

    the different asian countries you get

    very different

    success rates it makes sense there's

    different cultures there's different

    socioeconomic status

    and it's totally obvious in hindsight

    and this was just rick

    adrian had shared with me a report and i

    just shared this graph

    and then one day it's like your blog

    post has just had 10 000 hits today like

    what

    because i've blogged for a long time and

    tried to blog on the things that i don't

    see elsewhere

    i don't blog as much anymore because now

    there's a whole bunch of stuff on

    computing education

    csta and see us for all and there's a

    lot of folks that are producing material

    i can stay in my niche just computing

    education research i don't have to draw

    on all these different places

    but i'm still i'm trying to post the

    things that i'm not seeing elsewhere

    that i think are important for people to

    see for people to think about

    recently i've been blogging on the

    difference between

    computing education and engineering

    education because

    in europe there are several centers for

    computing and cs education research and

    in the united states

    most computing education research that

    if there's an academic unit formed

    around it

    it's about engineering education

    research or computing and engineering

    education research the new

    succeed center was just set up at

    florida international university

    which is the universal computing

    construction

    and engineering education i forget what

    the d

    stands for but that's where the succeed

    comes in that's really interesting

    buffalo has a engineering education

    research program with several computing

    education researchers there

    so i'm struck by the distinctions

    between computing and engineering

    education

    and the fact that europe tends to see

    them as being more distinct in the us we

    tend to clump them together

    engineering education doesn't do a lot

    with k-12

    in fact there's a national academy

    report on k-12 standards for engineering

    education

    and if you read the report you find that

    it doesn't have standards in it

    the report said we decided not to and it

    gives their reasons why

    much of engineering education and it's

    going to sound like just

    a totally obvious statement but it's

    been a revelation for me

    engineering education is about producing

    engineers computing education

    is not necessarily about producing

    computer scientists

    because there are so many other

    disciplines that need to know about

    computing

    to further their goals and all of k-12

    computing education

    can't be just about being a silicon

    valley jobs program

    it can't be we're teaching everybody in

    k-12 about computing in order for them

    to become programmers

    computing education tends to be broader

    and serving different diverse identities

    that it's not just about becoming an

    engineer

    yeah so one of the reasons why one of

    the many reasons why i came up

    with the idea of starting this podcast

    and alternating between like the

    interviews and then

    talking about scholarship is i felt like

    cs education in k12 settings in

    particular weren't talking about some of

    the topics that i really wish they were

    discussing like

    i mentioned before we started recording

    like pedagogy the press like that should

    be something that people understand and

    know

    and discuss and a problem that i've seen

    in academic publishing

    is it takes forever like i literally

    just received a couple weeks ago

    a handbook that i wrote a chapter for

    and my first draft that i submitted was

    in 2017

    and i just received this in 2021 so it

    takes that long sometimes for these

    publications to come through

    so you have an opportunity to reach a

    large number of individuals just by

    posting something on your blog and i'm

    curious through that

    you're able to kind of guide some of the

    discussions but what do you wish more

    people in the field were talking about

    that you have tried to initiate

    conversations on

    wow that's great a big one is teachers

    as i mentioned

    i'm doing all participatory design work

    now

    and there's so little work on how do you

    design

    for teachers there's lots of work on how

    to design

    for children but and that's important

    work it's important to be able to figure

    out how to design for elementary school

    kids versus middle school kids versus

    high school kids

    i saw a great talk by paul goldenberg

    last summer

    that made me realize how hard it is for

    a third grader

    to click and drag with the trackpad the

    physical motion of clicking down here

    and holding your finger down while you

    drag it somewhere and release it that's

    kind of hard for them and it never

    occurred to me

    designing in those ways is really

    important but

    in general kids find acceptable a wider

    variety of technologies and interfaces

    than teachers do kids like lots of

    things that don't help them achieve

    particular educational standards

    teachers need to achieve educational

    standards that's literally the job

    so designing for teachers is a much

    harder task

    i worry that sometimes technology

    developers and curriculum developers

    sort of cheat by playing directly to the

    kids ah

    kids will like this well yeah but kids

    don't necessarily know what's good for

    them

    getting teachers to like it means you've

    got to argue with an adult

    another adult who is at your same level

    and

    understands things that you don't and so

    i think it's really important for us to

    figure out how to talk to teachers

    i'm also really interested in the

    growing body of literature that says

    cs faculty undergraduate faculty

    are more resistant to change than other

    stem teachers

    really huh yeah so

    there's this wonderful paper by charles

    henderson this big survey of like 2

    get the numbers wrong but it's something

    like 70

    of them knew two or more research-based

    methods and 50 to 60 of them had tried

    one of them in their classroom similar

    surveys of cs teachers find the numbers

    are more like 12

    wow cs undergraduate faculty

    i mean they're dealing with huge numbers

    a lot of universities have just

    overwhelming enrollment these days

    there's not

    a culture of we ought to get better at

    our teaching

    yet stem education chemistry biology

    physics they've all been doing it long

    enough that there are

    really well developed discipline based

    education research communities dbrs

    computer science is really new ase the

    american society for engineering

    education

    is like 120 627 years old something like

    that

    national council teachers of mathematics

    was founded in 1920.

    the american association of physics

    teachers was founded in 1950

    and the computer science teachers

    association was founded in 2004.

    we just know so little about cs teaching

    and how to influence cs teaching and how

    to disseminate

    good practices out to computer science

    teachers

    there's a lot of assumptions that we

    make

    about teaching computer science that are

    based on the fact

    that so much of programming in computer

    science has grown

    out of industrial practice so our

    languages weren't designed to be easy to

    learn they were designed to serve the

    needs of software engineers that's why

    python and java and c plus

    these were all why they were established

    and somewhere along the line

    people made the argument that the first

    language didn't matter

    the idea was any language you're just

    going to learn the concepts

    and i think all the data that we have

    says that's wrong and i'm kind of

    curious as to where we ever got that

    idea in the first place my hypothesis

    is because the early programmers were

    all really good at math

    and so they transferred their knowledge

    of math into different languages

    but if you learn a language for music

    for example and now i'm going to teach

    you web scraping

    it's not at all obvious why you think

    there would be any transfer from sonic

    pie

    to working with beautiful soup in python

    i think the first language matters a lot

    yeah i agree we mentioned before the

    recording the conversation like talking

    about how

    i was unsure how kids would do going

    from syntax like to syntax heavy

    whereas the other way around they might

    feel liberated finally i don't have to

    worry about semicolons curly braces but

    when they office then have to add that

    in it's like well why do i need to add

    in all that extra junk

    there's this really interesting body of

    research which

    when i tell it to cs teachers they're

    often very skeptical but it's actually

    been replicated a couple times

    if you're going to teach both iteration

    and recursion

    you should teach iteration first because

    recursion is actually an easier concept

    there's a bunch of evidence that says if

    you teach recursion first

    students will just want to do recursion

    all the time and then when you try to

    teach them a for loop in javascript

    that's a pretty complicated thing

    they're like why do i have to learn all

    that why can't i just keep doing

    recursion

    and so it turns out that if you do

    iteration recursion recursion

    is hard then because well it doesn't

    look like iteration and you don't

    specify all the things the way that you

    did an iteration

    and so there's this negative transfer

    from iteration to recursion

    but if you have to do both iteration

    before recursion turns out to be

    a better sequence to do yeah that makes

    sense

    and then what you're talking about just

    before that like talking about the the

    different languages and which one to

    pick it reminds me of the interview that

    i did with andreas stefik and

    his investigation of basically like a

    normal programming language

    versus a placebo language and how like

    some of them underperformed against the

    placebo and i was like whoa

    that's not good language design yeah

    pearl is worse than random oh and quorum

    is amazing

    your mention of computer science being a

    relatively new field it comes with like

    some benefits and then some constraints

    to it

    like i was mentioning with music

    education a lot of it's anachronistic

    we're building off of ideas from low

    mason

    who introduced music education in the

    schools in the 1800s

    and like yeah that means we have had a

    lot of trial and error but it also means

    we're kind of like set in stone in a lot

    of ways

    and it takes a lot of effort to like get

    more up-to-date with

    modern music-making practices and

    whatnot but with computer science it's

    like the other way where it's like well

    we don't really know what works so we're

    just going to try anything and

    everything

    yeah absolutely my teaching

    changed dramatically when

    i was introduced to peer instruction and

    i was actually blogging

    when beth simon convinced me to finally

    try it in my class

    and i remember the first time that i put

    up clicker questions

    using eric mazur's peer instruction

    technique i talked about it in my blog

    it's like

    my students don't know this i can't

    believe my students don't know this

    and now i do peer instruction all the

    time first of all because

    i deeply believe in active learning and

    that the idea of active learning

    it's constructivist but it's also so

    much about

    motivation just get everybody to stop

    sitting there and falling asleep

    listening to me and make them do

    something

    that that's just about shifting helping

    them to re-engage

    getting them to talk to somebody else

    making sure that all of their ideas get

    tested

    that's what it's about but i also do

    peer instruction all the time to inform

    my teaching

    i always put up questions that i think

    everybody's going to get

    and they don't it's like holy cow i'm

    not getting this across yet

    so it's about computing there's been

    these wonderful studies of peer

    instruction with paper and pencil

    where people have to hand in their votes

    it does not work computing

    is actually critical to making things

    like peer instruction work

    but the insight isn't about computing

    the insight is about well this is how

    teaching and learning really work

    and this is about how hard it is to

    learn some of these concepts

    so at the start of a conversation you

    had mentioned that you'd spent some time

    working with policy in education and i'm

    curious

    if you were to be able to like wave a

    magic wand and change some kind of a

    policy

    in education to have an impact what

    would you change and why

    i would build computing learning

    outcomes

    into the standards for math science

    social science art and music

    i think that separate computer science

    standards

    make it too easy to ignore or you create

    computer science classes that nobody

    take

    i think by integrating it everywhere

    there's so many things that happen once

    you do that once you wave that magic

    wand

    indiana did this they built their

    computer science outcomes

    into their science standards

    massachusetts did this they built

    computer science standards into their

    digital literacy standards

    suddenly in massachusetts librarians

    care about computer science in indiana

    suddenly all science classes teach

    something about computer science

    it creates a reason for teaching

    pre-service teachers about computer

    science

    there's a separate non-public policy

    magic wand

    that i would love to be able to waive

    and that is to require

    everybody at all universities to take a

    course in computer science make it a

    general education requirement

    like the phys ed requirement which just

    about every state has

    at the undergraduate level i think if we

    did this

    everybody includes all the pre-service

    teachers

    and if all pre-service teachers had a

    course in computer science

    aimed at them it becomes so much easier

    to do integration

    across the board i tend to think about

    computing education as being a form of

    literacy education

    that it's really about giving people a

    tool for them to express themselves to

    understand ideas

    in whatever it is that they're going to

    be doing in their lives and in their

    career

    the way you get to literacy is not just

    by teaching it in schools

    the way that we got textual literacy or

    numeric

    literacy numeracy is by making it

    pervasive in the culture

    and then kids learn it because well

    that's what everybody's doing

    so the only way you're going to get it

    in the culture

    is to make sure that everybody does it

    if you build it into

    university education then all

    professionals

    have some computing they won't all use

    it in their lives in their career

    but many more will use it than use it

    now

    and that's the best thing we could do

    for k through 12 computing education

    so one magic wand is change universities

    wow is that hard let's

    focus on public policy if we could

    integrate computer science into all

    these other standards

    there's a reason for doing pre-service

    computer science education

    there's a way of putting computing in

    front of

    everybody i mean that's the part that

    i'm so excited about with the history

    stuff

    three four percent of kids take a high

    school computer science class

    everybody takes history the difference

    in diversity between

    ap us history and apcs principles is

    mind-blowing apcs principles is like

    u.s history is 56

    female there are six times as many black

    students

    will take ap us history as take apcs

    principles

    something like 14 times more hispanic

    students

    take us history than cs principles if

    you can put

    any computing into the history classes

    you've made

    such an advance on giving more students

    the opportunity to say

    hey this is kind of cool i think i'd

    like to take more of this

    or computing programming is not scary

    look i did it before it's okay

    that's the kind of changes in

    self-efficacy that i'd like to get to

    and we only get there if we put

    computing into everything yeah that's a

    brilliant solution that it reminds me a

    lot of what they did with the technology

    standards

    so like back when i was going through my

    k12 tenure like technology was his own

    separate class its own separate thing

    you didn't do it in your normal classes

    but now they've integrated it so that

    like you're mentioning the social

    studies standards will have like

    technology components and

    talking about that and using technology

    so it makes it so that you're

    learning how to apply and use the

    technologies

    like laptops and whatnot inside of a

    situation which you need it for a

    specific subject area rather than

    standalone and separate from

    everything else so that totally makes

    sense for you to do that with computer

    science

    and if we were to do this we'd have to

    be more flexible about our definition

    of computer science i'm a big fan of the

    everyday computing work in diana

    franklin's lab

    at the university of chicago and katie

    rich was lead author on several papers

    they did

    about learning trajectories this idea

    that

    there's a whole bunch of ideas you have

    to know to be able to do computing well

    and some of the ideas at the left most

    edge the start of these trajectories

    we're not explicitly teaching to many

    kids like the idea that

    programs are deterministic if you run

    them and they accept no input nothing

    from the outside world

    they will run exactly the same every

    time i got lots of data to show you

    students don't always believe this they

    run the program multiple times without

    changes thinking well

    maybe something different will happen

    this time

    and unless you believe that programs are

    deterministic you can't debug

    right it's a critical belief in order to

    be able to figure out your programs

    and this idea we talked earlier about

    representations the computers transform

    representations those are not

    part of university definitions of

    computer science

    they're not part of the k-12 cs

    standards but they're absolutely

    critical ideas

    which we could address in just about any

    subject

    but speaking of representations i'm

    curious what your thoughts are

    recommendations for improving equity and

    inclusion

    in cs education that's a really big one

    how do we

    get computer science to be more diverse

    and

    it's one that i've cared about for a lot

    of years part of doing media computation

    was by making computing

    accessible in liberal arts subjects

    where students

    would succeed at it it was automatically

    getting a more diverse

    audience to have access to computing

    education

    and it brought more diversity into

    computing

    soon after we developed the media

    computation course

    and these aren't directly linked things

    georgia tech decided to create

    a joint undergraduate degree between

    liberal arts and computer science

    it was called computational media it

    came about because

    as all new majors do a bunch of

    researchers

    in that space said hey let's do this

    this is fun i

    think the course that i created enabled

    that because more liberal arts students

    were succeeding at computer science it

    was possible to start thinking about

    doing a joint degree

    computational media became 40

    female it was far more gender diverse

    than our cs major at georgia tech i

    think that that gets enabled when you

    start thinking about

    making computing fit into a lot of

    different disciplines to a lot of

    different needs

    so i think that by making computing

    integrate into lots of other subjects we

    are going to be about expanding our

    definition

    of what is computing who should be doing

    computing

    what they're going to do with computing

    and i think that opens the door

    for more diverse participation in

    computing

    i'm cautious i write about this in my

    blog post where i started using critical

    feminist theory

    i'm cautious of the goal that says we

    need to get

    more black engineers into google or more

    women engineers into amazon

    because i feel that that's this

    perspective of

    well if we can only get the black

    students to act like the white students

    if we can only get the women to take on

    the same jobs as the men

    it's not terrible but it's also

    not as powerful as saying well what

    would a female computer science

    look like and how would we create a

    computer science that speaks to

    the values in communities of people from

    marginalized populations

    so i'm really interested in thinking

    about computing becoming

    more things having a pluralistic

    computer science and a pluralistic

    computing education

    lots of languages lots of perspectives a

    pet peeve of mine

    is web pages and tweets and headlines

    x language is dead here are all the

    languages that have now

    lost why didn't these languages succeed

    i mean

    we're judging success by what gets

    picked up by the mainstream

    of developers which are mostly white

    nation males

    i would rather say these languages

    didn't die they're just used by

    different populations they're being used

    for different purposes

    from a computer science perspective i

    actually just saw one of these pieces i

    mean they're pet peeves but i click on

    them anyway

    they're making the argument python and r

    are dead

    what does that mean that r is dead or

    python is dead

    stations really like these languages

    they're used a lot and that's a positive

    thing

    yeah i like the way that you framed the

    like challenging some of the assumptions

    in just increasing numbers based on

    demographic information like really

    likes to talk about how

    you need to make sure that when you're

    trying to bring up

    that you start from within and through

    conversation through dialogue

    rather than this like ontological or

    epistemological colonization where

    you're saying your way of knowing and

    understanding

    needs to conform to my ways of knowing

    and being an understanding

    and so like having that conversation

    that challenges well what does it mean

    to be a computer scientist i really like

    the way that you frame that with it

    do you know ron iglush i don't think so

    he does

    culturally situated design tools he's an

    ethno

    computationalist and ethio mathematician

    and so he looks at things like he talks

    about

    heritage algorithms the algorithms that

    certain aboriginal people may have used

    in how they lay out their villages

    or the algorithms that are used in how

    he talks about

    hand printed cloth in various

    populations he works with

    a variety of different groups neat paws

    there's this notion in nsf about the

    future

    of work what do we do when ai and

    technology puts lots of people out of

    work

    ron thinks about it exactly the opposite

    direction he says

    you know there are all of these

    artisanal economies

    people are always going to value things

    that are made by hand

    how could we use ai and robotics and

    technology

    to support artisans artisan economies i

    mean artisans are happy people

    people like doing things with their

    hands they like to make individual

    things

    how do we support their economy and how

    do we use technology

    to make what they do more profitable so

    that they're more successful

    i'm not necessarily turning them into

    computer scientists though we want to

    make sure they know about their

    technology so they can adapt it to new

    purposes

    like the modders that we were talking

    about earlier but it's about making the

    computing serve their needs as opposed

    to saying

    now let me train you all to become

    amazon engineers

    that's not the goal the goal is how do

    we help artisans to continue doing what

    they're doing because it's a good thing

    that they're doing

    it's good for the economy it's good for

    happiness but we have to think about

    the technology not taking away their

    jobs i'm curious

    how do you try and stave off

    the burnout that can come with your

    output so you're able to write

    a lot both from a research side of

    things and then from like your blog

    you're teaching classes you are doing

    research like there's a ton of things

    that you're doing like you did the

    keynote at 60 back when it was in person

    before it shut down last year like

    how do you prevent that burnout that can

    come with this

    high demand in a career in cs education

    research

    i can't tell you that i don't get burnt

    out i will tell you

    that it helps that i have a really good

    family life you know we take off certain

    time every night you know we have dinner

    together and just talk we can make sure

    that we take off hours and spend time

    together

    i run the things that one picks up

    during the pandemic is i've become

    a big fan of meditation i try to do

    meditation a couple times a day and it

    really helps to

    be mindful and to ground myself and

    that's helped a lot with stress and

    sleep

    so i actually have fun doing this

    i do computing because i enjoy it

    my wife and i barbara erickson who's

    been my research collaborator

    on lots of things we wrote the media

    computation books together and did

    georgia computes and egypt together

    barbara sees computing as being a puzzle

    she loves to figure out how the

    algorithm works and how to make it

    better and

    what's going on here i've never had that

    puzzle perspective i've never

    gotten into computing as problem solving

    for me programming is this cool set of

    lego bricks

    and i can put them together in all kinds

    of different ways to make things

    and if it gets hard i sort of like okay

    i'm going to do the simplest

    dumbest inefficientist way of making

    this work

    when barbara and i were writing the

    books i would leave notes

    in the source code okay barb i know this

    is a sucky algorithm could you please

    just fix it and not give me grief about

    it because she's much better at that

    than me

    so i get to play with tinker toys and uh

    erector sets

    all day long it's great it definitely

    resonates and makes me laugh

    there are times where i look at the

    things that i'm able to create

    and explore through my job i'm like wow

    this is fantastic

    not many people can say that they are

    able to have fun doing these things

    and then have fun creating things that

    actually have a large

    impact like the boot up curriculum it's

    free anyone can use it and it's used

    around the world so like

    that's awesome not many people can say

    that yeah it's true

    what do you wish there was more research

    on that could inform your own practices

    i'd like to know more about where non-cs

    teachers

    could use computing and this is a hard

    area to do research in

    it's not so hard to identify the

    challenges

    students have in learning something it

    is harder

    to figure out which subset of those

    might be addressed by appropriate

    computational tools but i think that

    that's an area of research that would be

    important to work on we do a lot in the

    sense of

    we work with social studies educators

    and math educators

    and say okay students have a hard time

    understanding

    this about counting processes um that's

    good to know

    anything about process is something that

    computing can likely help at

    but then trying to figure out what's the

    right notation or representation that

    students will understand

    it's this recognition that it's a design

    task too so just knowing the problem

    isn't enough to solve the problem

    a lot of what my students work on

    creates questions about what comes next

    so i just had a student graduate i was

    actually be able to at her hooding on

    friday morning

    in atlanta at georgia tech amber solomon

    dr amber solomon's dissertation was

    on the role of embodiment in learning

    computer science

    we use gesture what does that gesture

    mean

    i mean we have these great videos amber

    studied a whole bunch of videos

    of people lecturing about things like

    recursion and lists

    and you have people doing this are they

    pointing at

    there's no there there you can't point

    at elements of an

    array right all right and if you do this

    what if the student's impression of an

    array is actually like this

    they're pointing horizontally and they

    think about it vertically

    does that create a conflict for them and

    then she studied their language

    the language we use to teach computer

    science

    is so embodied but we don't think about

    it and we don't design it when somebody

    says

    okay now we're here in the code what

    does that really mean

    we somehow jump down inside the code i

    think what you're actually meaning

    is we're imagining an execution of the

    code and the program counter is on this

    line right now but to jump from all of

    that to

    we're here in the code how many students

    are getting confused

    that they're not making that connection

    of shifting metaphors and shifting

    language

    right and we don't know anything about

    this we now know from her dissertation

    that there's a lot of embodiment in the

    way that people talk about computer

    science

    we don't yet know how the students

    understand all of that embodiment

    so that's a big area of research katie

    cunningham

    just finished her dissertation she's

    presenting at kai

    i think on thursday on purpose first

    programming

    where she's teaching people programming

    in terms of pieces of code

    that help them achieve their goals where

    they can just assemble these

    pieces of code if you're going to think

    about it in a derogatory sense you're

    saying oh they're just learning plug and

    chug programming

    but what she showed is the students

    think about how they tailor the code how

    they change the pieces of code for their

    needs

    and how they debug in terms of the

    semantics of those chunks of code

    not the individual lines it's so

    important it really led to high

    self-efficacy

    students were successful like coding

    with these programming plans that she

    identified

    but we don't know is what happens next

    can they learn more plans do they

    transfer that knowledge

    can they start learning the details of

    those individual lines of code

    does the purpose first programming go on

    to something else

    we don't know any of that either and

    there's a whole bunch of

    sort of technical research that i'd like

    to see done too

    since i've gotten to michigan i'm

    building things again which is great fun

    but you know what web programming is

    really hard

    it's way hard it really needs to be made

    way easier

    i was using a tool called gp which is a

    general purpose programming tool john

    maloney the guy who originally

    implemented scratch has been developing

    gp

    along with jens monnig who did snap also

    worked on gp

    and one of the things about that's cool

    about gp is that it's the speed of

    python so you can do things in gp like

    real-time sound visualization i built

    real-time sound visualizers with gp

    which is like

    super cool but there's very few things

    like gp and john hasn't been able to

    keep gp

    supported i think there's a whole lot of

    tool space

    that needs to be filled with research to

    make it easier for us to do things like

    task specific programming languages for

    teachers

    and what's something that you're working

    on that you could use help with

    like a listener who might be able to

    help you with blank what would that be

    we've got a bunch of tools now some of

    which like

    our history tools we're pushing out now

    that we've been building

    task specific languages for

    combinatorics and english language arts

    i'd like to connect with teachers who

    say that sounds cool

    i'll actually put this in my classroom

    if you make these changes

    i actually would welcome that because

    right now we've got tools that teachers

    are saying

    oh i like your tool way better than any

    of these others

    but they're still not adopting them

    understanding what

    gets a teacher a non-cs teacher to adopt

    a cs-based tool is really hard

    so we're trying to shift our research

    into more of a co-design model

    what we're doing now is we're building

    tools i work closely with my

    collaborators in social studies and math

    education and then we do

    teacher workshops and say here's the

    tools the teachers say cool

    silence rather we'd like to work with a

    handful of teachers

    who say okay i promise you i will use

    this but i need x and y features

    okay i'll give you x y features now

    let's study what happens

    because we haven't really been able to

    study much classroom

    implementation yet now part of this is

    the pandemic right that makes everything

    harder for everybody

    yeah hopefully there's somebody who's

    listening that's got some teachers in

    mind that they could reach out to you

    and

    recommend them to actually assist with

    that do you have questions for myself

    or to the field i'm going to generalize

    that last one

    if you could have any kind of

    programming language you'd like for your

    classroom

    what would you want a lot of the work

    that i've been doing

    was inspired by a conversation i had

    with colby toefl growl

    who is a science education researcher at

    utah state

    and she said to me you know what would

    really change my world

    is if i could type any scientific

    equation a mathematical equation

    directly into scratch

    so rather than drag and drop blocks to

    do a mathematical equation

    let me just type the equation and better

    yet if the equation could look like the

    way it looks in the math book or the

    science book

    and that just blew my mind because i

    mean we're not actually adding

    anything computational to scratch what

    we're changing is the user interface

    right and that's what made me realize

    that a lot of what teachers want

    is not about adding anything new

    computationally

    it's just could you make the user

    interface mesh better with my class

    so i'd love to hear more of those things

    i would love it if snap did x i could

    use code app but i want to be able to

    see

    a textual coding language on top of code

    app whatever it is those sorts of things

    because it's just the interface now

    i don't want to belittle doing user

    interface i work with hci researchers i

    see myself as an hci researcher that's

    hard work

    but that's not like inventing a new

    programming language that's about taking

    a little bit of programming and wrapping

    a new interface around it

    and that's doable and i think that's

    really important

    yeah i agree it'd make my life a lot

    easier if i could just type it out into

    scratch rather than having to drag in

    all the different operators when

    creating something

    yeah are there questions that i haven't

    asked that you'd like to discuss

    you had this great comment about what is

    holding back educators the field or what

    we can do about it

    and i think the thing which gets in the

    way a lot

    is cs arrogance that's not real

    programming

    i mean you're learning scratch maybe one

    day you can go learn a real programming

    language

    right i think that we see computer

    science

    as being owned by a computing elite as

    opposed to

    being something we want everybody to

    have access to that we want to push it

    out

    and it's about sharing this wealth as

    opposed to just being

    kept with the wealthy land owners i'm

    part of this

    task force i'm a co-chair with a

    computational cosmologist gus ephrat

    such a cool job

    this task force is defining computing

    education for

    undergrads in the college of literature

    science and the arts the largest college

    at the university of michigan it's sort

    of the liberal arts and sciences part

    and we're trying to define computing

    education for all of these folks

    a couple weeks ago gus and i made our

    preliminary report to the executive

    committee of the college of lsa

    and one of the members raise your hand

    says you know

    i got one of those requests for an

    interview or a survey

    but i didn't respond because you said

    you wanted people who do computing

    education

    and i don't do computing education now

    that i see what you mean

    could you use the word digital instead

    of computing please and then

    another member of the committee yeah i

    noticed that too

    if you use the words computing or

    computational

    that's just a conversation stopper i

    think you should change your language

    and those two comments i've been

    thinking about for

    weeks now it makes me realize the

    culture

    and their perceptions that we have set

    up around our field

    and i think that if we really want to

    reach cs for all

    cs has to become a service field rather

    than

    an elite we have to think about serving

    all these other fields

    and building things that they want as

    opposed to saying

    oh but wait we have to teach them this

    way because otherwise it's not real

    computer science

    yeah that'd be interesting to a way to

    kind of

    step around some of the baggage that

    comes with what does it mean to be a

    computer scientist

    if it were defined as something

    different but then we get into the

    arguments that we get into with like

    computational thinking with well what's

    the definition

    of this thing yeah when you list things

    that i used to believe i used to believe

    that we could define computational

    thinking

    i have now done it so often in my blog i

    totally give up on that

    [Laughter]

    yeah i'm much more interested in putting

    computing into classes that serve those

    classes needs

    data literacy is hard counting processes

    are hard

    thinking about language in english

    language arts

    is hard computing can help with those

    and make them more fun

    let's do that and let's not worry about

    whether it's computer science or

    computational thinking

    i like that so i'll ask the last

    question so where might people go to

    connect with you and the organizations

    that you work with

    so probably best way is through my blog

    computinged.wordpress.com from there i

    link to

    just about everything all the papers

    that i work with i've mentioned some of

    the groups that i work with like the

    esep alliance

    while i'm no longer involved it's still

    going on i'm so glad that other

    principal investigators have come along

    to carry the torch so esepalliance.org

    i think they're up to 23 states in

    puerto rico that they're working with

    which is

    really tremendous you google mark

    gosdale there's not that many of us you

    might get confused with my son matthew

    guzdal

    who does machine learning and creativity

    at the university of alberta but we're

    pretty distinguishable

    and with that that concludes this week's

    episode of the csk8 podcast

    i really hope you enjoyed this interview

    with mark i know i certainly did

    i hope you consider checking out the

    show notes to learn more about the

    different topics that we discussed

    or to reach out to mark or myself to

    collaborate on future research

    or to simply go to my website and check

    out all of the free resources that are

    for computer science educators

    including the podcast presentations

    publications lesson plans etc that i

    have created for the kids that i work

    with and for the non-profit buddha pd

    and all of which is 100 free to use

    thank you so much for listening

    i hope you're all staying safe and are

    having a wonderful week and i hope you

    stay tuned next week for another

    unpacking scholarship episode in two

    weeks from now for another interview

Guest Bio

Mark Guzdial.png

Mark Guzdial is a Professor in Computer Science & Engineering and Engineering Education Research at the University of Michigan. He studies how people come to understand computing and how to make that more effective. He was one of the founders of the International Computing Education Research conference. He was one of the leads on the NSF alliance “Expanding Computing Education Pathways" which helped US states improve and broaden their computing education. He invented and has written several books on the “Media Computation” contextualized approach to computing education. With his wife and colleague, Barbara Ericson, he received the 2010 ACM Karl V. Karlstrom Outstanding Educator award. He is an ACM Distinguished Educator and a Fellow of the ACM. His most recent book is Learner-Centered Design of Computing Education: Research on Computing for Everyone (Morgan & Claypool, 2015). He received the 2019 ACM SIGCSE Outstanding Contributions to Education award.


Resources/Links Relevant to This Episode



More Content