Episode 33 Sean: Hello and welcome to teaching Python. This is Shawn Tibor. I'm a coder who teaches, Kelly Paredes: and this is Kelly Schuster Perez, and I'm a teacher who codes. Sean: So this week, Kelly, we're joined by one of our favorite people in the entire world. Eric Mathis is with us all the way from set code Alaska. Welcome, Eric. Eric Matthes: Good morning. Thank you for having Sean: Like interviewing people from Alaska. It's morning there. It's afternoon here. Um, you know, it's, it's funny because I felt so connected to Eric when we met at PI con because he lives in Sitka. I grew up in Anchorage, so the time change that automatically subtracting four hours from the East coast to know what time it is in Alaska is second nature to me. Uh, so it feels good to have an Alaskan on the show. Kelly Paredes: Yeah. I feel a little bit left out here because I think it's like a certain bonding that you, people from Alaska have, Sean: house. Kelly Paredes: I wasn't invited to the the pie con Alaska and get together. Of Sean: Of course you were invited. You just had better things to do. Kelly Paredes: Stay warm. Sean: Um, so we're going to get started the same way we do every week, which is with the winds of the week. It's our best way to get started on a positive note, and we of course, always make our guests go first, which is part of my, probably my favorite thing about doing the wins of the week is in having a guest on the show, is having Eric go first. So Eric, take us away. What's something good that's happened inside, outside of the classroom, at your home office or even on the mountainside. Eric Matthes: It's been raining pretty hard. So my win is indoors this week. for a long time, I've been wanting to put together a set of challenges for readers of Python crash course that go beyond the exercises that are offered in the book. And so I finally got that polished up enough to you start putting it online this week. Sean: That's really great. We, I've been following on Twitter that you've been working on the cheat sheets for Python crash course to go along with the new edition of the book. There is, there's a lot of productivity coming out of your, uh, out of your keyboard, this, uh, the last few weeks. Eric Matthes: Twitter. Kelly Paredes: Absolutely. And I, I really liked the, the cheat sheets, so I was looking at those again prior to, uh, talking to you today. It's pretty cool. So we'll be looking forward to those challenges. Sean: Excellent. Kelly Paredes: You go first this time. I'm going to beat you to that. Sean: Well, the, the big win for, uh, for me this weekend, and I'm going to loop Kelly into it, is that we presented, um, at the Florida council of independent schools last week. Um, it was a really great opportunity to talk with a bunch of administrators from independent private schools around the state of Florida. And our topic was the school of 20, 24. So we spent a little bit of time, um, presenting a lot of the same content that was in our podcast episode last week, but we got a lot of really great feedback from the people that attended it. A lot of good questions about, , what was working well and, um, what we saw coming in the future. it's a really fun topic for us to discuss because there's so many interesting things that are happening right now, um, in Python that will be in classrooms in the next few years as products and services that, that educators will be able to use. Kelly Paredes: Yeah. We had a really good time at that presentation and everyone was, was actually mentioned to us, how do you guys, uh, just seamlessly talk so much? And we said, Oh, we kind of what we do. So it was a good, it was a good win. I'm sad. I forgot that when of the week, it feels like ages ago. So. Well, my win is a little bit, again, personal. Um, I have been, I think. Reach that click moment as a teacher of computer science, and I was sharing this yesterday with one of our friends and I have become now a person that can code on the fly. Obviously in things that I know, but I'm, I can easily, a student will say, I want to code the game war. And we decide, I said, Oh, okay, let's do it. So we started to code the guard card, game war. I was not cheating. I didn't have to look online and the questions, it was, it was a nice, seamless, um, lesson. And I wasn't, I wasn't afraid of not being able to coat it. And I just felt that that sigh of relief of. Of finally having that click and being able to code on the fly. It was good. So I had a good time today. Sean: that's good. Live live coding is always challenging, right? Kelly Paredes: Yeah, especially, but it was even better cause I was sitting down in the beanbag and coating with the sixth graders, so it was so much fun. Sean: was nice. Kelly Paredes: That was my win. Sean: Very good. Very good. Well, I know, I know I've said this before, but, um, the amount of progress that you've made over the past year and a half learning Python has been remarkable and it's been a lot of fun to be on the journey with you. So, um, I'm, I'm very proud of you for that moment cause I know how hard you've worked to get there. Kelly Paredes: get there. Sean: Yeah. So Eric, we are, I mean, I w Kelly and I have been talking about this for I think like two weeks ever since. We set the date on the calendar to talk with you about how excited we are to talk with you about teaching and Python because you've done both, um, so well, and you're published. You have. Um, you have all of this fantastic content that you've created. And more importantly, it feels like as a teacher, and especially as we were learning how to teach this subject, it felt like you really understood both areas very deeply, ? So the, um, idea of computer science and how it is, how you can actually use it as a practitioner, but then also how to teach this in a way that is. You know, accessible to students as a way that teachers can access and then reuse and repurpose for their own teaching style. So for us, it's like, I think we're a little bit starstruck because it's like, wow, you know, like we have this great person to talk to about all of the things that we love in computer science and in teaching. So we're just thrilled to have you on the show this week. We love the work that you've been doing. We have a copy of your book. In fact, I think I just requested the updated a second edition of Python crash course just the last week, so it should be here soon. Um, but I just wanted to like ask, how did you get started here? I mean, are you trained traditionally as a computer scientist or as a teacher? How did you get into teaching Python and becoming a, you know, an expert in this area? Eric Matthes: area. Well, you should interrupt me as I answered that because it's a long story. You know, you said you were star struck a little bit and I feel the same way. I am so impressed with what you and Kelly are doing. Um, and I appreciate what you're doing for. Connecting the world of education and, and programming. Um, I think there's a lot to you come out of connecting those worlds and you guys are doing good work and making that happen. Sean: thank you. Eric Matthes: Yes. Um, I, my story really starts when I was probably five or six, seven years old. Um, I'm a little old and I like growing old cause experience is good. Um, I grew up in the 70s. I was born in 1972. Um, my dad was a software engineer. Uh, this is, um, outside of Boston in Southern New Hampshire. So the very first computer I used was a key computer in our basement. And so it was a bare motherboard planted by some wires to a bear cathode Ray tube, um, connected to a keyboard that didn't have a case. And Sean: So like the, the risk of electrical shock was very high using this computer. Right. Eric Matthes: it was an unfinished basement. So it was just concrete walls and cold and just equipment all around. Um, cause my dad was a tinkerer. Um, but one of the things I appreciate about my dad is that he always let me use his stuff and touch it and play with it and ask questions about it. Um, so he sat me down at that computer at a fairly young age and he was running basic. And I just, I don't remember learning it, but I remember writing a number guessing game and then having my parents sit at the computer and play the game. And it worked. And when it worked, I still remember the feeling to this day of having built something that somebody else could then use. And it did what I intended to do and they enjoyed using it. And so whenever I think about programming, no matter how simple or complicated it is. I always go back to that feeling of creating something that is meaningful for ourselves and for other people. Sean: That's, that's really great. And it's something that we hear I think a lot in kind of like origin stories, right? Like. The, the origin stories of programming is, is this, this feeling of, um, of making something and creating something that is valuable or is interesting or has something that is a unique perspective is something that seems to be kind of the common thread with a lot of people who have been coding for a very long time. And it's something that I keep in mind when I'm working with students is how can I show them something, or how can I give them that first step on the path towards. You know, becoming someone who codes by giving them something early that is interesting and exciting for them to code. And I'm curious how, how you found that experience. Have you been able to get other students or get students to understand the same sorts of ideas or the same, have that same experience as in your career as a teacher and educator and author? Eric Matthes: Yeah. Uh, my quest for that is what led me to write a Python crash course. Um, I really liked that you use the word accessible. I think you've used it a couple times. Um, I think that programming is much more accessible than many people realize. Um, and I think there's really good work to be done in continuing to make it more and more accessible to a wider variety of, of people. Um, my story continued, um, throughout middle school, high school. Um, into college. This was the eighties and nineties. I continued to learn some from my dad and some from, um, probably books back then. I got to use the logo, uh, in elementary school. Um, I took some classes in C and Pascal and Fortran. I studied physics in college and we had to learn a variety of languages in that work, even though we didn't use it as much as people do. In science programs today. Um, where it all went. By the time I graduated college, I had a degree in physics. I wanted to be a particle physicist, but I didn't want to be a student forever. And so I was looking for something to do that would put me into the real world, but keep doors open for going back to school. And so I had enjoyed some tutoring experiences in high school, or sorry, in college, I just, I, I went into college loving math and loving science. Cause it was all about understanding how the world works. And I don't think it was until about halfway through college, I realized how many people hate math and hate science. And when I really looked at why people hated the subjects that I love so much, um, it came down to you how it was presented in the classroom. Uh, the only reason I could see that people hated these subjects is because they were made to do things that they didn't understand. The effect of that was to block them from doing things they wanted to in their lives. And their teachers were unable to help them, um, understand it well enough to use it. So I started tutoring. Kelly Paredes: that that's really interesting as you're going through this, um, your life, and I'm kind of thinking the same thing about the science. Cause my background is a science teacher. And science always came easy and it was something that was, was accessible and. And that's, that's interesting. But I never had the computer, and I hate to say this, but I'm roughly the same age as you. I agree. Experience is good, but I don't like to get old. Um, I don't remember having that much, uh, computer science during my, my physics classes. But it was always something that came easy and that, that idea of accessibility and being able to, to teach others that same passion. I think comes out in your story. I'm sorry, go ahead. I just thought that was interesting. Go ahead. Eric Matthes: My story gets a little rambling, so I appreciate the interruptions. tutoring in college was really interesting because I was 18, 19, 20 years old and a lot of the people that I ended up tutoring were, um, adults who had returned to school and were struggling with these core required classes. And so it's a really humbling experience on both sides to have the age difference, um, in a tutoring experience. So when I was, um, figuring out what to do after college, I realized that I might enjoy teaching. And so I went into teach for America when it was first coming out. Um, and that program has changed a lot over the years. Um, I haven't kept up with it. Too much. But back then it was a pretty simple program of just putting people who wanted to teach into classrooms that were, um, just being filled with, with warm bodies. And so, um, I loved teaching. I went to teaching with a two year commitment. The GAM, I go back to, uh, graduate school for particle physics. Uh, but I found that the intellectual challenge of trying to reach every student in a class. Truly, truly reaching every student, um, was as intellectually challenging and satisfying as hard science. And so that's ultimately what kept me in teaching. So I taught middle school math and science for seven years in New York city. I always dabbled as a programmer, never tried to teach it back then. Um, but I always did my own work on the side just for fun. Um, I moved to Alaska in 2002. I continued teaching high school math and science. Um, my story changes around mid two thousands because I was doing some of these projects on my own computer and realized like, wow, around that time, um. The internet just made it so much easier to share work you were doing as an individual. When I grew up in the 80s, if, if you had a good idea for a program and you wrote that program and you wanted to distribute it to people, you had to find somebody to, um, physically mass produce. Floppy disks. Um, I think there are five and a quarter inch disks at that point. Package them up, distribute them, and find a way for people to buy those, those desks. Um, if you made a mistake or you wanted to update your software, you had to go through that whole process again. Um, and I was nowhere near, well enough connected to do any of that. And mid two thousands, I was sitting at home building something for myself and realizing that. Wow. I probably should take this more seriously because if I do build something meaningful, it's a lot easier to think about distributing it to people who would find it useful as well. Kelly Paredes: It's crazy to think and, and w. Kids nowadays do not understand the difficulty of being able to share a project. I was just listening when you were talking about that. I remember the day of putting in the floppy desk and that that process of, of coding something at home and not being able to share it. That's huge. And now kids these days have that ability and so that also makes coding and programming more accessible. Eric Matthes: Yeah. I think the 70s and 80s were a great time to learn programming because you're starting to have high enough level languages that you didn't have to be a. Um, really strong mathematician and understand binary numbers onto program. Um, but you are close enough to that, that you've got a really good understanding of how computers work. Um, I think now as a really good time to learn programming as well, because he might be a little farther from a fundamental understanding of how computers work, but whatever you do, uh, you can. Run so far with it, I'm standing on the shoulders of all that has been created before us. Sean: That's, that's very true. I mean, I was thinking about it, um, the other day because as you mentioned, like I grew up in that era of, of passing floppy disks around. Right. And shareware desks were a big thing or disks that came bundled with a magazine. Um, and then it got me thinking about sort of that magical time of code being published in books or in magazines and having to retype it or fix it. And we still have a lot of that because it's really a useful way to, you know, kind of slow down and think through things. But it, to your point, it's this, right? There's, there was a great kind of golden age for learning how to code in the seventies and eighties when. You know, it was kind of that special experience of I got the new magazine and there's this new program in it and I want to try it out. And so I'm going to spend four or five, six hours typing it in. You know, cause I didn't touch type at that point. It was all hunting pack and like one character at a time and take, take my time typing it in, Kelly Paredes: big chunky keyboards, Sean: The big, big mechanical keyboard, the whole thing. And then when it worked, it was magic, right? It was like, wow, this is really cool. And then of course your next step is now how do I make this my own? Like how do I change it? How do I update it? Now that I've got it typed in and it's working, how do I alter it and make it better? Eric Matthes: Yeah. I liked the words that you choose. It really does feel like magic when something that you have built, you press run and it works because so many times you press run and it doesn't work. Kelly Paredes: get better Sean: Well, I, I tell my students, I feel like there's, there's gotta be, you know, there's a neurology there, right? Like, there's a dopamine hit, I think when you, when something runs for the first time, um, and it actually works. Like it's exciting. And. I think that's, at least for me, that's one of the more, um, you know, addictive in a way, parts of programming. It's one of the reasons why I do it is because I love that feeling of, I just made this thing and it works, and look how cool that is. Eric Matthes: Right? Yeah. I'm chuckling because that's also part of why we all like starting new projects instead of continuing the projects. We should be continuing. Kelly Paredes: sure that Sean: Yeah, I'm sure that someone, someone's going to look at the neurochemistry of that, right? Like how much, how much, uh, excitement is there. Early do a functional MRI, right? Like we light up when it's a new project, but when we're smashing bugs, like it's a little smaller and smaller returns on that excitement. Kelly Paredes: I wanted to get off topic like I normally do, but you know, there was just a study that said different words light up in different areas of our brain, so I wonder if the programming and type of information that we're programming would have different synopsis as well. Eric Matthes: Um, yeah. You know, signing a book contract was probably the first thing that really forced me to just stay with one project until it was all the way done. Um, I had finished things before that, but that, that pressure to, uh, Polish something enough that it can be published in many copies be made of. It was pretty interesting. Um, my journey to doing that though was a couple steps away. Um, so the mid two thousands, I realized how. Um, how good of a time, again, it was to learn programming. So that's when I really started trying to, to, um, teach programming to students. And that was a really good time for it because, um, was interesting to me. I started teaching at, my high school is called Pacific high school here in Sitka in 2002. And when I, when I started, um. We had about 30 computers, and they're all new and they're all running windows, and they worked well, and it's really nice to teach, um, with good equipment. And this is a small school. We only had about 35 students, so it was almost one-to-one even back then. Um. I ended up teaching there for four years, going, taking a couple of years off to do other things and coming back, when I came back around 2000 heat, um, the school had all the same computers, but only three of them were working. So there's about 27 computers just sitting, taking up space on the edge of the room and nobody was fixing them. Um, so I ended up teaching students, I, I taught, I offered in introduction to programming class. And the first part of the class, students learned to install Linux on all these computers. And then we learned, started learning Python, um, on these computers that students had refurbished. And it was awesome because I got to tell students, you're free to do whatever you want on these computers within school. Appropriate, um, uh, guidelines. Uh, but you do not have to worry about messing up these computers. If you mess it up and destroy it, you can just re-install annex, rebuild the whole thing, start over. And giving students that freedom is really powerful, uh, because, uh, it less than learn things from the ground up, um, and gives them freedom to try whatever they think might work. Um, so I had good success with Kelly Paredes: cool. Was that it? Was that at high school? Eric Matthes: that was at a high school. Kelly Paredes: That's high school. Eric Matthes: Yeah. Um, and you asked earlier if I've found ways to help students find that, that feeling of first making something work. Um, and that those classes, they got that feeling over and over again. I'm taking a computer that date of watched, take up space on the edge of the room for a year, lessons offer on it, make some configuration settings, um, and reboot it. And it runs. It was a great feeling. Um, and then, you know, installing the language and installing the, the software environment and then starting to write programs. It was just this steady series of, um, successes for that period. We actually had students maintaining our computer infrastructure for a year and a half is pretty, pretty cool. So school stories are interesting. A year and a half after that, our district, uh, decided to reprioritize, um, it infrastructure. And so we got all new computers and they were now all windows and they're all networked. And so they were maintained by our central office and we were no longer free to install Linux and, and do what we would with them. So it's pretty interesting to see how the, the, um, the whole practice of teaching computer science. Is influenced, um, by the it offerings of your district. So I had to rethink how to present programming. Now the district was managing all of our computers and I've kind of struggled with that ever since. Um, I think there's nothing like students learning to program on a computer that they have full administrative control over. Yeah. Kelly Paredes: that that is a, that is an interesting tidbit because some schools who don't have the one to one or they're working in, um, a district school without the right amount of funds. They have a lot of security measures that prevent students from learning in real time with real world experiences. and to think. I think the more we know, the more we tend to, and we being school systems tend to block out or shut down, which kind of inhibits what you can learn in the real world. Eric Matthes: Absolutely. And people think there's, Oh, you just have to ask permission to install this offer, and they don't. Yeah. As a programmer, you're kind of installing software every day, and if you have to take a day or a couple of days or a week to get permission to install a package, you just, you can totally derail a program. Kelly Paredes: Yeah, we'd be really, we'd be really dragging and Python because I think about all the things that we install or Sean installs. He just installed Homebrew again or opened it up again in my computer and that just, I can't imagine having to go through all, all the hoops and jumps in order to get things working. Eric Matthes: Yeah. And you know what? Another piece I think is really important when thinking about, um, teaching computer science in schools at any level, I, I have a pretty strong conviction that nobody can, very few people can learn to become really good programmers if they're not programming on their own time, on their own system. And so you can set up programs, uh, that, uh, give more access to people who don't have equipment. Um, but it's really hard to just become a good programmer on school hours. And so one of the ways I try to tackle that is to make sure that the infrastructure we're using during the school day is something that students can freely install and set up on their own systems, whether it's a system that they own or that their parents use or whatnot. Sean: That's a really good point. I mean, that's one of the things that appeals to us about teaching Python. Which is that if we are teaching.net or Swift or something like that, there's a lot of things that might inhibit you from being able to, um, to do that. Whether it's cross-platform capabilities or, you know, if I'm teaching C sharp and I'm trying to teach that on Mac, sometimes it's different than it is on windows or, and on other platforms. Whereas the nice thing about Python is it kind of works the same way everywhere. Um, and it's freely accessible. Um, obviously there are some nuances and everything, but, but for the most part, I can teach someone Python and they can go explore those concepts or practice it at home on their own computer where they've got a local environment installed. Or they could even do it in a Jupiter notebook somewhere over the web or on a website. And it's all kind of the same. Um, the same ability to practice whether you're at school or at home. Eric Matthes: Yeah. Um, you know, my journey, uh, to where I am today, uh, take an interesting turn. Um. In 2011, my son was born. Um, and that was the best experience of my life among lots of good experiences. Um, at that point, I'd been living in Alaska for about 10 years, and my parents had never come up to visit. Uh, they're in New Hampshire and enjoyed their life. They're like, my stories from Alaska had never made it up. Um, so my kid being born, um, was a perfect reason for them to come up. So they were going to come up that summer. Um, and four weeks after my son was born, my father died. And this is always an interesting story to tell because I tell it half of the smile on my face cause good things have come out of it. But it was a really hard time. Um, the reason I tell it right now is because, um, I flew back to New Hampshire with my wife and my son, um, to be with my mom during that time. And one of the things that I. End up doing my, my mom asked me to look through my dad's computer and tell her if there was anything worth keeping. Um, and you know, I spent my childhood and throughout my adult years visiting. My parents and I'd always spend time in my dad's office with him and he'd be tinkering and I'd be tinkering and I'd be looking at the bookshelf and asking him questions and he always gave me the big picture about programming. It's like when I was learning object oriented programming, I had heard about it for years, always avoided it because it sounded big and scary. Um, and at one point it's like, dad, what's the big picture for object oriented programming in his head? Oh, here's the big concepts. It's not that hard. The syntax, you learn the syntax, but here's the big concepts. So sitting in his office, looking through his computer, um, was, uh, a really personal and moving experience. But I realized that at the time that if I died at that point, um, you could look through my computer and find a bunch of projects that would never see the light of day. Um, and so my dad had bought, brought, um, a number of his projects to you to the rest of the world cause he was a professional programmer. But as somebody who had always been programming on the side, I realized there's lots of interesting work I've played with but never really taken very far. And so that experience is what made me go to pie con for the first time. Um, cause I knew I wanted to do something more serious with programming, but I had no idea what to focus on. So I had the opportunity to go to a conference of my choosing. They were connected teaching. And so I, I chose Python because I wanted to learn more about the programming community. And I thought I would feel like an outsider at pike on, cause I, I was not a professional programmer and I had thought everybody added programming commerce as a professional programmer. Um. And as happy, happily surprised to find that. I feel like when you go to pike on half people are professional programmers and half of the people are people who are really interested in another field like teaching or science or business or whatnot. And they're looking for ways to use programming to do, um, better or more interesting work in their field. So when I went to con, I felt completely welcomed within the first hour of being there. Right? Sean: Yeah, I feel it's, it's funny you position it that way because that was the same way that we felt and it was, we had a little bit of the security blanket of being able to go together. Right. So Kelly and I went to our first PI con in may, and our school was able to send both of us, which was fantastic. But it was like everybody you met was just a friend that you hadn't seen for a long time. Right. Or someone that was willing to help you out. Like you'd have a question or you, they ask you what you do and you say. You know, I'm a teacher and I do this, and they say, wow, that's so great. Have you heard of this thing? Or what do you think about this? Or, you know, have you looked at this and what are you working on and how can I help? And it was, it was a really great experience. And so the way that you've described it. You know, as this, um, confluence of people who are professional programmers and people who are looking to accomplish things outside of pure programming with Python is, is pretty spot on. Like, that was our experience as well. Kelly Paredes: And that's how we met you at our meetup, right? We had the, we had the teaching and that, I remember that it was. It w it was, uh, it was almost a humbling experience just going to pine con because, um, I think humbling in the fact of you get to you, you go there and you're afraid and you, you don't want to be this imposter, and then all of a sudden you're, you're like, okay, I'm not really a Python person, but I'm, I'm, I'm going to. I'm going to expose my insecurities and people are, people are, I'm really okay with that. And I liked that about Python community. Eric Matthes: Yeah, I agree. It's really humbling and it's also so quickly invigorating because you're humbled by all these interesting people doing interesting work, but they all tend to pull you right in and you've started to feel like, like, wow, I can do these things too. Kelly Paredes: It's true. It's true. Eric Matthes: Yeah. So. Kelly Paredes: started, you started looking at the projects of your father and. Eric Matthes: Yeah. And you know, the, the big takeaway for me from that was that I did find projects on his computer that would never be finished. Um, and I realized I was fine with that for some of my own projects, but I realized that I had learned enough about programming to do something interesting and meaningful with it. So my first bike on was just kind of eyeopening around, yes, I could, I could do meaningful work in education around programming. Um, beyond just teaching programming. Um, so as you both well know, there are so many inefficiencies in education, um, that if they were addressed effectively would have direct impact on students. Um, so I set about trying to tackle some of those, some of those, um, projects. I think a quick example is, um, so I, I was teaching at an alternative school and. With high school. If you pass every class that year, teachers and guidance counselors set you up for, you're probably going to graduate and you graduate on time. But if you start to fail some of your classes and earn partial credit in some others, um, and maybe not show up for some of your classes, um, it's really easy to get off track and it can be really hard to figure out exactly. What you have to do to get back on track and to graduate. Um, and there's a temptation in our society to blame students, blame young people who get off track in high school, but these things come from, you know, parents who are dealing with alcoholism, um, students who grew up in homeless where they, they truly don't have enough to eat. And there are some students, you guys know this well, and. I think a lot of people don't, that there's a lot of students who are, the only meals they eat are in the day are at school. Um, and yeah. Sean: It's, it's that there's the, the thing that blew my mind when I first started looking at this was the summertime starvation, right? Where students who like who their main source of calories come from, the food that they eat during the school year, and then during the summertime, they're at real risk of starvation because. That source has gone away, and many school districts have implemented programs where students can come back over the summer and get food and have someplace to eat everyday because quite literally, that's the only place where they're getting enough calories to survive. Kelly Paredes: Yeah. And what's surprising about, about this whole situation is, um, we were talking with someone who was not in the United States and they were quite shocked that there's actually systems where schools don't have computers. Schools have 70 to 80% free and reduced lunch. And we, we like to take for granted that we're a developed country and that this doesn't exist, but it really does. And there are so many issues that, uh, other teachers go through. In order to just even start to teach the curriculum. Eric Matthes: right? Yeah. And so the piece that I ended up, um, tackling, um, most high schools have text-based transcripts. And so their, those transcripts are really for registrars and office people to see where, what classes the student has taken. Um, but there also what you need to look at to figure out if you're going to graduate in what you need, um, what classes you need to take in order to graduate. So I noticed that our administrators and teachers could read transcripts, but students and their parents could not. And so most of our conferences, the bulk of the time was taken up. I'm just examining transcripts. And so I wrote a program that reads in a student's transcript and a, um, re renders that transcript visually. And so instead of having to skim through like a 40 classes to see how much science credit you have, you just see a science par. And if that bar has reached the edge of the paper, you've completed your science, uh, requirements, um, as a, it had a bar for every, every major subject area and also for the sub areas. So not as have you passed your science classes, but have you taken enough physical science, life science and whatnot? So our conference has went from 20 out of 30 minutes being focused on reading transcripts to literally 30 seconds or a minute. Reading transcripts and the rest of the time was spent making plans for how students could meet those requirements. Sean: Eric, you can't see this on on your side right now, but Kelly has this Kelly Paredes: away Sean: look in her eye and she's just dreaming of what this would be like. And our school is, and she's so happy right now Kelly Paredes: hear you describe that. Sure. You, I don't even know on which podcast, but I've been dreaming of this since I started learning Python, but with a step further. So I think I found my, uh, my man. Eric, I want this dashboard. You know, we have these systems in schools where we have all this information and we talk to teachers and we share information about Johnny and Johnny went to the nurse 12 times in my class. Did he go to your class? And he's failing this and he's doing great in this, and his parents just got separated. All this information that is hidden away. Within different clicks of a system, and I've been dreaming of this visual dashboard that everyone can just click and see what Johnny looks like on paper so that we can then put our feelings out in the open versus spending an hour talking about the same paper trail that gets lost within the computer. So you're making my heart go pitter patter. Eric Matthes: Yeah. And you know, um, my wife at one point, um. She has watched me go through this process of writing a technical book over the past five years, and one day I got an email from somebody who said that my book had changed their life. Because they'd been working in a physical labor field and they were in their forties or 50s, and they're feeling their body breakdown from a lifetime of, of physical work. Um, and they had found success learning how to program, starting with my book. Um, and the email was basically just, you know, thank you for helping me, like, find a new direction in my life that feels better. And my wife said, wow, I had no idea how much heart was in your book. Um, and I think that people from the outside think that all this programming work is very dry and technical. Um, but there are ways you can use that that really do make people's lives better. Um, and it's just, I mean, the feeling when that happens is, is like you said, it brings tears to your eyes. Sean: It's, it's programming with purpose that it's something that that. And I think that's, you know, I want to talk about some of the projects that you've done too, over the, um, over the course of your career. Because, you know, it's, one of the things that's evident to us is that the projects that you've chosen, the projects that you've published, have a great deal of purpose with them. Right? And, and that's one of the things that we're also trying to, um, share with our students, or, eh, you know. Kelly Paredes: our teachers Sean: our teachers, right? That our fellow, our fellow teachers, our colleagues, to show them that, you know, this is not programming for profit necessarily, right? It can be profitable, but it's really about finding something that has purpose, something that has meaning, that a problem that's worth solving and going out and making it happen. And, and so that's one of the things that we really appreciate about the work that we've seen you do and the things that we've been able to use, um, of yours is. This idea of programming with purpose and, and having value to it. Kelly Paredes: And, and I love this, and I can't remember where I read it. I told you, um, I, I told you I was stalking you on your old teaching blogs, which is where I think your true heart. Um. Does shine, but you wrote something and I, I copied it down. And it's not really about the code you write, it's about what problems you might be able to address if you stay interested in programming. It's about knowing what can be done with code, even if you don't stay with the programming. And I think that's something that, that Sean and I. We don't say it as eloquently, I think as you did, but I think we keep that in, in the heart for the kids. We don't, we don't really care if they walk out of this classroom and say, Oh, I'm going to program for the rest of my life, but we want them to know that if they can dream up a solution to something that's happening in their world and seek out the, you know, the people or the way, and to solve it, then we did our job. And I think that's something that's holds true. Eric Matthes: Yeah, absolutely. Um, you know, one of my guiding principles or guiding questions has been what happens if we make programming as accessible as possible? What happens if anybody in the world who wants to learn how to program. Can learn how to program. And I think Python is so much fun because the Python community has been wrestling with that question for 10 or 20 years. And so when we go to Python, we meet people from all over the world, from all different lifestyles, um, who have been building the things they care about. And it's fascinating. Some for profit, some for purpose, some premix. Kelly Paredes: And that, that, guess that leads to the, see, I quoted you a lot. I wrote down all your quotes. Um, I love this essential question. I think this, um, kind of goes in line with what Sean and I do for our 20% time, but I think we're gonna if with permission still your, your EEQ. Um, if you had infinite programming skills, what would you build? And I was wondering, um. What was like the, did you have a student do something or come up to you with a really good solution or, or idea that you were just like wowed by Eric Matthes: Um, that's a great, a great question for wrapping up this long story of how I got where I am right now. Um, my first bike on was 2012 and it was just invigorating and I went back and built some of the things I've been thinking of and started to have actual users for my. My work. So I went in 2013 and I went with renewed energy and I was building a lot of these things and ended up doing a lightning talk. And lightning talks are interesting because you don't always know if you're going to present. And so I ended up with a slot the Sunday afternoon, just before everybody's about to leave, which can sound like a bad spot. Um, but everybody's there for that closing keynote as a, I stood up and 2013 as this like random high school teacher. And gave a lightning talk about, um, how much the educational world could benefit from the open source model, not just from free and open software, but the whole model of building things in the open that we can all share. Um, and for anybody who hasn't been to her programming conference, it's such an interesting culture in our classroom. Students are supposed to be focused when we ask them to focus. Uh, you get to speak at a programming conference and like the culture is, it's perfectly okay to be on your phone. It's perfectly okay to be like, have your laptop out and working on your own stuff. Um, so I gave this talk, um, and for the first minute or two, it's like, okay, some people are looking up, most people are, are working. And I said something at one point about how. Uh, we'll never have a revolution in education as long as we have proprietary educational software. I think I said a little better than that, but Kelly Paredes: That's okay. I have the, I have the link. Eric Matthes: Um, and that was very, very satisfying and very grounding. Um, but it's also where the book came from because I'm Del Pollock, who is the, the owner of no start press, um, walked up to me after that and said, Hey, I like what, what you described. Like, I hope you build what you're describing and if you want to write a book, um, let me know. And I wasn't planning to write a book. Um. But when I went back to my classroom after PI con, I saw a poster, a handwritten poster they had put on the wall that said, what's the least you need to know about programming in order to do interesting projects? Um, and I had a list and it was like, no about variables, no about lists, no about dictionaries. Um, and that's what actually became the, the table of contents for Python crash course. Um, and that question, if you had infinite programming skills, what would you build? That's always the first, um, journal question journal prompt that I gave students in any introduction, introduction to programming class. Um, because I always found that if a student had a purpose for learning how to program, I could teach them, Hey, they had no purpose. Then the first time it got difficult, they could just say, this is too hard, is not for me. Um, so I've really enjoyed that question over the years. Kelly Paredes: I like it too. We're gonna I, I'm gonna try that. Sean always tells me, what are you gonna build? What are you gonna build? And I'm just like, I don't know my database one day, but. I'm going to start smaller, and he's been saying that to me for the past year and a half of find something that you're passionate about to build. And I keep working towards my database, so we'll see. Eric Matthes: Good. I think that's a good, a good goal. The thing that I had to do with students is they would describe all these cool things. Um, and then they want to jump right in on that level as there's interesting conversation with learners, um, to have a name, what they'd like to build, and then scale back and say, okay, how can we use that as a goalpost, um, and start to do. Interesting. Many products, um, that, that show you, that you're making steps towards being able to do that. Sean: Right. We found that that's, you know, it's something where if you can find the right starter projects, the things that, the challenges, the things that show them that they're making progress, then it feels more like a journey that they're on. Right. Does, it's a, it's not about accomplishing the big thing because realistically we w you know, in our class, we have nine weeks to teach them computer science per year. So nine weeks is pretty hard to take someone from minimal coding skills or where they've forgotten a lot of the code that they wrote the previous year, all the way through to a finished project. But we can take them on a journey where they are able to add to their knowledge, where they're making progress, that they're able to measure it, that they can see that they're the better version of themselves when it comes to programming each week and every day or, or anything that. Gives them that sense of confidence and building competence in programming that leads them toward that bigger path. And for an, our hope is what we're shooting for is that some of those students, you know, they have this bigger idea. They have this dream that they come up with and they're able to, you know, continue on that path, on that journey after they leave our classroom, that that dream is something that's more durable than just a class project. It's something that it truly matters to them and they may not get to it for five or 10 years to actually accomplish it, but it's something that sticks with them and stays. Eric Matthes: Right. It's very good. Computer science teaching is really a nice way of rethinking all of our classes. So ideally, every class should be taught as a journey. Oh, that's the, it set students up for, for further journeys, uh, people get lulled into a trap of, I'm just going to teach algebra one and when we get to the end of the book or the end of the, the units, they have learned algebra one and it should be, we're going to explore algebra one so you can use algebra in your life. Um, I think with computer science it's more obvious there. If we do it well, they're going to continue that journey. And so I think it is a newer field for teaching as well. Um, so that the mix of, um, pedagogy and computer science teaching is pretty interesting. Kelly Paredes: I, I would love to continue with the pedagogy thing, but I, I have this burning question because I remember the first day. I used your flashcards. I took pictures of my kids using the flashcards. I put little smiley faces over their faces so that no one could see it. And I tweeted out to you and you replied, and I was like, Oh my gosh, kids. The author just replied to us. And. And it was an interesting, fun, um, way of using your flash cards. But we were questioning, you know, what were your intentions with making the flashcards? We loved them. We use them in class. We like, um, using them as a language development. But what were your intentions with those flashcards? Eric Matthes: Yeah. That's a really interesting question. Um, I ended up, you know, writing the book, obviously. Um, so in packing I actually talked to my wife, um, after the. The conference in 2013 has said, I got invited to write a book. It wasn't what I was planning to do. Um, should, should I do it? Should we do it? Cause it really is, yeah. It takes up a lot of family time. And so I decided to do it, uh, with her support, um, because my lifelong goal has been to get people more and more opportunities. I mean, that's why I teach. And so I realized that if I could write a book, um. Well, take one step back. Um, when I was teaching programming, um, I was always successful teaching it in a classroom cause I know what to present and I can tweak it and whatnot. But as always, looking for a resource that I could give students that they could run with, um, and not be held back by how quickly I was presenting things. And I never found it. Um, for teaching high school, I found that every resource was either aimed at little kids, um, and like had the word kids in the title, or really clearly talk down to you. Um, or resources were aimed at experienced programmers or aimed at beginners, but made too many assumptions about what people already knew. Um, so. I didn't want to write a book. I chose to write a book because I felt like I could bring in some things I had learned from 20 years of teaching with 20 years of being a programmer and write something that would work better for people. Uh, that's been really satisfying that, that, that has played out. Um, I've gotten, I got a handwritten letter from a 10 year old. Um, this had, Hey, I learned Python from your book and thank you so much for introducing me to something that I love. Um, and I've gotten emails from Haiti, year old people saying, I've been retired for awhile and I wanted to learn something new to keep my mind active. And I've always been curious about programming. Didn't think I could do it in your book. Made it really accessible. Um, and I've heard from people everywhere in between middle school, high school students. College students, graduate students, people working and trying to switch careers. Um, and I was even surprised to find that people who know other programming languages are using Python crash course to get up to speed quickly and Python. Um, and the flashcards really started because, um, no starch had been wanting to do a set of cards for awhile. Uh, there's some scratch programming cards and those were aimed at kids and they're curious to see if, um, flashcards aimed at adults would be useful. I had a friend who was going into graduate school for. Um, biology connected with, uh, culture. And my friend had to learn R, uh, for her, her field science work. And she found it really hard. And she's like, I just wish I had a set of flashcards I could work through. Um, so I ended up telling no starts that I would, I would try to put together flashcards for adults, for Python. Um, and so I really liked them. I, Kelly, I so appreciated seeing that picture because. That was a kind of a manifestation of what I thought was possible with flashcards. But I think flashcards require a bit more understanding of how you learn and how other people learn to use them. Well. Um, so they haven't, they haven't taken off like the book has. And I'm curious to see. Kelly Paredes: Yeah, Eric Matthes: I'm curious to see if people start to find more ways to use them. Kelly Paredes: I think, I think it's one of those resources that good teachers know. Um, the way that we used them, I didn't just give one to a, to a student. I gave the flashcard to the students who, you know, I think it was like the third or fourth week of, of our quarter. So. They've only been co quoting for a little, little amount of time. And I said to them, you may not understand, but you have about five minutes to know what's on this card. Google research more, and then you're going to walk around and we're going to do a Sharon pair. And they had to go and teach two or three other students. Um. About that topic, and it really works well because we all know that if you can explain it to somebody, then you must understand it. And it was a, it was a good tactic for using the flashcards. But I, I do believe as a, as a teaching tool, it's fabulous. So it's just one of those things, you just need to know how to use it. Eric Matthes: Yeah, and I think is really interesting. Um, being at the, no Sarge booth at Python, um, that the cards have sold steadily. Uh, but not all that strong. Um, I don't think they made the great a great impression online, but everybody who saw them at the Sarge booth liked them. So when they're in front of people and they can pick them up and pull out a card and see this as a whole, they started to think about ways they could use it. Kelly Paredes: I think, I think deck cards is your next trip, you know, next thing to do and make them smaller so we can take them on the plane and we can play Python, Python learning. Ooh, a match game. Can you match the vocabulary word to the program? It's no starch press. So what I want, that's a lot. Eric Matthes: Yeah. I'll tell you, it was a really hard challenge trying to figure out how to fit meaningful information about programming onto a card. Sean: well, and that's, but I think that that's also the appeal, right? That when I hand a card to a student, they look at it and they go, Oh, I can handle this because it's just one card and, and it's so tactical, right? It's not something like, like the book, you know, we're starting, individuals are starting to feel comfortable reading through long form content. On the web, right? Or on a screen somewhere and it's, you turn the page, you move to the next one. I still like having the book open next to me while I code, but the cards, like you said, don't make a great impression online because once you hold it in your hand and you see, Oh, this is manageable, I can get this, I can, I can understand it. Then it really, it really lands well. I mean, that's where I think it works. Works exceptionally well. And Kelly Paredes: And I think books are scary for kids. I know for some reason when I give a book to a kid, they don't. They don't really know how to use the table of contents or the index. So when you hand that card, it's, it's a lot easier to deal with. Sean: with it. Nice. Well, um, Eric, I know we have, uh, we've been talking for quite a bit here, and in fact, Kelly and I have somewhere we need to be in just a few minutes. Um, it's amazing how fast time has flown talking with you. So maybe we can make this part one of many. Where we can have, uh, more chats and on the podcast, and just talk more about this shared love of teaching and Python and purpose-driven programming. I think it would, it would mean a lot to Kelly and I, if we can, um, talk with you again on the podcast and share more of your journey and your, um, perspective with our listeners. Eric Matthes: Yeah. Um, that sounds like a good idea. It's hard for me to talk about teaching and programming without going into all this backstory because there's so much behind it. And when I meet students, whether they're in person or whether there's somebody writing to me online with a question about something they're struggling with in the book, I always ground myself in how is programming fitting into this person's life? Um, and I think many of us do that. And. I know, I'm guessing the, a lot of your audiences, newer teachers who are trying to figure out, you know, how to approach teaching programming. And I think it's really good for them to, to, um, hear these kinds of stories and also look at, uh, what their own story is and share that with students. So I'd be happy to come back and how I was backstory done and just talk about, uh, teaching and learning in Python itself. Kelly Paredes: Yeah. So, so part two is, is teaching projects with Eric Mathis Sean: we're calling it now. Okay, good. Well, I know it's a bit more of an abrupt, uh, finish than we were thinking. Uh, but again, Eric, thank you so much for joining us. We really enjoyed it and appreciate having your, um, your beautiful mind on the, on the program with us. So thank you for joining. Um, we look forward to the next time we get to speak. Um, so we're going to wrap up here and say, for teaching Python, this is Shawn. Kelly Paredes: and this is Kelly Sean: signing off.