Kelly Schuster-Paredes: [00:00:00] This episode is brought to you by real Python. We love real Python and we use it in the class every day. Stay tuned for more information about real Python later in the show. Sean Tibor: [00:00:22] Hello and welcome to episode 37 of teaching Python. This is problems behind the scenes. While teaching Python. My name is Sean and I'm a coder who teaches Kelly Schuster-Paredes: [00:00:32] and my name's Kelly and I'm a teacher who cuts. Sean Tibor: [00:00:35] So Kelly, welcome back. It's been a couple of weeks since we've actually done a recording. Kelly Schuster-Paredes: [00:00:39] Yes. Not that we haven't been trying, but you know, the new quarter and everything kind of. Gets interesting at this time of the year. Sean Tibor: [00:00:46] Yeah. It's also that old adage, if you first, you don't succeed, record again, wipe it out, record again, wipe it out, record again, wipe it out. And you know, sometimes like you don't get to see behind the scenes of what happens with our podcast. What you hear is the things that we published, not necessarily all the things that we record. And we've had quite a few recordings that we've gotten kind of midway through and said, you know what? This isn't working. Let's do something different. I think, I think this is the definitely the right one to release. So I feel lucky Kelly Schuster-Paredes: [00:01:14] that me too. And it's a good thing cause we're going to be talking about problems that we experience in the computer classroom, the ones that people don't see. Sean Tibor: [00:01:22] Yeah, it's, it's interesting. And the ones that the students don't see, we can anticipate them, we can see them, but the students don't see the way that we deal with them or the way that we approach them. So it's kind of a cool topic that I think will be rather interesting. Kelly Schuster-Paredes: [00:01:34] Let's start on a positive note. Let's go on the wins of the week though. Sean Tibor: [00:01:37] I always do that. Okay. Yeah. Good. Good call. Let's do the, let's do the winds of the week, so there's something positive that's happened inside or outside of the classroom. And Kelly, I'm totally making you all go. You go first. Kelly Schuster-Paredes: [00:01:46] Okay. Well, we have a, when we are going to SD, it's going to be our first presentation at SD. Kind of pseudo under teaching Python. We're going to talk about jump-starting the curriculum and yeah, we're going to se Sean Tibor: [00:02:01] very excited. So Anaheim in June, it's the international society of technology educators, and we will be talking about Python and jump-starting it in your curriculum and in your classrooms. So if you're going to be there, we'd love to see you. I'm also going to be at PI con for a single day. In April, I'm going to be flying in Friday night and leaving again early Sunday morning because we have an innovation Institute that our school runs every year, and Kelly and I are both involved in running that, but also keynoting the second morning of that event. So we're going to be rather busy over those few days. Kelly Schuster-Paredes: [00:02:34] Yes, and Sean handles jetlag better than I do. I'm helping to get some organized there. So lots of things going on. PICA on SD and innovation Institute, and Sean Tibor: [00:02:43] all I need is a pillow and a blanket for like 20 minutes in the back corner and I'll be fine. Kelly Schuster-Paredes: [00:02:49] Okay, so our episode. Wow. All right. But wait, you're one of the week. What does that, Sean Tibor: [00:02:54] you know, I was trying to think of what the win of the week would be this week. There's been a lot of good things going on. One, it has happened last week and it was the. And just after the end of the quarter. And we had a student that I think I mentioned on an earlier podcast that you know, really was at the beginning of the quarter, was a little bit apprehensive about how well she would do in a programming course. And she said, you know, mr Tibor, I'm, I takes me longer to read things and everyone else, it takes me longer to get them. I have to go slower. And I said, well, I think that actually will benefit you in this case because your ability to go slower and really understand what you're doing and think it through and trying to understand what you're reading and how to apply that will serve you really well when you're actually turning that into code and solving problems. I said, so don't think of it as a difference in your learning, but think of it as a superpower one that you can take advantage of and. She really took that to heart. She worked the entire quarter really, really hard, and she was not the fastest person to figure everything out, but she never stopped. She never gave up. She kept plugging away. Biting off little bits and chunks of the code and solving it all the way through. And it was really just a joy to watch her code by the end because she had all those really great habits that I love to see in coders where they're, you know, paying attention to the details. They make mistakes, they self correct, they talk their problems through out loud. It was just really cool to see her develop as a coder this year. When she thought that it may be something that she wouldn't be good at. Kelly Schuster-Paredes: [00:04:23] And it's so great. Cause I think once you get that hook and you have that person that starts to see past their learning differences and enter the code, she's, she's going to come in, she's going to come back and she's going to remember that moment. Sean Tibor: [00:04:34] Well I told her she has to keep going. Like she can't stop now. She has to keep going because I said, I think you've got the right behaviors, the right habits, the right things that you do in the way that you think through problems where you would make an excellent, yeah. Coder, no matter what your chosen profession is going to be, so please keep going. Kelly Schuster-Paredes: [00:04:50] Yeah, it's going to be great. I think as a teacher, you get that one student and that's that one student that kind of gives you hope in those, in those not so, you know, not that are hard times, but some of the times when we just get frustrated as a teacher, you kind of hold onto that, that one student celebration and you enjoy that, right? Sean Tibor: [00:05:08] Yeah, and I always enjoy more the. Experience that the students have where they don't think they can do it, and then they pull it off much more so than the students that are naturally gifted. And I love working with the naturally gifted students. I can like help them go further. And it's a challenge to keep them, you know, challenged and motivated the whole time. But the students that. Are really engaged. And the my favorite ones to see are the ones that go through that transformation from, I don't know if I can do it to, wow, this is actually pretty cool. Kelly Schuster-Paredes: [00:05:39] Absolutely. And that actually cut ties into what we're going to talk about trying to talk about those problems that we face in the classroom. The things that we kind of get a little frustration out when we talk about, um, when we're planning or when we're discussing how our, how our lessons went and we have. About five problems that we've listed and things that we're doing or trying to do as solutions. And we're kind of seeking out other, other feedback from our listeners on what they do to solve these issues. Cause I'm sure they're very common. I'm hoping they're very common. They're not just our students, they're common in the other competing classrooms. Sean Tibor: [00:06:17] And we also see these happen in the workplace too. So that was one of the things that I. I recognized about these. A lot of these issues that we face are issues that you find regardless of age level and experience. It depends on the person. It depends on the place you're at. And it depends on the level of learning that someone's doing. If they have a lot of learning going on, a lot of these problems could actually come up in the workplace as well. So if you're mentoring someone or if you're managing someone and you see some of these issues come up. Here's some things that we've done that work in the classroom. Maybe they also apply in the workplace or vice versa. If you've got ideas that have worked in a corporate setting or developer team that you can share back, maybe it's real useful in the classroom too. Kelly Schuster-Paredes: [00:06:54] Absolutely. So diving in problems we face. Sean Tibor: [00:06:56] Yes, we've got five and what? We'll just loud all five first and then we'll go through them in order. The first one is how to keep up with the naturally gifted, how to keep them learning, how to keep them challenged and engaged. Second one is how to develop the vocab that allows students to solve problems. So if you don't know what you're trying to say, it's really hard to get help losing students when we code together. So the students that fall behind or get distracted or get confused, how do you make sure that they come along with us as the kids straggling behind on the field trip, he still gets to see everything, but if all of his time is spent trying to keep up and trying to stay with the group, he's missing everything that's going on around him. Or her. We have kids that get stuck in the turtle module. They just love it. They are lost in there. It's like Willy Wonka's magical, you know, chocolate playground for them. They get to go in there and enjoy all the candy and delight of the turtle module, and then they never leave. Okay. And then finally, number five, getting past the frustration level. So we find that kids quickly build up a lot of frustration in their coding. And then what we see is that that tension, that frustration gets immediately released as soon as the student has that click, where they get it and it makes sense to them. It's like, ah, that big moment of relief. So, Kelly, I'm going to let you describe the first problem because this is really not just a computer science issue. This is a teaching issue, right? This is Kelly Schuster-Paredes: [00:08:17] cause I'm naturally gifted Sean Tibor: [00:08:20] at teaching and pedagogy. Sure. They're definitely more gifted than I am. So I'm going to let you kick this one off. Kelly Schuster-Paredes: [00:08:29] Sorry. It's, it's one of those topics that this is why it takes us three times to record. So the first problem is the naturally gifted student, the student that comes into your classroom that has been coding for the past two years, knows the basics. Not necessarily an a star coder, but it's very comfortable with. That area, whether they've been using scratch, whether they've been coding in Python or they know another language, and I'm assuming this happens in a lot of roles. You always have that one student who is a confident coder or that two students even, and it's hard to keep up with their learning or to promote their learning or push their learning at the same time when you're trying to teach beginning steps. And in the, in the school world it's called differentiation and differentiation is, is easy to do for multiple learning levels, but when you have a student that's just. Just further along, at least two years pass where you are. It does get a little bit difficult. So we say that a lot. And as a new teacher, I can imagine that's also difficult to do. So should we develop that problem more? Do you want to expand on that before I give my solution? Sean Tibor: [00:09:39] Some of the conversations we've had, the behind the scenes part of this is, you know, I can keep up with the gifted coders, right? Like there is not. Often that they stumped me because I've been there before and I don't know that this is necessarily kids who learn faster in this case. A lot of the times that I encounter this, it's not just kids. It's not kids that have learned this at a faster rate. It's the students that have already covered this ground. They learned it. A while back for whatever reason. And so we're just going over stuff that they already know and we're recapping rather than forging new territory. So a lot of the things that I'm looking at with those naturally gifted students is how do I keep them challenged, engaged? How do I give them stuff that is sufficiently advanced enough in terms of a coding challenge that they have something new, some new ground to cover, and they may not actually go that much faster at it, but it's something new and challenging for them to sink their teeth into. And the corollary to this, the the other part of this that's challenging for as a new teacher is how do I keep those students engaged? While at the same time I'm helping the students that are not moving along as fast? How do I make sure that they're getting the right level of attention when I'm giving more of my attention? The students that aren't getting the basic materials that they need in order to move forward. Kelly Schuster-Paredes: [00:10:51] Okay. So it's a two step problem. So we have the child that comes in, maybe they're great students, they still participate in there, they're wanting to answer questions, or they're just an avid learner, or they've learned the Python and they are goofing off or not engaged in learning anymore. So one thing that we've done is we've provided a learning space that's flexible. We provided the opportunity for a student that is knowledgeable in a specific area to move away from the teaching environment, to go off to the side to either even go outside and code and piece or just to get a little bit outside of the direct teaching area. So that's one of the strategies that I use. Another strategy that Sean and I like to use our books. It sounds silly, but we have almost every possible book that could probably interest a student. In relation to Python and most of the time when I have a student that is, that knows the subject that I'm teaching, or at least, and I'm not talking about a child that knows one or two days or a couple of weeks ahead, I'm talking about a student that is clearly in a whole grade level or two. Above my curriculum. I will provide them with a book of their interest and we have the gaming book, or someone was interested in HTML and we handed them a flask book or a request, and it's something that, you know, if you give them a book, they're going to start to follow it. Sean Tibor: [00:12:20] Yeah. Because it's something that's interesting to them, right? Because it is that new territory that they have another wise covered. So the books work really well for that. I think challenges sometimes work well also, although we haven't used those as often. So being able to give kids like a pie bites challenge or some sort of coding problem that they have to go figure out is also a good way to kind of keep them. Them learning and keep them leaning into their coding rather than kind of relaxing. Like if we're covering the same ground that they've already seen, they're kind of leaned back there. They're disengaged because it's like, I know this stuff. I don't have to pay close attention. I don't have to think that hard cause I know it really well. And if we start to engage them with the books, the challenges, the coding problems, the things that they haven't seen before. Then they start to lean forward and go, wait a minute, this is cool. Kelly Schuster-Paredes: [00:13:05] And that's something you have to be aware of too. So I know that this particular student that just have this just happened with this quarter, I know that they're not going to know a lot of the features of the new, of new Python, of Python 3.8 and for example, F strings as in the middle of teaching. I said, excuse me. You know, we're about to teach AF strings. Do you know those? No. Okay, well, this is the time where. In a lesson, we're talking about variables, we're talking about printing them out and data types. This is how you do an Estring showed at one time. He's like, cool. It goes back to working, Sean Tibor: [00:13:37] right? And that really helps the getting, you know, getting them engaged when they see the new stuff. So this is as much about providing new information and new content for students to learn as it is about keeping pace. Kelly Schuster-Paredes: [00:13:49] And then number three solution that I sometimes have. For example, I'll have the students go through the tinker homework that we use. I have a cha, I have a student that's already completed the nine weeks of homework of tinker because it was fun. He was sick one day and he spent eight hours completing all of tinker, and instead of giving them tinker to a one or having to push more Python, I said, okay. Do you want to learn some HTML? And he's like, cool. Yeah. So giving them another option, another language, so that will help benefit Python, I think is another solution. Sean Tibor: [00:14:22] The other thing that I was thinking about too is the incentive program for kids who want to go further or want to explore new areas. Because if your code, you're not, you're coding. If you're. Curriculum and you're grading your assessment framework only covers a certain scope of knowledge. When kids go beyond that, suddenly they venture into the realm of the an gradable right, because it's not really fair. How do you grade them on stuff that they've gone beyond. Right? And at the same time they already made the other stuff really easy, right? So what I started to do is thinking about how can I incentivize them, and I know it sounds silly, but I have a bunch of these get hub education stickers that we got from the get hub education program, and I think they gave us something like 120. Different stickers that are all adorable and fun, and they work well on laptop lids or on water bottles or whatever. And I just promise them, Hey, if you finish an extra tinker lesson, if you go beyond or if you try something else, you can earn extra stickers, you know? And they're really fun. I showed them the sticker that I have, and they all got really excited about that. And some, it's not expensive. It doesn't change anything in terms of their ability to do this, but suddenly it was like, Whoa. This is cool. Like I can, I can earn stickers. It's badging, right? Yep. So I guess a plea for help. If you are a developer or you have a product or you have something that's kind of cool and has a fun sticker, send it our way and it'll end up on a kid's laptop lid. If they'd go a little bit further, Kelly Schuster-Paredes: [00:15:43] it sounds good. And then we'll tweet it out. Exactly. So probably number two, this is something has been one of our, in the back scenes, laughing and giggling and stressing. And, and. Not cursing, but releasing some frustrations about developing a vocabulary that allows students to solve problems. One of the issues that we constantly have is a kid coming up and literally saying, I'm so confused. I don't get it. I don't understand everything. I hate coding. And I'm like, what? So I always call on shot Sean Tibor: [00:16:16] and then you ask them like, well, what's your actual problem? What do you want it to do? And they say, I don't know how to explain it. Right? It's, it's not that they don't know what they want to do, they just don't have the words for it. They don't have the vocabulary and realistically walking into a computer science classroom at any grade level, whether it's middle school, high school, lower school, college, going into the job market, there is a barrage of new vocabulary, right? Like as a firehose of jargon that you're going to have to learn and understand. And. It's really PR. It's a really precise field with really precise words for certain things. And if you don't know that word, good luck Googling it. You're not going to get the right answer. You're not going to get the right help. So how do we help them develop the vocabulary for this? And a lot of this is practice and repetition and implementations. They have to apply the vocabulary, they have to use it. I make sure that I try to speak in a very precise way and use. The right language. So I never say adding strings together, or actually I correct myself all the time when I say adding two strings together because we're not adding word joining or we're concatenating. So these students need to hear us use the right vocabulary and explain the vocabulary. We had an assembly today where someone said, use the word maladaptive to sixth graders, and I said. I don't know that they're going to get that right. I'm not sure that they're going to understand what maladaptive means because I probably have to look it up. Right. How is a sixth grader supposed to know what you mean? And so one of the things that we spend a lot of time doing in the classroom, and it's tedious and frustrating, especially since we do it over again every nine weeks as we have to teach vocabulary. And we don't really want to go out and have quizzes and vocabulary tests and things like that because it's kind of annoying. So one of the things that we do to solve that. Is in class quizzes, so we'll use a Kahoot. We'll use some sort of Quizlet or something. That is a fun way for students to understand the vocabulary and there's no grading. It's not a graded quiz or anything like that, but it does give our students a way to kind of practice and see vocabulary words again in a way that's really fun and engaging for them. Kelly Schuster-Paredes: [00:18:21] Yeah. And another, and another. Solution that we do is we model, like Sean was saying, modeling the words while we're teaching, but also modeling when they come and ask the question. A lot of the times student will come up and say, I don't get it, and what don't you get? I don't get this problem. What about the problem? Never giving them the answer, but always answering their questions with the question until they finally say this thing is what I'm confused about. Oh, you're confused. Confused about that conditional statement. What about the conditional statement? Are you confused? And helping them to use the vocabulary to pinpoint where they are having errors or where they are lacking information and again, developing that language in order to communicate properly, not only to the computer, but also to the person that you're seeking help from. Sean Tibor: [00:19:13] Yeah. And the other part of this, I think you have to be really careful as a teacher and probably as a manager or coach of someone who's learning a lot in a very short time, is it's easy to feel dumb if you don't know the right words. It's really easy to feel dumped Kelly Schuster-Paredes: [00:19:27] ordering beer in Spanish if you don't know how to Sean Tibor: [00:19:29] services. Right. Sorry. So, you know, that's one of the things I tried to teach myself in every language is like, how do I order a beer? Where's the bathroom? Kelly Schuster-Paredes: [00:19:39] Right. Sean Tibor: [00:19:40] Oh, right. Okay. We're talking about Python. Okay. So, so if you don't know the right words, it is really easy to feel dumb and feeling dumb. Is like the surest way not to feel like you can make it or to start to defeat yourself if you feel that way. And that's one of the reasons, and this is like a fascinating thing about sociological cultures and anthropology of subcultures as that subculture is often use jargon to exclude people. Right? So it's used to identify the people who are part of the group. So as a teacher, as a coach, or as a mentor, you want to make sure that your language is still inclusionary and that it's no big deal. Not to know a word, that that doesn't mean that you're not part of our group, and that everybody has to go through that. So if you're thinking about. You know, the way that you respond to someone when they don't know the word, make it something that's like, Oh, we learned that new word together. Make it a positive. We, you know, together we learn this. Let me show you something about this so you can be a part of this too, and next time you'll know what to ask for. Right? That's a really important thing and I think that that's probably worth further exploration in terms of like people who have found it hard to enter programming. Jobs, programming, culture, technology, technical fields. A lot of that is probably just by things as simple as the language that people are using and the culture and the way we use language to exclude people and make them feel dumb. And so we want to make sure in a teaching context and actually in any context that we don't do that. So it's a really delicate area and I can't say that I always get it right, but I'm practicing how do I use more positive inclusionary language and make the experience of learning these new vocabularies, something that should be celebrated and inclusionary rather than something that makes people feel dumb and excluded. Kelly Schuster-Paredes: [00:21:22] Excellent. Good point. Another way just to shift gears or keep going with that as another way that we use it, we try to, we haven't quite made them yet, and we keep saying this, maybe this will be a goal, but. Put some anchor charts up that will stay up as stationary items, but we use our whiteboard walls. Our whole entire classroom is a whiteboard area, so we tend to leave things up for the entire quarter. Right now, I'm making a list of the functions and the concepts that the students are learning and we learn it. We play with it. We discuss it, we write it down, and then we quiz quiz in a very loose sense. Challenge have challenge opportunities where they can make their own code based on the code that I've made, and we use a vocabulary. So putting that vocabulary listing up on the wall, having something for them to reference. We also use Eric Massis is flashcards for that. Sean Tibor: [00:22:16] And his cheat sheets. So the nice thing about the cheat sheets is that they're electronic. They're a PDF. So I've posted those on our Schoology pages or e-learning system so that students can quickly go find the cheat sheet that is most helpful to them. Kelly Schuster-Paredes: [00:22:29] So I think that's, that's, uh, our solution so far on developing the vocab. Allowing the kids to solve problems. One of the other things that we have issues with are losing the students during our code alongs. We have code alongs. We feel that code alongs are the time where the kids can feel successful. It's kind of cool. We have some good programs going. We, we tend to make variables or programs based on things that they like. I know Sean does it a lot and gets. Gets to show off his other interests like history and other weird facts, and the kids love it, but sometimes Sean Tibor: [00:23:01] we, most of the kids Kelly Schuster-Paredes: [00:23:02] want us, the kids. Sean Tibor: [00:23:02] Some of the kids love it. I'm not sure, but some of the kids love it, I think Kelly Schuster-Paredes: [00:23:07] anyways. Sometimes we lose the kids on code alongs, not because they're bored, but because we have to consider learning differences. Sometimes students looking from the computer up to the board, back to the computer, back to the board, not typing fast enough. We lose them during the code alongs. And one child can copy and paste and type quicker than the other. And it's sometimes slow downs slows the momentum down. Sean Tibor: [00:23:31] He has true, I actually, one of my favorite comedians, Mike Birbiglia has a great bet about this. Kelly Schuster-Paredes: [00:23:36] Again, random fact Sean Tibor: [00:23:37] go random fact, but, but he has a great bit about this cause he's, he's kind of the person who says, I was never a great student. And he's like, and here's the reason I was never a great student is cause we'd be reading, you know, the story of Peter rabbit. Right? Or Pete Peter cottontail, it'd be Utah. It'd go along and say, well, you know, Flopsy Mopsy and Peter where the bunny rabbits. And he's like, and I'd be sitting there going like, why is the other two named Flopsy and Mopsy? And then Peter comes out of nowhere. Like, is he the serious child? Was he the one that's like destined for law school? Like Peter's like going to be the bank, or someday while Flopsy and Mopsy are just doing their bunny things. And like, how did he get chosen to do that? Like they knew him at birth, how did that happen? And he's like, and while I'm thinking through all of those other things and all those other questions that I have, everyone, yeah. This is reading the book, right? So it's not that students aren't paying attention, they're not goofing off. It's that we all think and learn about things differently in the way that we engage sometimes leads us off on these really interesting tangents. But if the goal of the. Of the Kodo longest to stay together and help everyone feel successful. It's hard to do that if you're always bringing yourself back from a tangent. Kelly Schuster-Paredes: [00:24:39] Absolutely. And just thinking about as a teacher, the visual processing, so there's sometimes visual processing disorders. If you, and this happens in adults, it happens in children, but this ability to. Process the information visually and process it during your heads. Maybe, maybe you are going off on a tangent. Maybe you're, maybe you're making connections outside, so yeah, you want to find out your, say your solutions to this code along, because I have still, I'm still working through some of them. This episode was sponsored by real pies on, I use real Python all the time for things in the classroom. I just recently use real Python for learning about the difference between sorted and dot sort and Python. I really love the way that they have videos that you can follow and they're chunked into small information and I can go through and learn about the complexities of each method or function within Python at my own pace. As a teacher, especially a teacher learning Python, I fully recommend using real Python to learn about Python or to help your students learn Python. So Sean, what does real Python do for our listeners? Do they have any special offers? Sean Tibor: [00:25:49] So real Python has a special offer for our listeners where you can get a free access to their video course that introduces you to all the new features of Python. 3.8. Actually, if you go to real Python's website, real python.com/teaching Python, you can sign up and get free access to that course as a listener of teaching Python. Kelly Schuster-Paredes: [00:26:08] That's amazing. You should go check it out. Sean Tibor: [00:26:11] Yeah. So I'm, I'm always looking for the cadence of the code along, right. Well, what's the pace at which we go, where the natural pause points, the places where I can walk around and look and see how the students are progressing. I check in with each of the students, so I'm looking in to see if they're paying attention, if they're actively engaged. If they're gazing off in thought, if they're hitting the WASD keys on their keyboard repetitively, indicating that they're playing a first person shooter game. You know, I'm always looking for how are my students engaged in the lesson that I'm teaching. And it's challenging sometimes in our room because our kids can sit kind of anywhere they want in whatever direction, as long as they can see the board. And that means that I end up walking around a lot. I didn't realize. I guess I knew, but I think the only people who spend more time on their feet every day are nurses versus teachers. Like teachers are always walking around, checking in on every student asking questions, how are you doing? How's this going? You know, how are you progressing? Are you confused? And that sort of approach of making sure that all the students are coming back to certain anchor points at a regular frequency, a regular cadence during the activity of the code along really seems to make a big difference in getting people to come together. Kelly Schuster-Paredes: [00:27:16] Absolutely. One of the things that I tried with my new seventh grade class is I like to present the issue, present the problem, present the thing that we're going to code along, set the stage, kind of pre-teach it, and. Give them a few code lines or some variables or some, some vocabulary to work with it. Again, we're working with basics and again, at the first, so for example, I will say something like, okay, we're going to do the basic rock, paper, scissors. Please don't Google it. I want to see what you can do with conditional statements. We learned if LFLC other day, and if we set a variable to to this, what could you do with it? So I preload. And allow them a couple minutes or five minutes depending to try to get something out on their papers. So before I do a coat along. And show them they've already got the eye, the ability to process. So that's something that's working for me. I tried to stop a lot of the times and preload some information or give them some hints and see what they can bring out. Sean Tibor: [00:28:19] Yeah, I've noticed that that's been really effective for you. So we're teaching almost the same content at the same time right now, and I've noticed, it seems like your kids seem to be getting it a little bit faster without approach, whereas I'm taking more of like an a. Expository reveal, right? Like we'll start in one place and I'll know where we're going, but I'm leading them there and I find, I think that setting the stage for them at the beginning gives them a better goal in mind. It's a little bit clearer outcome for them. And so I think that's working better for you this quarter. And I am looking forward to trying more of that. The next time I do one of these code alongs, Kelly Schuster-Paredes: [00:28:51] we teach each other stuff. He taught me how to make a break properly and my function. Okay. Number four. Gosh, you know, I hate to complain about this. I really do. I hate to hate to be the the, that one teacher. This student just won't stop. And I actually said this to sh to Sean the other day. Oh my God. The student will stop drawing things in turtle and he's got iterations. He's got these crazy graphics he's got, you know. Beautiful scenery and I'm just like, you got to stop. You've got to leave turtle. You got to explore something new. And Sean's like, why? Sean Tibor: [00:29:28] Well it's, I had this moment this morning, my, my six and a half year old daughter was refusing to, you know, do all the things that she needs to do to leave the house before school this morning cause she just wanted to play. And as a parent I'm kind of torn. Do I want her to play. Or do I want her to get things done because there's value in play, right? There's a ton of value in play and creativity and exploration, all these thought processes that can really lead to some special and amazing things later on. So I think the bigger warning sign for me, when we talk about specific modules or like comfort zones for students when it comes to their coding is not so much, are they stuck in tinker? It's more, are they learning anything new? Are they doing anything else to try to get. You know, to grow their knowledge. So if their turtle knowledge is to continue to draw boxes and lines and things like that, that are the same thing they've been doing, just more of it, there's a point where that has less and less value for them as a learning. But if they go into. Into the turtle module and they're like, well, wait a minute. I want to reuse this code. Let me turn it into a function. Or I want to start making some parameters here so that I can, you know, change the size of the shapes that I'm making. Or I want to iterate on this. So I want to do some loops, or I want to try different ways of applying the concepts that I'm learning. Elsewhere, back to my term, masterpiece of a turtle drawing. Right? Then turtle is a great place to be, right? Because it's highly visual. They're highly engaged, they're motivated to learn. But to your point, it's that are they actually growing? Are they moving beyond just the basics of turtle or are they stuck in that. That road or that rut of what they know how to do really, really well. Kelly Schuster-Paredes: [00:31:08] And that's, that's the fine line. And you've got to tread that one carefully because you don't want to switch them off. So a lot of the times I'll go and I will do a quick search and come back. I did this with them. I found a really cool turtle that actually was a shooting arcade kind of game ish. And I'll try to find it again. I didn't save it, but, and I showed him, I was like. Can you make your turtle move on? Click? Can you have other actions going on there? What can you do besides doing the drawing? Here's some, like you said, some functions and I think it's that fine line. I showed one extra thing a day and then I kind of showed them a cool another library to get them hooked and saw, see if that would work. Tenant work, but Hey, at least he's still coding, right. Sean Tibor: [00:31:53] Well, I think, and that sort of goes, I mean, if you're in the workplace where you're teaching adult learners, it's the same sort of thing. It's that guy who's a master at Excel, right? Who does amazing spreadsheet magic, but he's not growing and he's not developing his capability. He just knows how to do. That thing really, really well. How do you motivate that person to expand and try something else? And what we've seen that works well with middle school students, and maybe it'll work well on your teams as well, is the ability to say, okay, this is great and I love it and I love what you've done here. How can you have it do this also? Or what about, have you thought about trying this? It's that questioning approach to help them expand that can motivate them to try new things and to explore right. Or to challenge them to go further. The other one that I like too, that I've seen you do is to limit them to say, okay, that's great, but now do it in 10 lines of code. Right? You've done it in 35 can you get it to work in 10 and that can be really, really cool because it gets them to start thinking of it like a puzzle. It's a challenge. Again, how do I grow beyond what I've got? Kelly Schuster-Paredes: [00:32:55] So the last one, I S I'm not really sure if we've successfully mastered a solution for this one, but it's getting past the frustration level, waiting on that click activity, that click, you know where I'm, Oh, I get it. Sometimes it's a fine line between a push. And, uh, and a shove, I guess. Sean Tibor: [00:33:17] Well, I, and I guess my question is, is there a point where they could click too early? Is it, is it possible to get it too fast? Because if it is, then it really, what we're seeking is the optimal time for them to go, Oh, this is great. Now I get it. Because I think there's something really important about that struggle in the frustration. And I remind my students when they. Figure something out and it clicks for them where it works for the first time. They go, Oh cool. This is great. I remind them like, remember that feeling? That's the main reason why we get addicted to coding is because it's that rush of, Oh, I got to working. Oh, I figured this out. Oh, this is awesome. I understand it. That's why we write code, because when it happens is magical and it's like, wow, I made that. I did that. That's always, that's why I code. Kelly Schuster-Paredes: [00:34:05] I have a extra added. Benefit of being in the spot that I am versus the spot where you are. Because there are many times where I'm like, okay, mr cyber, I know I'm not supposed to do this, but I give up. I need to show them how to do this, and I don't really say I give up. I say I'm having difficulty figuring out this. Can you have a new eye on it? I always say that to them more. I can't see the issue. Can you get this? And I think it's, again, using the vocabulary, showing them that I sometimes have issues with. With code and my code may be a little bit more basic than mr tubers or Sean's and, and just letting them know that, yeah, I get frustrated too. I really do. And, but I'm okay. I'm going to, I can handle it. I can, I can work through my frustration and then take a little bit of a break and get back to it. Sean Tibor: [00:34:55] Yeah, that's a really good point. And I, I think one of the interesting things about the comparison is that. Yeah. There are things that I probably do differently in the way that I write code because I've tried a bunch of other things. I've written my own projects. I've learned some, some more advanced features in Python, but I still consider myself to be an intermediate developer. Right? Like I'm still on the way up. I'm still growing. I'm learning stuff all the time and, and you know, from what it sounds like, I'm, I'm in good company. There's a lot of Python programmers who are still learning. We're all learning stuff all the time. What I tried to do is go back and remind the students that we were all beginners ones. And that just because I do something a certain way doesn't mean that's the only way to do it, or even the best way to do it. So that frustration that they're feeling, I think is also relieved a little bit when you try to let them know, like if it's working, it's a good solution. If you can make it work faster, it's a better solution. But a good solution is one that works. Right? So, and, and a better solution for, you know, the PI test fans out there is one that's tested with good coverage that, you know, will work every Kelly Schuster-Paredes: [00:36:01] time. Right. You know that Brian oncon speaking at PI con. Sean Tibor: [00:36:05] Oh, I heard that. Kelly Schuster-Paredes: [00:36:07] Sorry. I have to always say about my one big fail of not knowing what a test is. So every time he says the word test, I'm like, Oh yeah, it's not the test that a teacher takes. Sean Tibor: [00:36:16] Well, to be fair, you have been in a education and teaching environment and for many, many years where test means something totally different than what it does in PI test and software development. Kelly Schuster-Paredes: [00:36:25] Absolutely. Sean Tibor: [00:36:26] So, but I think, but I think that that celebrating those small wins, right? The things that work are better than things that don't. And if I. Kid makes that transition to go from something that wasn't working to something that is, even if it's ugly code, if it's not Pythonesque, if it's not following the best conventions or they're using camel case or whatever, like I'm not going to get down on them for that. Like it's something to be celebrated, like this is awesome. It works like good job. Right? And then I w I do like to show them like, Hey. Well, let me show you a couple of tricks that you can apply, right? So that you can write less code, right? Or that you can find a, a simpler way to do this. And it's really more like, let me help you learn just that next little thing. And the goal is that they both relieve that frustration and they don't feel like they did it wrong like that they did it the right way and they learn something a little bit. Kelly Schuster-Paredes: [00:37:15] Absolutely. And one other way that we work on this, getting past the frustration level, I think the first thing to do is to have something come out, have an output on a piece of code. I tend to tell the kids, okay, we're going to make a stage one rock, paper, scissors. We're going to make it really basic. All you guys remember, this is your, your F. Third day back in coding. After a year of not coding, we remember how to make a variable. We remember how to do a conditional statement, and we can make it have a user-friendly input, some sort of input function. So let's make it that stage one. I'm going to challenge you. Here's some options to do stage two, if you remember how to do this, X, Y, and Z, then we're going to move it. And then. They'll come up to me, what stage three? And I'm like, great, don't know. Let's think about that. What could stage three be? Maybe we'll add a score in there. Maybe we'll do a wild, true statement. And then someone could came up to me. He's like, I, okay, I've done stage one, I've done stage two. I shouldn't say just three, what stage four? And I said, surprise me. So once they have that working code, it helps. And if you tell them that, you know, my expectation is for you to get to stage one. And anything past that is pretty cool. Then that frustration level kind of tapers off a little bit. Sean Tibor: [00:38:29] You know, the, there's also a good point about that. The way that you've structured it and laid it out for them makes it easier for them to see the path ahead. I think it's really frustrating if you don't know where this is going or you don't know that there is an end in sight. And so one of the things that we like to do is to have smaller checkpoints, smaller bites of code. I know I can get this working. Let me code that, code it out, test it. Yep. It works like it does what I want it to do. It's a lot easier to feel successful if you've had 10 or 15 little wins along the way than trying to write a bunch of code. And figure out why it's not working and have to go through 10 or 15 different errors along the way before it works for one the first time. Kelly Schuster-Paredes: [00:39:10] Yeah. I wonder if you know this, that rapid design process, this whole design thinking, rapid design process that, that we take. I think that's how we get our kids to go so far in such a little bit of time, because it's just a constant repetition, constant addition onto something that they already know. Sean Tibor: [00:39:26] Yeah. So in, in software development, it's called agile. Development right is one of the, one of the main methodologies, but this idea of having like highly iterative designs and implementation cycles so that you can quickly push new features and quickly incorporate new code that's while tested works really, really well. And there's, you know, there's other methodologies too, but we're kind of putting the Provo, you know, the protoplasm MC version of this out there by getting to them to see that they don't have to write all the code and then try to figure out why, why it's not working, that can be frustrating for sure. Anyone, right? And at any skill level. So it's always better to write a little bit of code and run it and test it and work the kinks out and then ha, and then write the next bit of code on it because you can always add to your code and make sure that it's working. Kelly Schuster-Paredes: [00:40:11] Absolutely. So speaking of kinks, so this episode, just to give you a little background, we wanted to kind of share with you guys that not every day and teaching Python is. Teaching Python so easy. We wanted to let you know that we do struggle a lot and our solutions are from a lot of mentoring and talking about issues that we've had in class and what works for each other, and we're always interested to hear what works for you, whether you're teaching in adult classroom or high school or a middle school or college level. I think learning from each other, learning from each other is. The surefire way to become the better teacher, the best teacher that you can be. Sean Tibor: [00:40:51] That's true. And we look outside of just computer science for this. We look at our, our colleagues in other classrooms and other disciplines. You know what, we're, what we're teaching maybe a distinct subject area, but the way that we're teaching it is not unique to computer science. There are things that we do more or less than other teachers, but there's things that we are learning all the way along. And I know that. You know, I've had plenty of times over the last year and a half since I started teaching, and as recently as last weekend this week where I said, well, that totally didn't work. Let me try something else. And it can be frustrating if you let it get to you. It can also be something that you can role model the behavior to say, well, that didn't work. Let's try something new and apply the same ideas and the same guidance that we're giving our students to. Our own teaching style has really worked well for me as I'm learning all of this. It helps me keep some sense of sanity that I don't have to know everything. I don't have to have it all figured out. And what worked last week may not work this week for totally different reasons. Kelly Schuster-Paredes: [00:41:52] Absolutely. So I've really want to share our new products. Sean Tibor: [00:41:56] Oh yeah. Was so a little bit of a bonus in here. I guess we should probably have covered this at the top, but we've got some cool stuff in the classroom that we've been exploring and playing with that we wanted to share with you. And we'll put some of these in the show notes so you can check them out. So I'll let you do the first one, Kelly, cause you've been totally just engaged in how this is working. Kelly Schuster-Paredes: [00:42:13] So everywhere out there, and I love Mike. Well let's. Backup. I shouldn't say I love micro bits. I've learned to love micro bits a lot over the past year and a half, and I get a little, and not say frustrated, but Oh, frustrated as a word. I guess that everything's done in make code. A lot of the times I've been trying to find Python and learning how to code in Python. On the computer is one thing, but learning how to code on pies, on in micro pies on, on a microbit is sometimes a little bit different if you're not a person who is strong in electronics. So I found a cool new kit, and it's from, I guess a deep where they have sent a ton of. Or put together a ton of sensors for the microbit. We're talking switches and buttons and joystick and RGB led. Sean Tibor: [00:43:01] I think there's a soil sensor and Kelly Schuster-Paredes: [00:43:03] there's a soil sensor. I think there's probably about 20 different sensors with a pen board, but the what, the one thing that I love about. This kit. And the whole reason why I bought the kit is because they have 34 lessons, 34 lessons, including photos and colluding connection diagrams. And as a new user, the bit that you plug the jumper cables and actually has it labeled so you know what the ground is, you know what H pen stands for. So when you're going to code, you know you're going to do an analog in a read or write. There's even something for the ultrasonic sensor and the code is just very clean and simplistic, and I feel very confident, comfortable about giving it to my sixth graders. And they may not know everything within the code and they might not understand the difference because we learned that the class from the ultrasonic sensor. But wow. Just, I just, wow. And I just had to do a shout out for a deep.com and their products and. Yeah. We love it. Sean Tibor: [00:44:02] Yeah, that was pretty cool. I didn't expect the labeling of the pens to make as big of a difference as it did, but once he pointed it out to me, I was like, Oh, that's so brilliant. Because usually the other breakout boards we've gotten for the microbit have numbered pens. So this is pin number one. This is pin number two, pin number three, et cetera, all the way up through like 21 or 35 or whatever it is. Right? Or 20 pens, I believe. But the problem. And I guess it's not really a problem. And how I saw the, the labeled breakout board that you had, is that. You can never remember, am I supposed to be plugging into pen 15 or pen 17 which one is it? And this way you can really clearly see it's the ADC or it's the sta S, D, a, S, T, a. Kelly Schuster-Paredes: [00:44:43] S. any of these things. So Sean Tibor: [00:44:45] they're really cool. You have so much ahead of you, right? You have someone tell you. ADA fruit's been doing this for a while, right? So ADA fruit has this labeled on a lot of their boards so that you can quickly see what each of the pins do. And I guess I took it for granted on that. It was something that everyone did, but I never thought that it would be on the microbit. And when you pulled out this board and started showing me how it wires up and how it works, it's like, Oh, that, that is brilliant. It's a small, subtle thing, but it makes all the difference. Kelly Schuster-Paredes: [00:45:12] And I think I got the kit, I think it was $60. Sean Tibor: [00:45:15] Yeah, it's not bad. Kelly Schuster-Paredes: [00:45:16] I came with a microbit. It comes with a USB cable. Yeah, it's great. We'll put the link on our show notes. Sean Tibor: [00:45:22] Perfect. So the other thing that we have been playing with in our classroom is the new pie tops of the pie. Top four is out based on the raspberry PI four and I have only gotten as far as. The setup and connection on it and playing around with the hardware a little bit to see how it works. And I got to say that it's a really big step forward compared to the pie top three that we had before the pie top two, I guess, which was the laptop version. One of the big issues that we had was that in a classroom education environment, the pie top didn't really hold up as well as the computers that we have. You know, everyone's got pretty well built. Consumer grade laptops and to go to a kind of shell computer with a lot of empty space in it, and the parts don't always fit or they're just a little bit creaky. Or, you know, the, the compromise of being able to open up the cover and put the raspberry PI in also means that the board. Right? It's, it's not, it's not the best product in terms of the build quality and things like that that we need. Kelly Schuster-Paredes: [00:46:19] It's not the best product for a classroom setting for four 60 kids to use in one single day. It is a great product. We're not going to say it's not, I love it if you're only using it at home, but for 60 kids with one pie top throughout the day, not so nice Sean Tibor: [00:46:33] can keep up, but. And that was the old version. The new version is really cool. So it ditches the laptop form factor. It's now basically a standalone little cube that's a little bit bigger than a traditional raspberry PI four and they got rid of the ability to take it apart and plug new things into it cause I think that was ultimately rather problematic. This thing is really cool. It's got a built in battery. It's got some buttons on the top of it, an old display on top of it. It's got all kinds of cool connectors on it. It's got all the same connectors that you have on the raspberry PI for, Kelly Schuster-Paredes: [00:47:09] no, this is the raspberry PI PI PI three this is the raspberry PI force. Sorry. Sean Tibor: [00:47:13] Yeah. Yeah. So the PI top four with the raspberry PI four and it has all the same connectors in it. Yeah. And it's got this battery, it's got a cooling fan. It's got a really solid ruggedized case with like nice, uh, stuff on it. And the cool thing about it is that yes, you can plug it into a keyboard monitor, mouse set up. You can also remote into it with VNC. So if your students have laptops already, they can all, they can connect. Into this raspberry pie and access all of the code, all of the programs, everything like that, using VNC on your network, and it's a much, much better setup than what we were seeing with the, the laptop form factor from the buy top too. Kelly Schuster-Paredes: [00:47:53] Yeah, and I love their little marketing, the bento box, the metal Bentall box containing 14 components. Right. So it's really cute. So the last item on our list, and I have to thank Sean, I'm gonna, I'm going to announce it and let him explain it because I just got mine and I haven't even opened it. Sean Tibor: [00:48:09] Oh, Kelly Schuster-Paredes: [00:48:09] Oh, Whoa. Okay. Well, the AWS deep lens got ours for free. It's a 200 something. Dollar product that ADF AWS has sent us. Sean Tibor: [00:48:19] Yeah. So it was something that Amazon did with educators. So if you're sign up in their educator program, you may have seen an email about this. You can get a free Amazon D plans or AWS D blends for your classroom by filling out a form and they send you a voucher code for it. So if you're not familiar with it, it's basically a computer with a camera stuck on it. It's a Intel Adam box, so it has the Adam X five processor in it, some memory, some storage, it has some connectors on it, things like that. But it's powerful enough that it can run computer vision, Lambda functions from AWS on the box itself. And this is really cool for a lot of reasons. One, you remove the latency of going to the cloud and back all the time, but it also lets you keep some of your . You know, recognition algorithms and things like that on the box itself and keep it proprietary. So you can use this little box to do image recognition. You can use it to do face detection, you can use it to analyze scenes and see what's changed in there. So there's all kinds of cool stuff that this does and it's pretty easy to set up cause it's all connected to the cloud. So you could have this sitting somewhere in your classroom and write all your code, push it to the cloud on the laptop, and it will download to the device and start working. You don't have to be directly connected to it. Cool. Kelly Schuster-Paredes: [00:49:32] Can't wait to see it work. Sean Tibor: [00:49:34] Yeah. The other thing that we hadn't talked about, and you totally forgot to add this to the list, I just remembered, Kelly, if you look over your left shoulder, there are two yellow boxes sitting on a table over there. Do you know what those are? Kelly Schuster-Paredes: [00:49:43] Yes. That's our new spike. Sean Tibor: [00:49:44] Prime. Yeah. We have the new Lego robotics kits for middle school, so spike prime is finally here. It was delayed, I think by about six months coming out, maybe five months, and we'll have to see if we can ask Lego education to join us on the show and talk a little bit about what they have in store for it at the moment. Scratch only right. Kelly Schuster-Paredes: [00:50:02] I haven't even opened again. We've been so bogged down, hence the reason why we're delayed in our podcasting, but I've opened it. I looked at it, I saw it's nice and small and colorful and maybe hopes to get more girls. Not that girls only need color, but it's a lot prettier than the gray and the Sean Tibor: [00:50:18] white. Universal gender inclusive, I guess not gender neutral. It's definitely more gender inclusive. Lots of different colors, lots of different parts, but a lot of really great hardware improvements as well. The programmable brick that we're using for the spike prime is smaller. It has Bluetooth built into it. It has a pretty cool display. It has a six axis accelerometer and gyroscope built into it, so you can actually get some sensors right from the brick itself, which was kind of a big improvement over the as of right now. . Only running scratch, I believe, Kelly Schuster-Paredes: [00:50:49] or they said, they said that it's going to be, when they announced it in April, they said it was going to be able to run Python programming, so we might not have, you know, I see some links in here, micro Python on spike prime. Some things and Instructables so we'll have to check it out and we'll let you know. Sean Tibor: [00:51:06] Yeah. But hopefully, you know, certainly by next Lego competition season, we'll have Python up and running there, but we have the boxes in the classroom. If you need yours, you can order them. They're available online. They come with this cool expansion kit, which we didn't order cause we just want to kind of figure them out to start with. But the new Lego kits are pretty cool, pretty impressive, and I, so far the build quality and the hardware looks pretty nice. We'll just have to see how they hold up after we start having a bunch of kids play with them. Excellent. Kelly Schuster-Paredes: [00:51:33] Well, we did it. Sean Tibor: [00:51:34] We did it. We got to the end of the episode without having to stop and start over or anything like that. We made it. So congratulations Kelly. I think, I feel like we've finally succeeded. Kelly Schuster-Paredes: [00:51:43] Excellent. And congratulations to you. So for teaching Python, this is Sean, and this is Kelly Sean Tibor: [00:51:48] signing off. This episode of teaching is brought to you by real Python. We love real Python and we really appreciate the support. If you'd like to support the podcast. Also, you can go to patrion.com/teaching Python and sign up to be a patron today.