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 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
- Other podcast episodes that were mentioned or are relevant to this episode - Accessibility and Inclusion in CS Education with Maya Israel - In this interview with Maya Israel, we discuss Maya’s shift from special education into CS education, the importance of universal design for learning (UDL) in CS classes, understanding the spectrum of accessibility for students with a diverse set of needs, the current status of accessibility and inclusion within the field of CS education, problematize deficit framings of students with disabilities, and so much more. 
 
- Accessible CS Education through Evidence-based Programming Languages with Andreas Stefik - In this interview with Andreas Stefik, we discuss the importance of using evidence-based programming languages, problems with the lack of replication in CS education scholarship and academia in general, the importance of designing for accessibility and disabilities, lessons learned designing Quorum (an accessible programming language and platform), and much more. 
 
- Contemporary Venues of Curriculum Inquiry - In this episode I unpack an excerpt from Schubert’s (2008) publication titled “Curriculum inquiry,” which describes different venues or types of curriculum that educators and education researchers should consider. 
 
- Exploring (Dis)Ability and Connecting with the Arts with Jesse Rathgeber - In this interview with Jesse Rathgeber, we discuss what educators should know about (dis)ability culture and research, person-first language vs identity-first language, suggestions for combating ableism through anti-ableist practices, how the arts and CS can come together and learn from each other (great for sharing with arts educators who might be interested in CS), and much more. 
 
- 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. 
 
- In this episode I unpack an excerpt from Schubert’s (1986) book titled “Curriculum: Perspective, paradigm, and possibility,” which describes different examples, intents, and criticisms of “images” or “characterizations” of curriculum. 
 
- Pedagogy of the Oppressed - This episode is the start of a miniseries that unpacks Paulo Freire’s (1970) book “Pedagogy of the Oppressed.” This particular episode unpacks chapter 1, which discusses how oppressors maintain control over the oppressed. Following unpacking scholarship episodes discuss what this looks like in education and how educators can adopt a “pedagogy of the oppressed” to break cycles of oppression. 
 
- This episode is episode two of a miniseries that unpacks Paulo Freire’s (1970) book “Pedagogy of the Oppressed.” This particular episode unpacks chapter 2, which discusses the “banking” approach to education that assumes students are repositories of information, and then proposes a liberatory approach to education that focuses on posing problems that students and teachers collaboratively solve. If you haven’t listened to the discussion on the first chapter, click here. 
 
- This episode is episode three of a miniseries that unpacks Paulo Freire’s (1970) book “Pedagogy of the Oppressed.” This particular episode unpacks chapter 3, which discusses the importance of dialogue when engaging in liberatory practices. This episode builds off the previous unpacking scholarship episodes on chapter one and chapter two, so make sure you listen to those episodes before jumping in here. 
 
- This episode is the final episode of a miniseries that unpacks Paulo Freire’s (1970) book “Pedagogy of the Oppressed.” This particular episode unpacks chapter 4, which synthesizes the concepts introduced in the previous chapters and discusses the difference between anti-dialogical and dialogical practices in education (and at large). This episode builds off the previous unpacking scholarship episodes on chapter one, chapter two, and chapter three so make sure you listen to those episodes before jumping in here. 
 
 
- Planning K-8 Computer Science through the UDL Framework - In this episode I unpack Israel, Lash, Bergeron, and Ray’s publication titled “Planning K-8 computer science through the UDL framework,” which discusses the potential for using Universal Design for Learning (UDL) in CS classes. 
 
- Reconceptualizing “Music Making:” Music Technology and Freedom in the Age of Neoliberalism - In this episode I unpack Benedict and O’Leary’s (2019) publication titled “Reconceptualizing “music making:” Music technology and freedom in the age of Neoliberalism,” which explores the use of computer science practices to counter neoliberal influence on education. 
 
- Should I Say “Disabled People” or “People with Disabilities”? - In this episode I unpack Sharif, McCall, and Bolante’s (2022) publication titled “Should I say “disabled people” or “people with disabilities”? Language preferences of disabled people between identity- and person-first language,” which summarizes findings from a survey on participant preferences for language around disability and an analysis on language in conference abstracts. 
 
- Situated Language and Learning with Bryan Brown - In this interview Bryan Brown, we discuss the importance of language in education. In particular, we discuss the role of language in teaching and learning, discursive identity, situated language and learning, the importance of representation in education, the role of language on stress, how smartphones and virtual communication platforms (e.g., Zoom) could change learning, and many other topics relevant to CS education and learning. 
 
- In this episode I unpack Bresler’s (1995) publication titled “The subservient, co-equal, affective, and social integration styles and their implications for the arts,” which “examines the different manifestations of arts integration in the operational, day-to-day curriculum in ordinary schools, focusing on the how, the what, and the toward what” (p. 33). 
 
 
- Learn more about Expanding Computing Education Pathways (ECEP) 
- Learn more about Georgia Computes! by reading a paper Mark wrote with other authors 
- Constructionism vs constructivism 
- Learn more about situated learning 
- Learn more about Katie Cunningham’s purpose-first programming 
- Read some of the blog posts Mark mentioned 
- Connect with Mark 
- Find other CS educators and resources by using the #CSK8 hashtag on Twitter 
 
          
        
       
                 
                 
                 
                 
                 
                 
                 
                 
                 
             
  
  
    
    
     
  
  
    
    
     
  
  
    
    
     
  
  
    
    
     
  
  
    
    
    