Episode_124__Staying_Engaged-Sean_Tibor-webcam-00h_00m_00s_184ms-StreamYard === [00:00:00] Sean: Hello and welcome to Teaching Python. This is episode 124, and it's all about staying engaged in a world with generative ai. So my name is Sean Tyer. I'm a coder who teaches. [00:00:30] Kelly Schuster-Paredes: My name's Kelly, Peres, and I'm a teacher who codes. [00:00:34] Sean: Ah, there you go. All right. So we're often stumbling, I guess we're [00:00:39] Kelly Schuster-Paredes: It's a holiday. Most people aren't recording like at this time. I think most people are done for the year. And look at us trying to do one last one for the 2023, [00:00:50] Sean: Oh, I'm, planning to record with you tomorrow. [00:00:52] Kelly Schuster-Paredes: Oh yeah, of course. Let's do a New Year's. [00:00:57] Sean: This is a great time to, take stock on the year, I would say and think about, all that we've learned over the course of the last year and also what's to come next year. I love this idea today to be able to talk about how do we stay engaged, how do we stay sharp and excited and interested, because it's the perfect time to regroup. [00:01:15] Kelly Schuster-Paredes: A hundred percent with, ending of the second quarter. We ended this year early. Normally we end when we come back, but they ended second quarter. So it's a brand new start with a very long third quarter with eighth graders who already think their high schoolers ready to get their foot out the door. Yes, always a great time to reflect and think about how to keep these eighth graders engaged before they, go on to ninth grade [00:01:39] Sean: They'll never know what hit 'em. [00:01:41] Kelly Schuster-Paredes: nothing at all. [00:01:44] Sean: Nice. Nice. Why don't we start with wins of the week, Kelly. What's been going on with you? What's your latest win to share with everyone? [00:01:50] Kelly Schuster-Paredes: Well, thanks to you, you reminded me that my biggest win is the fact that I am at home and I, don't have to work, but crazily enough. I got up and went to the gym at 5:00 AM and I was the one of two people at the gym this morning. So I am a very strong person of routine and I believe like routine really seals the deal and going to the gym at 5:00 AM when it's open, Monday through Friday is like a thing I do. So yes, me and this other girl were dedicated and went at 5:00 AM and I went back to bed when I came home. [00:02:24] Sean: Nice, nice. I did not make it this morning at five 30 to the gym when I normally go. I was able to make it. Earlier over the weekend, but, today my win is that I went fishing with my kids and my brother-in-Law on a fishing charter, and had some nice time to just take stock of the water, the air, caught some really beautiful fish and turn them all loose again. Um. Well, some of them were shark bait. We wanted to try to catch a shark. No luck there. But honestly, just a lot of fun. Released almost everything. It was really more just about the enjoyment of being out together and doing something fun and , have some great photos. Kids loved it. I loved it. Everybody had a great time, so that was my win, was just getting away from my desk, away from my screen and taking some time to go do something fun. [00:03:12] Kelly Schuster-Paredes: It's just another hobby that is, requires patience and perseverance and changing tactics. It's like coding and being a developer. I don't know if you, you noticed that when you were out there fishing. Oh, if this doesn't work, you have to try this, and lots of problem solving when you're fishing, [00:03:28] Sean: My 8-year-old son came to me several times and said, I'm bored. And I said, good. It means we're doing it right because it's fishing is boring. Until it's not. [00:03:38] Kelly Schuster-Paredes: Yeah, it's a great, it's a great sport, but we digress. [00:03:41] Sean: Yep. Yep. But [00:03:42] Kelly Schuster-Paredes: about fishing on another [00:03:43] Sean: this will come back, this will come back later as part of our discussion today, I think. [00:03:48] Kelly Schuster-Paredes: Sounds great. [00:03:49] Sean: All right, so let's talk about staying engaged. Let's talk about, how do you keep from getting burnt out and disgruntled and tired and how do you prevent, that big Netflix binge that sucks away all your productivity and learning? So, Kelly. You've been on this, and I have to agree with you, the whole world of generative AI has really caused us all to rethink what this looks like in, in a world where you can ask a chat, GPT or a copilot, any question you want about coding, now things have changed a bit and it's affecting all of us in different ways. [00:04:20] Kelly Schuster-Paredes: A hundred percent. And I've been dealing with this, reflectively mentally for the past year and trying to find my why. I really believe in the, Simon Sinex. It's not what you do or how you do, it's why you do it. And trying to get the kids to realize why we should code without the help of generative AI or why we need to do basics and why we need to struggle through something when we can go get the answer in a couple of seconds from chat GBT. So it's been a constant. I always say it's like a seesaw battle for me, where I'm like, yes, I love it. No, I hate it. It's hard to say. It's hard to find the why when I'm back there going, oh, I can just dump this into GPT. So trying to find the motivation. 'cause we know that the learning, what we do is good for learning is good for our brains, it's good for other things besides just coding. so we know why we code. But now we need to know why we can code with generative ai, or how, I don't know. We'll see. That's what we're. [00:05:24] Sean: It's definitely interesting we've covered the pros and cons and merits as this is evolving over the course of the last year. for me, the tricky part has been how do I stay motivated? How do I stay engaged? How do I stay sharp when the answers are supposedly right over there? So what's your first tip? What's your first thought on, keeping that engagement high? [00:05:49] Kelly Schuster-Paredes: So I've been thinking about these tips of things that I'm gonna try [00:05:53] Sean: Oh, wait, wait, [00:05:53] Kelly Schuster-Paredes: the coming Oh, wait, [00:05:54] Sean: forgot One part. One. One part. So you are gonna take this from the perspective of how do you teach in a more engaged way? How do you stay engaged as a teacher of computer science? I'm going to take this from the angle of how do you stay engaged as a developer, as a software engineer? And then we're gonna see where there's overlap. [00:06:12] Kelly Schuster-Paredes: Yes. And we're, and Sean doesn't know my list. [00:06:14] Sean: That's good. [00:06:15] Kelly Schuster-Paredes: because just like us always, it could be a total bomb or it could be beautiful. I'm also was thinking to the fact of the kids are going to use ai. So I want to encourage them to use AI because I'm using it all the time. And it's funny, someone was laughing, the kids were laughing at me because I have chat, GPT and Grammarly open at the same time. So I dump back and forth and then, instead of going into mo editor or VS code like I normally do, I'm either using the Anaconda assistant or rep. So I'm jumping back between all three generative AI kind of things. So my thought process. Is to figure out how I can force the use of AI to keep the kids motivated to learn how to code. So my number one. My number one, and I think this is one of the things that as a new coder I always struggled with, was understanding documentation. So we're talking the eighth graders or other kids that are higher up, not your basic level sixth graders who are learning to code print statements or whatever. I'm talking about the eighth graders, they wanna learn more. They wanna go into, I don't know, say like flask or some other library. That's a little bit difficult to get. Into with the documentation. So my thoughts is using chat GPT to help decode documentation or a PDF AI reader. So you dump in the documentation of the URL or A PDF and you use the AI to help kids understand the technical documentation and help them how to get the specific code for that library. I'm thinking the fact, 'cause I did this when I was working with Dash, they kept giving me, deprecated code back in the early days of generative ai. And I got so annoyed by it that I dumped in the documentation from Dash, which you would think as an adult I'd be able to understand, but it's just so much. I'm just like, you use this documentation, I want to make this. I'm thinking if we can decode documentation using chat, GPT, it might help them to figure out how to get the right information that's not, maybe hallucination or wrong information. So that was my number one [00:08:31] Sean: I like that one. So instead of saying Use less ai, you're saying, use more ai but use it over here. Use it in this specific area. And I really like that we've looked at some ways to, enhance our documentation by providing a trained model based on documentation that we've written. So we write a lot of our own documentation and there are plenty of gaps and maybe things that people don't necessarily understand and you can use AI to try to fill some of those. So I really like that idea because if you trained it on the right stuff and the current version, it makes it a lot easier to get, good answers out of the prompts. [00:09:07] Kelly Schuster-Paredes: Yeah, that's, I'm hoping we'll see. [00:09:10] Sean: Nice. Nice. Okay, so my first one as a developer is to. Lean harder into your network and your relationships and your connections with others. So this is not just about getting expert opinions, expert advice. This is about having accountability. So when you're working with someone else or you are accountable to someone else for your code or for your project or whatever it is that you're building, make sure that you're accountable to someone else for delivering or doing something. And it could be as simple as, Hey, we have to record a podcast episode, so I better read the show notes before I go in there or read these blog posts and have something intelligent to say. So there's that level of accountability in there that is really helpful, especially with ai because we get so used to this rapid response and the instantaneous feedback that having accountability and anticipation helps us become more committed and more engaged, it gives us an external extrinsic reason to focus on learning something or doing something or building something. When we have that partnership with someone else, [00:10:16] Kelly Schuster-Paredes: Yeah. And that's always good because that partnership, even in the classroom, having to talk through a problem or talk through an idea or even just to talk about it, I. Because most of the kids are just like, let's just get it done. We force them to have that conversation. It is holding them accountable to the information that they've collected or are getting ready to use. That's really important. Even if they're using in the classroom, because let's face it in the classroom for me, these eighth graders are going to use chat GBT, but at least if they're using the chat GBT and talking about it. In front of the class or as a presentation or running through the code and describing it, they're holding themselves accountable to knowing what's going on in the code. And I like that. I like that one. So another one of my thoughts, and again, trying to keep them engaged with the fact that, it's more than just the coding, it's the process. I'm gonna really highlight, creativity and innovation. So if we're focusing on, a topic or an activity, get out what they can. If they want more, I, using chat GBT , to really push their levels and in a innovated way. For example, Some of the kids wanted to do, and this was in seventh grade, I watched, my co-teacher. She did this activity, they wanted to combine, some sort of drawing, tk, enter website stuff together. And they used chat GBT to help mash together these three libraries that you would never think of putting together. And it was pretty crazy and cool. And they had all kinds of things going on and Yeah, wasn't the best, wasn't the cleanest kind of thing. And it's probably, you could have done it in a, an easier library, but. They knew these three libraries from the quarter and they wanted to push 'em together. And they said, okay, chat GBT, create this using these three things. It was pretty cool. So celebrating that creativity and that uniqueness and seeing what you can do to push the limits with chat GBT. So we're gonna try that some more. I think this quarter. [00:12:25] Sean: I like that one a lot because one of the things you can use AI to do, COHI does, would do this really well. Chat GBT, is as a way to lower the barriers of difficulty. For students to make things more accessible rather than less. So for, I love the idea of combining disparate libraries together. And I'm almost picturing in my mind like a randomizer wheel that you like spin the wheel of Python libraries and it's like, okay, you have to combine TK enter or map pot lib and this stock picking app. And I, I don't know, like, um, a speech synthesis app, and have that all come together in some interesting way, and then use chat EBT or use generative AI to help, spark an idea or a creative process, or if they come up with ideas to be able to then be able to implement it because they have this AI assistant that can help them do that. [00:13:16] Kelly Schuster-Paredes: I just wrote that down because that, that we're doing, that we're gonna. Spin the wheel, the library wheel. Can you imagine you're like this crazy thing and you, maybe you have pillow and I don't know, something else, and push it together and see what you can make. That's, that's [00:13:31] Sean: Python Python Mashups, powered by ai. I like it. [00:13:35] Kelly Schuster-Paredes: Python Mashups Power powered by ai. See, this is why we, our podcast. [00:13:43] Sean: So, my next one as a developer, and this is more about recognizing that the AI can adopt different personas for you. You can instruct it, you can prompt it to adopt different personas. The early thing that I remember that was hilarious that Michael Kennedy did was like, explain the bubble sort algorithm to me in the style of a thirties gangster movie. And it adopts these different styles. It got me thinking recently that one of the most difficult things about learning to be a software developer or learning to be a teacher or an engineer is that it's sometimes hard to have people to practice the different conversations and the different interactions together. So a big part of my job is reviewing other people's code to make sure I understand it, that it, it passes and meets all the standards and that you can get it to a place where it's ready to be, shipped to production. Well, how great would it be for junior engineers to be able to practice those code reviews with an AI to say, okay. Pretend you're a junior engineer submitting code to me for review. Um, and I want you to make something that I can review with you in code and practice that interaction, so it makes it really instantaneous. You can adjust it, it takes directions really well. It also screws things up really well, so you have stuff to be able to review. But it goes into this idea of how much do we trust the ai? How much do we trust the model that's generating this? One of the difficult things is that people overtrust or under trusts the model. They either think it's completely right or completely wrong, and they just copy and paste the code, or they just ignore it completely. Why not lean into that? If we know that the code it generates may be a little bit suspect or sus as the kids are saying these days, why not lean into that and say, pretend that you are submitting code as a junior engineer. I'll review it and give you feedback on it and practice those interactions. So using the personas, aspect of the AI models to be able to practice your personal interactions with other people on the team in a low risk, safe environment where nobody's gonna see you fail or stumble. [00:15:46] Kelly Schuster-Paredes: Yeah, I like that. That's funny. So I have, somewhat similar because I always do peer reviews. In the classroom. One of my favorite , in sixth grade curriculum for me hasn't changed because it works really well for me and the kids and we always do a, a peer review, right? And they go and they,, five minutes I look at your code, five minutes, someone looks, vice versa, and then they rotate. And so they're seeing about 10 different kids. And you remember that activity, right? It's just beautiful. And the kids are really, they come about out with a credible code at the end because everyone's giving them tips. So I was gonna add a little twist on that. And I was thinking, because we're implementing a safe. Form of generative ai or we can also use repli with the youngers, the under thirteens, of doing some sort of peer review session with the AI assistants, but not on your own code. So you get your friends code, you put that into chat, GBT, you get it to explain the code and give it suggestions of how to fix it. And then you have that, you come back and you have that accountability of having to talk it out with the peer reviewer. And so you're using the I AI to review it, to help. Give suggestions for feedback, then you're talking it out and then you're applying the changes. So I thought that would be a really nice twist, and you're using all kinds of, collaboration, peer review, pair programming kind of aspect and really could build up that code to make it bigger and better. [00:17:19] Sean: Yeah, I like that one a lot. That , just keep using the tool as a way to shorten the feedback loop to make it go faster, to use it in creative ways. I love that [00:17:28] Kelly Schuster-Paredes: Yeah. And it's funny 'cause the sixth graders always have those infinite, conditionals, right? [00:17:34] Sean: I. [00:17:35] Kelly Schuster-Paredes: They're like, she just coded 700 lines of code. I'm like, yes. And she copy and paste it, about 600 of them. So look what it does in chat GPT and everyone, when I give it back to them now, they're like, what? What, it's only 89 lines of code now, and I'm like, yes. See how much time you wasted. [00:17:55] Sean: Well, and that, I think is a, a really interesting point to dig into. And this is something that is at the core of what we're talking about in terms of how to keep yourself engaged and how to keep yourself sharp and interested in what you're doing. I strongly believe that I. We become more engaged when our expectations are subverted, we expect one thing to happen and something different occurs instead. And that's a perfect example of this, where I expect 700 lines of code to be shortened to 600 lines of code. I don't expect 700 lines of code to be shortened to 70. And when that happens, my brain goes, whoa. What just happened, right? Like now I'm interested. Now I want to know. I'm curious. That sparks curiosity when what you expected to happen didn't, and something better or more interesting happened. Instead, your brain takes a minute and goes, I want to know more. And I think that's at the root of all of our engagement, both as developers and as teachers. When people have that moment where they go, wait, why did that just happen that way? [00:19:02] Kelly Schuster-Paredes: And then the beauty of it is, especially with, 11 year olds, when they see. The shorter code or the generative code, and it does the same thing. They expect it to do a different outcome, but it's not, it's exactly the same thing. Maybe a little bit more efficient. I'm assuming the time to run it, even though this is like simple code is going to be shorter by milliseconds, [00:19:23] Sean: It doesn't matter it like it who caress it doesn't matter but, it matters to them because now it's something they didn't expect to work. And it actually has, and I'll give you a hint. It doesn't matter if you're 11 or 44, right? When you see really interesting code that does something cool that you didn't expect, that's a moment where you lean and go, wow, I'm an engaged, I really wanna learn more about this. [00:19:47] Kelly Schuster-Paredes: And those are the endorphins. We actually had a talk about this in, Picon about the endorphins and how that dopamine and that release of. Excitement, that triggers you back to keep decoding. And that's the whole point of this podcast is just like, how do we get it back? I know I struggle a lot. , I'm assuming Sean does now that he does it more Full-time struggles a lot with motivation and just coding for fun. Is it my turn or your turn? It's your [00:20:10] Sean: I don't know. I think it's no, I brought back the whole endorphin thing and the subverting expectations, [00:20:16] Kelly Schuster-Paredes: So it's my turn now. [00:20:17] Sean: yep. [00:20:18] Kelly Schuster-Paredes: So then this is why, this engagement of this other one that I came up with, is to help do the endorphin building as well. And it's to give the kids cool code samples from ai, get quirky and have it create something, goofy. In sixth grade we make, I don't know, like which way stories or have it create a, a fun activity and then, have the students analyze and try to improve upon these samples. So if they have that pattern, , of the story, which way maybe they can write their own storyline on it. So now they're thinking of one, can I improve this code to do something else with it? And two, can I make it my own by changing the storyline, on adding in my own. Self into this code. And then it's just like stimulating the critical thinking, right? So you have this code and you have to figure out what it does, , and you have to change it. And then they submit both of 'em, the generated code and their own code. And you can talk about how. You use this AI generated code to make it your own. And I think that's really exciting because it, one, it allows them to just think about the creativity and the fun of what to build and not have to worry about so much about the code. But at the same time, they have to understand the code in order to change it. So it's like a double whammy. [00:21:40] Sean: Yeah. And the interesting thing about that is that the requirement doesn't have to be to make the code better. The requirement could be make the code worse, make the code longer. How could you write this in a dumb way? How could you insert errors? How could you make this buggier? We get so fixated on making code better. Sometimes the interesting learning is making the code worse because you start to recognize the anti-patterns of behavior in your code that you want to avoid when you're intentionally inserting them. [00:22:08] Kelly Schuster-Paredes: Yeah, that would be hard. That'd be a good one for you guys. That'd be good though. I can see some of the eighth graders really getting in there and trying, it's like break the code. We tell them to break the code when they're peer reviewing, how can you get it to break the code? That's another thought process. So yeah, it's a lot of fun trying to do that. So. [00:22:27] Sean: yeah. There's definitely a lot of that in all aspects of software development and engineering. A lot of what you're thinking about is what makes this code the right code to write? Is it because it's robust? Is it resi resilient? Is it fragile? And how can I make it more resistant to attack or to problems? One of the things that, I've always, , enjoyed doing with my engineers is, we work a lot with permissions in what do you, what does it something have permission to be able to do in our environment? And we always start with this baseline of no one can do anything and then add just the permissions people need. It's called a lease permissions model. And it works really well when you're developing things, but it takes longer, it's harder, it's way more frustrating. We've come up with the adage that if it's not working, and it probably should, it's because the permissions are wrong it's if you just have. The wrong permissions, it's not gonna work. So we'll often take code samples that come from the internet, that come from other places because there's another approach you can take, which is just give the, the entity that needs to do the work permissions to do whatever they want. Give them like a star permission that says Do do whatever you want. The exercise is how do you go from that star permission to just the permissions that they need and no more? And that exercise has been really challenging for a lot of us. It's challenging for me every time we do it because it's always one little thing that you're missing and tracking it down and tracing it back to the error message or the permission statement that says you can't do that and you're supposed to be able to. Is a challenging series of steps to go through, but when you learn it and you repeat it and you keep doing it, you get better at it and it becomes more habitual, more second nature. And so that's something that we've done a lot with our engineers is this exercise of take a wild card permission, star permission, and turn it into lease permissions. Go. [00:24:20] Kelly Schuster-Paredes: You've given them, desirable difficulties as adults, Sean. [00:24:24] Sean: Yep. Yep. And I tell them, oh, and by the way, you can't paste our code into chat GPT, because we're not using our own chat, GPT for this. That could leak our configuration through the model because it could be used for training, so don't trust that model. You have to then abstract it and turn it into something else if you're answering those questions, which is another level of challenge and difficulty in the process. [00:24:46] Kelly Schuster-Paredes: And that's one of the things that, I started doing a lot in the class. And there's another thing I wanna keep going, and it does take a lot more time away from the coding aspect, but it's the ethical discussions of an on AI use. There's a lot of discussion. The kids are like, no, no, no, it's not mine. I, I did it, I did it. And I said, no, I'm not mad. But that is not your code. Let's step back and let's talk about the ethics behind it. You can use AI generated code, go for it. But you need to say, this is AI generated code, and especially the code that they haven't changed. I. There's one thing when you generate a code and you're using it to put in a piece into their code and or making it their own. But when they dump the entire AI generated code into their assignment and say, I did it. No, you did not, but let's talk about that. And I think encouraging them to really analyze and approve upon samples is something that, kind of guiding them towards that developer and the futuristic goals is you need to. Think about how you're gonna develop your critical thinking. You're going to demystify this capabilities of ai and you wanna talk about strengths and weaknesses of the code that it produced. It's good code for sixth, seventh, and eighth graders. It's great code, right? But let's think about how you can improve upon it and when you can own it and exploring that ethics. [00:26:17] Sean: Yeah. And I like this path that you're going down here because. It reminds me a lot of the conversations we had early on in the podcast before generative ai and a lot of the struggles that we had about kids going out to the internet and copying and pasting code from Stack Overflow or from coding websites or going online somewhere and getting help from someone that they weren't supposed to, but literally copying and pasting the same code in and not even checking to see if it worked. Like it's just, it looked good, it looked right, but when you actually tried running it, it was completely inappropriate to the problem that was posed. And so we've talked about this about, the laziest way to teach computer science is to go get a bunch of canned prompts and use them, because if you use the canned prompts, there's gonna be canned solutions available online. Our answer at the time was, make up your own prompts. Make up your own problems that are novel and unique and interesting. And give them, to the students. That in itself is motivating, because now you have to think about how am I going to make this interesting? If I have to grade 75 versions of this, am I gonna be able to do it? Or will I need to goe my eyes out midway through? Now we're in a world where it doesn't matter if your prompt is novel or unique, because they can paste that prompt into chat GPT and get an answer. So there's a bit of the acknowledgement of that with the students and talk about what are we doing here? Why are we doing this? Is it to complete the assignments to get the grade so that I can move on to ninth grade? And say, I did it. I got my A and I never have to code again. Or is it to look at coding as, this may not be something I do as a career path or something that I want to do in the future as my primary focus, but you're going to live in a world that has AI and technology and computer science that is powering most of what we do in the information age. How much do you want to understand that how much do you want to really question what's going on and why does it work this way? Do we wanna start that here or are you gonna wait until college when it's really challenging to have someone teach it to you for the first time? [00:28:25] Kelly Schuster-Paredes: Yeah, and I had a, I don't know if it was , a woke, a a, lemme try to say a, a nightmare, but I was awake. I'm thinking, if these kids are relying on ai heavily on ai, they're relying on AI to code. They're producing stuff generated by AI and all the people who are running the AI die, who's gonna be writing the code for the future ai. So talking about these crazy ethical discussions with kids and saying, who's gonna do the jobs if all you know how to do. Is generate AI code and they're joking around. They're like, oh, the ai, I was like, yeah, the AI is gonna be running itself. Like maybe you never know, but I just think you gotta have those conversations now and it's engaging. Kids, believe it or not, love discussions and they like to argue. So that engagement of how to use AI ethically in coding, and obviously other teachers can do it in their classrooms, but for coding is just a, it's just a fun, it's a fun lesson that you can do a lot. [00:29:29] Sean: Yeah. No, it's a really good one. I like the idea of being able to have that conversation there's a joke going around right now that in order for AI to replace programmers, then users and product managers are gonna have to be able to clearly define the requirements. So we're good. We're fine. [00:29:46] Kelly Schuster-Paredes: That's [00:29:46] Sean: Um. There is a certain amount of that, what we're really teaching with us is not the languages, it's not the coding languages, it's not , the specific syntax or anything like that. It's a vehicle to the more durable skills of being able to think through problems in a computational way, right? To define problems, to solve problems in a logical, reasonable, structured way. And that part is never going to go out of style. That's not something that. Until we get chat GPT inside our heads, which is a scary thought, you're not gonna be able to suddenly use chat GPT to become a better logical thinker about creating problems, definitions anyways, creating problem definitions and solving them. You have to be able to practice that and learn how to do it in order to use AI and other tools in a better way. [00:30:34] Kelly Schuster-Paredes: Yeah, agreed. This is stems from something that you always said to me and we've said it now to everyone else, is in order to stay engaged, pick a project, that you're committed to learning about. I don't know how I'm gonna do all this in nine weeks, might not, but another idea that we're thinking about is really leaning into the real world problem solving and having. Students look at something that's happening in the school or maybe in their hobbies and figure out how they could choose a code. AI generated could be more than Python, right? Maybe they're going into HTML, maybe they're going into JavaScript, Java, whatever, and build a project. And we were talking about this being. A nine week thing, maybe this is what we do for those eighth graders that are almost out the door in fourth quarter, right? They don't wanna do anything. So get them in there, have them produce something, tell, make sure it's documented that this is AI generated code. They debug, they work together, but they're building something that matters to them. Now, whether it be like a webpage showing who I am or, I don't know. The sky's the limit. Sometimes they have really creative ideas, but knowing what they wanna produce. Is harder knowing what it should look like because they can put it in as a generated code, but it's not gonna come out the way they want. So going through that solution, thinking about what they wanna produce, how they wanna produce, it's like those new ais where you can draw out your webpage and it like produces your webpage, that kind of aspect so they know what they're producing and they have to tell the AI and work with the AI to create what they're planning. That real world problem solving. [00:32:31] Sean: Yeah. I like the idea of it being real, or at least really interesting to them, something that's relevant to them. Some of the most interesting engagement that I saw was when we turned students loose. Once they had enough knowledge and training and comfort to be dangerous. With Python, it was let's open up the Python libraries and go see what we can. Use and build and create. They came up with cool things like, I, I remember some students came up with, let's use the, a stock library, that pulls data off the stock exchange and let's make a stock picking tool out of it. It was awesome. Really cool the way that they pulled that [00:33:09] Kelly Schuster-Paredes: I remember one of those students used, it was an app, a tutorial someone had done using Twilio to code and contact their phone, and they made some sort of, almost like, a remind for, their baseball team. [00:33:23] Sean: Yeah. [00:33:23] Kelly Schuster-Paredes: on the same tutorial. They just changed it and said, here, send out a game, updates or whatever, which I thought, those are great. So you're, , that real world problem that can be done, , knowing what they wanna create. That's so hard, that's so hard for students. So if you can get a kid to, to say, this is what I wanna create, this is what's gonna look like, and then just giving them the power of AI to produce it. That's kind of cool. [00:33:48] Sean: Yeah. Yeah. My next one is similar in a way. What I really like, and we just did this a few weeks ago with my team, is make an event out of it. We're so used to everything being asynchronous, where it's like just in time and you can do it whenever, and like I'm going to spend some time later. It's like going to the gym, so this is The routine. The discipline, the schedule. I know I'm better at getting exercise regularly when I go to a gym class, when I'm registered, I'm signed up, I have the accountability, there's a time for me to be there. And I don't have to think about it. I can go there and someone will tell me what to do, lift these weights. I got it. I'm on it. But if you make an event out of your coding, whether this is personally as a teacher for engineering, for educating others, make an event out of it, something that has a start and a finish and it's got something that you are committed to doing, that you're accountable and that other people will be there. We did this a few weeks ago as a hackathon on the engineering team. I said it's gonna start at. Nine 30 on a Thursday and it's gonna end at nine 30 on a Friday. And that gives us a 24 hour window where people from all over the world can work on their hackathon ideas and projects. The only guideline was that they had to work on something that was for the platform, for the company, something that would make our lives a little bit easier, but they could work on anything they want. It didn't have to be a high priority, high urgency sort of ticket and. The level of engagement that we saw was really great because people had that, okay, this is my coding time, this is the hackathon. I am here, I'm hacking. I can clear my calendar from other distractions. I am focused and ready to go. And they worked with others and we made stickers and it was like, it was just really fun We used AI to make the stickers, which was also great. Although Chad GP t's a terrible speller, especially in when it's using Dolly, it's this, that whole idea of make an event out of it, make it something that is like synchronous, it's the, go back to the old school ways of this is the start and end times of this event and we're all gonna do it together. The feeling of comradery and collaboration and just people chatting and connecting and hacking away was amazing. [00:36:05] Kelly Schuster-Paredes: That's really cool. I just wrote that down because I love these Again, I'd say that we brainstorm a lot with this. But we're gonna have a hackathon. So automate the boring stuff with your teaching. I mean your learning as a student. So your real word problem, you're gonna, we're gonna do a hackathon, we're gonna hack something that's irritates you. I wish I could just hack, Schoology and make it dump my grades into Blackboard. I'm sure I could figure that out eventually with Chatt in some security. [00:36:30] Sean: you can. Yes you can. There's definitely a way to do that. You got a little selenium browser automation going on and scrape it from one place and push it into the other. [00:36:41] Kelly Schuster-Paredes: Yep. So as soon as we can just bypass , some authentication in there and off we go. That'll be great. So yeah, tell the kids we're gonna do a hackathon hack. Something that bothers them. I can imagine kids saying I'm gonna hack my men beam, so it does my mem bean for me, but hey. [00:36:56] Sean: Hey, you know what? If they figure out how to hack their me beam, like that's amazing too because in order to hack me beam, you have to understand what it is and how it works and like what you have to do might as well give it a try. See if you can figure that out. [00:37:10] Kelly Schuster-Paredes: Yep. [00:37:10] Sean: Do it in the light [00:37:11] Kelly Schuster-Paredes: get caught. [00:37:12] Sean: Yeah, do it in the light of day though. Don't make it something shady. [00:37:16] Kelly Schuster-Paredes: Exactly. All right, so time for one more. Let's say I have one more and I'm not sure how this is going to work. But I had this idea of debate the AI suggestions. So again, have a topic, generate codes, or even have kids generate the codes. Generate an AI code and a kid code, put it up and let them debate on which one's more readable, which one, is the best approach. Again, going back to what we did of having this discussion side by side, here's two codes. You tell me why it's good for you, because it is subjective. I know at a higher level, a developer level, people would argue, but at a kid level it is subjective, as subjective as in what they understand. So sometimes , the spaghetti code that a developer may cringe at is going to be the better code for that student because it's something that they can read. , we had this conversation about. List comprehensions. And my colleague was, she loves list comprehensions, but that's because she's like a c whatever kind of coder. I don't, she's makes sense to her. And I said, you cannot teach these seventh graders list comprehension. It's so easy. I was like, to you, people like me, I still struggle sometimes of, if, , for X fx, blah, blah, blah, on list comprehensions, I was like, these 12 year olds. Might not find it as easy as you do. So we had this debate and I said, there are gonna be people like me in the classroom, and there's gonna be people like you in the classroom. So if you're going to show them list comprehensions, show them , the six lines of code that made that list comprehension and see if the kids, which one they choose. It was a good conversation. We talked about it for about three hours, arguing about which one's a better piece of code , and again, it's subjective at our level, so I'm gonna try it with kids and see what happens. [00:39:13] Sean: is subjective, right? Like at any level it's, there are many different ways to solve the same problem. That's one of the things that is missing when students think about chat, GBT is, they're treating it like math class. Like this is the answer and even in math class, the answer is just the answer the teacher was looking for and the pathway that they wanted you to get there. But there's 17 other ways that you could solve the same problem. You could solve it by approximation, right? You could solve it algorithmically. It's the same thing with code. And a lot of times, , especially with developers, a lot of the. Discussions that we have that are the most fascinating is which version of this code is better and why. Sometimes the more readable code is the better option, because it means that more people can support it, more people can collaborate on it. Having unintelligible code that works really well is great, I think, right? But if we have to support it, if we have to, have engineers manage it at three o'clock in the morning when it's not working properly, which one's better? [00:40:15] Sean: Probably the one that's well commented, easy to read and clearer, even if it's twice as long. [00:40:20] Kelly Schuster-Paredes: Yeah. Agreed. So look, same things going on in both levels. [00:40:25] Sean: yep. All right. So mine, I think you'll agree with also, because actually I know you'll agree with it also. , my last one is walkaway. The best thing you can do sometimes is to walk away. Walk away from all of it. Walk away from the keyboard, the visual studio editor, the whatever IDE text editor demo that you're using. Local simulation. Walk away from the chat, gpt that co-pilots. Turn all of it off and walk away. Go for a walk. Go think. Go take time for yourself. Take a vacation. Take time to just not worry about it for a little while. And what's amazing to me is the longer I'm away from a problem, one of a few things happens. One, I realized that it's not that important, maybe I don't need to solve that problem. And I was wasting time and energy trying to solve something that's not really a problem. Two, I'll think of a different way to solve it. That probably doesn't work, but at least now I'm trying something new and I've got a new approach or three. The solution becomes obvious and it's wow, I know how to do this, and for me to stay engaged, what I love to do is feel like I'm making progress, like I'm solving the problems that I'm making, headway that I'm getting there, and sometimes walking away and stopping the work. Helps me get to the solution faster. So for me, my last tip is if you are having trouble staying engaged and staying interested and excited about what you're doing, walk away, take a break, take a couple days. And in teaching this means, you know what, we're gonna pause this project that we're working on for two days and we're gonna go do something completely different. Maybe it is Monty Python. And now for something completely different, we're gonna go watch Monty Python videos for the next two class periods. Something completely different so that when you come back, you are fresh, you are ready, you're excited, and you're ready to go. And so the biggest gift that. I can give to my team right now over the holidays is giving them the gift of unplugging and walking away and coming back ready to work in the new year, ready to think about problems in different ways, ready to solve things. I know for me, taking four hours and going fishing today helped just really recenter me and refocus and think about what I really want to do next and what's important to me. I don't have all those answers yet 'cause it takes time to process that downtime. Walking away is one of the healthiest things that you can do for your own, mental approach, your own mental sanity, your own engagement. And it's also one of the hardest things to do when you're right in the thick of trying to figure something out or trying to stay motivated. All you want to do is go more into it, to work harder at it, to try to grind away until you get it. It's no, just walk away and come back to it and you'll see yourself in a much different light than you are right now. [00:43:16] Kelly Schuster-Paredes: A hundred percent. I love that one. Yeah. Normally I just give them a pen, a marker, and then go draw on the wall. [00:43:22] Sean: Yeah, [00:43:22] Kelly Schuster-Paredes: a walk, go walk around. [00:43:24] Sean: you want, [00:43:25] Kelly Schuster-Paredes: Just draw it out. So, yeah. That's cool. That was a good one to end on. We gotta always remember, the walk away, it's something that I started. Building up to remember that couple 60 seconds. In the beginning of class, , we tried it sporadically and now it's something that is, a consistent, , thing in my class and the kids ask for that 60 seconds or are walking Wednesdays. Believe it or not, even though teachers think that I'm wasting time, they come back more productive. We have more engaged classrooms of that time of walking away from all their stress that they go bouncing around from classroom to classroom. So yeah, walk away. [00:44:05] Sean: Yeah, I think this is, this is good for middle school students and good for engineers. Rushing from place to place, from meeting to meeting or class to class doesn't give you the chance to be your best self and to be the part of you. Allow the part of you inside to speak. That's been silenced by all of the rushing, right? All of the, anxiety of, I only have one minute to get all the way from upstairs in the eighth grade, neighborhood down to Ms. Ty's classroom. I gotta get in there and I gotta get on time, or else she's gonna yell at me. I'm like, shh. Just take the time to let your inner voice come out. And the best way to do that is to have that break and to have the walking Wednesday. That's been one of my favorite things that I've taken away from being a teacher. [00:44:48] Kelly Schuster-Paredes: Yep. Yep. That's good. Well , that was fun. I got a lot of good hits. Ho hopefully a lot of people got some ideas for some new activities and hopefully if you've heard something that you like and you try it out in the classroom, let me know how it goes because we're all figuring our ways to stay engaged and keep the kids engaged in learning how to code. In light of, chat GBT, we are starting a new. Product I should say. Don't know if I can say it, but we are trying a , new AI that's allowed in the school. And so that's something that we wanna incorporate more. So it'll be interesting of how we can keep them wanting to still try to solve the problems. So hopefully these help and hopefully they help everyone stay motivated in coding because, I know I constantly have to find new motivation to, to continue to code. Now that. I can easily just dump someone's crummy code into GBT and fix it, which is like the time saver for me. I get a lot more grading done. [00:45:45] Sean: Yeah, definitely. It definitely helps. But again, a lot of it is just, , get in there, run the code, work with a code, exercise your brain, see what happens. And AI can make a really good, partner in that process. [00:45:57] Kelly Schuster-Paredes: Hundred percent. Hundred percent. Well. [00:46:00] Sean: I wanted to just call out Wolfgang from, LinkedIn. He chimed in about half an hour ago and just a great conversation. Just wanted to say, hi, Wolfgang. Welcome to the,, live stream. , we've had, [00:46:10] Kelly Schuster-Paredes: new friend. He is my new friend. The t goodness, don't, I think T-L-C-T-R-C. Sorry, Wolfgang, if I forget your, the council, , exact name. I'll look it up and we'll talk it, put it in the show notes, and give a shout out to that great things that they're doing over there in Europe. [00:46:25] Sean: Nice. We've had people joining from all over, watching the live stream. Not so many comments this time, but we'll , get more of that next time. This has been a really good live stream and a great conversation. As always, Kelly. [00:46:35] Kelly Schuster-Paredes: Okay. I agree. I wouldn't spend my holiday time elsewhere. [00:46:40] Sean: Exactly. If you'd like to catch the show live, you can always watch it on YouTube, on Twitter or X as it's called now. We're at teaching Python on Instagram, on x on, . Twitch, we are all over the place. , you can find us on your favorite platform of choice to definitely join us for the live streams. We are working on having a more scheduled regular time for that. It's a little challenging to make the schedules line up, but we'll get there. If you'd like to reach out to us, , once the show is published, , you can always reach out to us on, . X or on Instagram or wherever, we'd love to hear from you. I think that does it for this week. We're gonna try to record a few more episodes, over the holidays. So we have some things queued up for January. [00:47:19] Kelly Schuster-Paredes: Yeah. And don't forget Picon. You [00:47:22] Sean: right. We have the education summit. Yeah. You can, , submit proposals. You can register, there's all sorts of fun things going on, so check that out. And I know that at least I will be there and we're trying to get Kelly to be there as well. [00:47:35] Kelly Schuster-Paredes: I'm 75% sure I'm going, so it'll be a great time to go and see some of the educators and friends that we've met. I missed 'em last year and so I'm looking forward to learning and having great discussions. So yeah, check out Picon. [00:47:52] Sean: Pittsburgh is a great town. , I spent many years of my life there. It is a great place to have a conference and , maybe we'll all get everyone together for some vegan pickle pizza. I know right? You that was the, that's the exact face I made and it was delicious. So it may be a hidden gem of Pittsburgh that we'll have to unveil for everyone. [00:48:14] Kelly Schuster-Paredes: Okay. We'll see. We'll see. It sounds good. [00:48:17] Sean: All right. So that's coming up in May. I don't have the exact dates in front of me, but it's coming up in May, 2024. It's in Pittsburgh, Pennsylvania this year. Hopefully there's a baseball game. It's a great place to watch baseball. lots of good events in the city. The rivers are right there. so absolutely worth checking out, and we hope to see you there [00:48:36] Kelly Schuster-Paredes: Perfect. [00:48:37] Sean: all. All right, let's wrap it up here. So, for teaching Python, this is Sean. [00:48:42] Kelly Schuster-Paredes: And this is Kelly signing off. ​