Sean Tibor: Hello, and welcome to teaching Python. This is episode 92. Let's talk teaching. My name is Sean Tibor. I'm a coder who teaches. Kelly Schuster-Paredes: My name is Kelly Schuster Paredes and I'm a teacher that codes. You make me laugh every time. Sean Tibor: Nobody has to know that. That was our second take on it, Kelly. Kelly Schuster-Paredes: We did it. We did it on planned. I'm so excited about this episode today. Sorry. So like always, I giggle when I'm excited about meeting new people and talking to new people. Sean Tibor: Well, Ed, we have a lot of new people. This morning. We've got a whole panel of teachers ready to talk about teaching Python in the classroom. Outside of the classroom, a variety of settings, and I can't wait to get started. So why don't we let our guests introduce themselves. Dottie, why don't you go first? Dottie Holland: Okay. Good morning. I am Dottie Holland. I am from the Fort Walton Beach area of Florida, and right now I'm out of the classroom. I'm working on helping our district set up a computer science program which will focus on machine learning, andre, artificial intelligence. And we will begin the course this coming fall, and I will teach Python for the first course at the high school. Sean Tibor: Excellent. Andy, over to you. Andy Colley: Hi, folks. I'm Andy colleague. I am a head of a computing department in Manchester, UK. I teach students from ages eleven to 18. In the past, I've taught Java, I've taught Visual Basic, and this is probably my second year through teaching Python all the way through. And I have no computer science qualifications whatsoever. Kelly Schuster-Paredes: I love that about you, and I think I read that somewhere about you. So I was like, yes. A person like me, andre entirely selftaught. Andy Colley: So I am daily feeling the fear. Kelly Schuster-Paredes: Excellent. Sean Tibor: Andre, over to you. Andre Chmielewski: My name is Andre. Andre Nielski. My students just call me Mr. C. I teach high school computer science down in South Florida at a North Broward prep school is the name of the place. And I spend nowadays most of my time teaching AP and IB Computer science. So that's a lot of Java. Unfortunately, I'd rather spend much more time teaching Python, but I try to sneak it in wherever I can. And I too also have no formal background in computer science, except for a little like, teaching certification for it. So I see we're all in good company here. Sean Tibor: I feel a little outnumbered, but I like it. Kelly Schuster-Paredes: I'm super excited about also meeting a person that's got another connection. I told Sean my world has become smaller and smaller since the podcast. Andre used to work with a former colleague of mine from London, and he lives right next door to us, so it's pretty cool. Sean Tibor: Before we get into our main topic, we'll start with the same place we do every week with the Wins of the week. So since we have such a big panel, I think we'll start with Andre first. And then go around the room. I think we'll skip the fails of the week. Not that there haven't been any, at least not for me. I mean, I've been totally perfect. But in the interest of time, we'll just stick to the winds of the week. So, Andre, first thing to you, any wins this week inside of the classroom? Andre Chmielewski: The wins inside the classroom, I'd say. It's not the week of the fortnight. Perhaps the exams are over. So AP exams are behind us, IB exams are behind us, which is great, because now we're free to do any kind of project we want to do, and I can kind of sneak a little python in there, too. So that's really great to have that big milestone behind us and then just do really free exploration of code. Kelly Schuster-Paredes: Do you find that the kids are ready to learn the extra stuff after exams, or are they completely burnt out? Andre Chmielewski: A little bit of both. A little bit of both. But I kind of try to maintain this philosophy, practice what I preach of. Like, we're just always learning, continuously learning. And it's especially good if that learning isn't attached to a grade, it's learning for the sake of learning. Kelly Schuster-Paredes: Love that. Sean Tibor: Andy, over to you. Andy Colley: Well, I'm in a very different situation to Andre in that our exams are just starting, as in, they kick in for our 16 year olds, year eleven next week, and then in a couple of weeks for our six formers or our Year 13 or 18 year olds there. But this week, I have finished marking, and I have handed in the marks for our Year 13 coursework, the projects. And these things are monsters, 150 pages or so of write up and code, and everyone is different. And I have marked some amazing pieces of work. I've marked a Sudoku tutorial. I've marked a maze generator and solver that uses short path algorithms. I've marked a pluto recreation. They're brilliant, but they take me hours. They take me hours. It is a full on labor of love. So every weekend for the last few weeks has been doing that, and that's in. Now. Kelly Schuster-Paredes: That's an awesome feeling. On the way home from PyCon, graded 180 assignments, I have, like, 100 something more, because thanks to Sean laughing at me with my grading. But I appreciate being done with grading one day soon, in the next, what? Twelve days? Eleven days. Crazy. Sean Tibor: Yeah. Kelly and I've had a lot of conversations about this, as much workload as that ads for a teacher to grade projects and to grade so many different kinds of projects, it is probably the most valuable feedback you can give. And so, to your point, it's a labor of love. I love doing that, but it is certainly a pile, just a mountain of work to get through eventually. It's worth it. At least that's what I keep telling myself. Andy Colley: But for someone like me who's teaching the a level, which is that I don't know, it'd probably be the last two years of high school for you guys. Course the programming skills required for these students is phenomenal. And for someone who's selftaught like me, I have to go away and learn this stuff first, and then I have to look at their style and how they've applied it, and I've got to judge whether this project today level stands or not. And a lot of time I'm digging through the code going, really? Is that how you do that? Oh, brilliant. And I'm learning so much stuff from what they do. I would say part of my job is to make myself progressively more redundant as I go through. And by the time they're in year 13, my students should be miles better, Colders than I am. And I'm so proud of this particular class because they really are. Kelly Schuster-Paredes: That's so amazing to hear someone else say that. I always tell the kids, listen for me, I'm stuck in basic land, six 7th and 8th graders. And I always tell them, by 9th grade, you're going to be better than me. By 12th grade, you're going to be making millions. Go for it. It's great. Sorry, we keep going. Andy Colley: Sorry you'll have to shut me up at some point. But I just think it's vital in computer science, and especially when you're teaching programming to model failing, because that's what programming is. It's making mistakes and being resilient and coming back and finding your bugs and fixing it. And you've got to learn to love the struggle. Kelly Schuster-Paredes: Absolutely. Dottie, you want to get your win? Dottie Holland: I don't really have a win. I'm not in the classroom. So, yeah, I don't have a win really to give. Sean Tibor: It doesn't have to be in the classroom per se. It can be literally anything that happened that went well this week. Andre Chmielewski: Got the audio working. That's definitely a win. Dottie Holland: I got the audio working. That helped. I went to a workshop yesterday that I've been going to that happens every two weeks, and I learned about some Python stuff that I've never done before. I learned how to manipulate Jupiter notebook a little bit better. So that was a win. Kelly Schuster-Paredes: That's a huge win. Congratulations on that one. Dottie Holland: That's about it for my week. Sean Tibor: Hey, that's a good win. We'll take it. Kelly, how about you? Kelly Schuster-Paredes: You know what, I'm going to go a little bit off tangent today with my win. I found me always reading and clicking and trying to learn something new and never like, finishing, just keeping up with the Joneses of the learning world in Python and whatever. Andre Pedagogy I found Elon Musk has a school called AstroNova, and they also have this summer camp. Because I was looking for camps for my kids, I got down a rabbit hole like I always do. Anyways, I came across there I'm not sure who else owns it. Summer camp called Synthesis, and I got stuck playing this game where this is their initiation game when they try to get people to come in and see what their program is about. And it's called rubicon. And I won't spoil it, because the whole point is you're supposed to figure out the game yourself. And that's the whole point of their camp. And I just thought it was really interesting, and it had really soft spot in my heart of how we teach in the classroom, of, here's the game that we play, this game of learning how to code. Go figure it out yourself and tell me what you learn. And it was just nice to see that there's other places out there, not necessarily with code that does that. So that was my huge one. And I've been stuck playing this game. I've gotten to, like, the fourth level, trying to beat the computer. It keeps getting harder, so you have to check it out. It's called rubicon synthesis. Sean Tibor: All right, we'll throw a link to that in the show notes. It'll be pretty fun to check out. So my win this week is actually a little bit of a throwback. Although I'm in this big, fancy corporate job now doing engineering work and coding and everything, I've been working really hard on the intern program for our company. So we have ten interns coming in from a variety of schools. They're all college level sophomores, juniors, even a grad student. And they're coming into the it. Function at mondelez, and they're working in all these different areas and doing all these cool projects and everything. And I was thinking a lot about what those first few weeks of the intern experience looked like. And I'm putting together essentially a twice weekly curriculum for them in terms of, here are the things that you need to learn to be an intern on our team and be successful. And I'm going through and building it out, and I'm putting together things like how to use GitHub and how to hear some intro to python and different things that they'll need from a technical perspective, but also things like, here's how to ask for help, here's how to effectively learn new things. So giving them some tools that they can use. And I shared it with the manager who's in charge of the overall intern program, and she was just kind of blown away by it. She's like, so could I come to some of these? Because you're touching on things that I want to learn, I want to do more with it. And it was just a really nice affirmation of all of the skills that I picked up in my time as a teacher, that these are valuable in a lot of different settings, not just within the walls of a school. The response to these experienced, very qualified corporate colleagues of mine has been, wow, you can put together some really great learning and teaching materials that's so valuable. And so I was just having this nice moment where I thought my two worlds were kind of converging together again, which has been really nice to have this week, and it made me feel really good. Kelly Schuster-Paredes: Are you trying to do two jobs at mondelegs? You want to do, like, curriculum, too? He loves teaching. He can't get away from it. Sean Tibor: I can't stop. So we have four interns on our team this summer, and they're all amazing and they're college level. They have a lot that they want to learn, but so far the resounding response from each of them has been, I can't wait to try applying what I've been learning in school. I can't wait to try applying all this knowledge and to give them that opportunity. This summer, we'll probably achieve 60% of what we set out to do, but hopefully that 60% is really meaningful for them. And I can't wait to get started. Kelly Schuster-Paredes: It's awesome. Andy Colley: It's a really interesting point you make there about how your managers and other people are coming into your room, coming in to see you, and saying, well, I'd like to learn this as well. Is it called the expert fallacy where we always assume that other people know more about what we do than they really do? Sean Tibor: Well, it could be that, or it could just be the fact that this domain of technology is so broad. It has so many different topics, no person can expect to know any of it really well. Right. Let alone all of it. And so to have the opportunity to learn from each other is a really valuable thing, and especially as these things change. I mean, GitHub has been around for a while, but you'd be surprised how many large organizations have been kind of stuck in their little pathways and everything. And to have people come in from the outside I've only been there six months come in from the outside and say, hey, I can teach you some new things. They're excited for it, too, because in our field, I think people tend to be lifelong learners. They just don't always have the opportunity to learn these things or the time. Kelly Schuster-Paredes: Right. Sean Tibor: Yeah. Kelly Schuster-Paredes: Very cool. So let's get going, though. I want to hear from other people, sean. I want to let everyone else talk because I, like everyone else, like to learn from others. Sean Tibor: So, yeah, I think this will be a really great conversation, and we're going to try to get out of the way as much as possible because our listeners have heard from us for 90 something episodes. Let's listen to some other teachers and hear what they're doing and share some ideas. So, Kelly, you have a list of questions prepared to just kind of kickstart the conversation. What's the first thing on your list? Kelly Schuster-Paredes: Oh, man, I had a couple. I think most importantly is I think I want to start with the hopes because that sort of solidifies my why for why are we teaching Python. But what is the hopes, and what do you think may happen? I say may happen. That sounds really futuristic, but what do you hope to get from your students by teaching them code and more importantly, teaching them the language of Python? Because I know we teach a lot of other languages, but what do you hope this might bring about? Is that good enough? That's very futuristic. Why do we teach Python? Sean Tibor: Right. So, Andre, maybe start with you first. Andre Chmielewski: Sure. I see teaching Python as I like Python because I see it as what could become the kind of lingua franca of programming. I think it was. Actually, I was listening to your show from last week, and I think Kelly said that it has this appeal because it's so close to spoken language that it's really the thin layer for students and for anyone to take on to just make that leap to programming. Right. It's just such a natural language. And so what I'm looking for, where I teach at the APIP level is ways of incorporating it into projects that might involve other languages or other platforms. So let me give you an example. For the IB, students have to do an internal assessment. This is a big project. They have to find a client and program something for the client to solve a real solution. Right. There's no teachers knows how to do this. They find the project, they find the client, they come up with it. And my original approach was, hey, anything's open? Mobile app, mobile this, any platform. And that became so overwhelming for me because if they did a project and let's say Flutter, then I don't know Flutter. Oh, okay. So I've had to corral them into some languages, and those two languages have ended up to be Java and Python. So Python is great because, like, out of the box, you have Tkinter, you have Flask, you could do and all these really accessible things, which, I'll be honest, you just don't see with Java, they're kind of getting there now. But Python has been very accessible to people right from the beginning. But now that I'm kind of digging deeper into this, I see that, for example, you're able to do VBA program so you could write Excel Macros in Python and have them converted over into VBA, which I don't know if everyone quite knows the status of VBA. Andre, the development community stack overflows yearly developer Survey consistently ranks it as one of the most dreaded languages to learn. So, you know, I don't want to bring in another language and say, you have to learn this. And by the way, all the developers hate it. I'm sorry, guys. Instead. I can just use python. And there's a rapper. It's a wrapper for this other computer language. And so, like I said, I really see the direction of Python as becoming the lingua franca. And it's kind of interesting just because my experience with Python has been kind of a forced one. I'll say. Because it's not a lot of because I found that Python's really accepted at the lower levels. But when you get higher up into the more like competitive coding. Then it's C and Java and Python is kind of I don't want to say look down upon. But it's seen as a more limited language. But I like that Python has such a strong community that it's fighting to maintain relevance. And like I said, I think that overall, this will become the lingua franca of programming, that everyone's going to know a little Python just because you can access all these other things with it. So that's where I am. Sean Tibor: Andy, is that something similar to what you're seeing in the A levels when you're teaching at that kind of upper end of secondary education? Andy Colley: At the very top end, yes, at the very top end. Now, I'm probably the wrong place to say this, but I don't want to teach Python. Let me preface this by saying I am a massive teaching nerd. I am a huge pedagogy nerd. I'm one of those people who once I'm not teaching, I like to talk about teaching so other people can give me a swerve in the staff room every now and again. But what my overall goal for my students is I want to create students who are capable of solving problems, who have the skills to take a problem, understand it, decompose it, break it down into those steps, and then apply those steps to a particular language. And the reason I've landed on Python is because it's got a low bar for entry. It removes a lot of the extraneous cognitive load that you see in a lot of other programming languages. When you're teaching eleven year olds and you want them to use a variable, then you don't want to have to do 2 hours on data types first and declare declaration versus instantiation versus assignment. You want to teach them the concept of the variable, and that's hard enough for them to get the head jump on its own. So Python has that low bar, but it has a high ceiling as well. You can do all the complicated things, you can interface with other aspects. I mean. I've got students who are alive. Who are writing SQL queries for their database through Python. And you can take it where you want. But at the very bottom end. The very beginner end. It is all about how can I pick a language which will allow these students just to focus on the thing I'm trying to teach them without having to jump over a load of other conceptual hurdles first? And that's why I landed on Python. Kelly Schuster-Paredes: I love that idea, the high ceiling, being able to skip out, the direct teaching of everything that you have to know about computer science that sometimes gets in the way of solving problems. And I'm sure that might bring a lot of hope to you. Dottie, as you are starting to think about your career and your goals for the rest of your teachers in the district, what do you think about that whole low bar, high ceiling? Dottie Holland: I like the fact that python it allows for kids to be successful right off the bat. It is easier to show them how to do something and then let them practice it and do it right. Like Andy was saying with the variables. You explain to them what a variable is. Most of them hopefully already know the term variable. But how it's applied in computer programming is going to be a lot easier for them to understand when they can do it and see it right away. My biggest hopes for this program is to give the students the tools that they can use to navigate their world. Because, like what Andy was saying, when it comes to teaching the students, I want to teach them more how to solve problems, and teaching them computer programming helps them solve those problems by becoming a more critical thinker and being able to break it down so that they can make sense of the problem and be able to find a solution to it. No matter what that problem is, whether it's in life or it's in a computer program or it's in a math class or a reading class, it doesn't matter. I want them to be able to solve those problems. Andy Colley: How do you find that duty? Because I find Andre as well. Everyone. I always find that my students, the hardest bit for them is taking something that they might do naturally in real life. Looking at a list of numbers and finding the highest one and breaking that down into a series of steps detailed and small enough to turn into a program. That decomposition is the thing that mine really gets stuck on. I'm really looking at ways to model that for them and give them some direct instruction around that rather than just hear the problem. Off you go. Because they end up completely stuck with no leg way out there. Dottie Holland: I think the best way to handle that for the kids is to give them a chance to grapple with it for a bit. I think, especially in today's kids. They want instant gratification. They're so used to everything being at their fingertips that when we present them with a problem, they want the answer right away. When we were at the education summit, someone said something, and I'll try to paraphrase as best I can what they said, but basically, you have to give the kids a way to solve a problem that allows them to make mistakes. You can't say. Okay, here's the problem. Now, this is how you solve it. You have to show them the problem. And then once they've grappled with it don't just give them the answer. Show them how you came to the conclusion, how you solved it. Work through the steps and let them see those steps. I think modeling problem solving is the best way for them to learn it. And then also, like I said, having a moment to actually grapple with it. Don't just say, oh, you can't figure it out. Well, here's the answer. My kids would get so mad at me because they would come up and you know, oh, I have this problem. I can't find the answer. And I was like, really? Why can't you find the answer? Let's figure out what have you done so far to solve it? And then once they start thinking about what they've done so far, they're like, oh, okay, it's right there. I don't know if I'm making myself clear. It's really hard to explain. You just don't give them the answer. Just flat out don't give them the answer. Make them solve it themselves. Andre Chmielewski: I was going to say, I totally agree with you, Dottie. It kind of goes back to what Andy was saying. We're not really teaching programming. We're teaching problem solving. And one of the most kind of comments from a student I got was that it really was good for them to see me grapple with the problem. And so I recorded a tutorial of, like, this is how you make a website in Flat. And I got to a point where the screen recording and I said, okay, wait, this isn't working. Okay. And so I stopped the video because I was just feeling like I look like an idiot here, and I figured it out. And then I said, well, actually, maybe I'll just leave that part in and I come back to recording Andre. I'm like, okay, so I was just spent 20 minutes looking this up, and this is how to do it, and this is the problem here online. And the student actually said that was really good because they saw that whenever we present our thing, it's already we've done the dirty work, and we're presenting the very nice, clean version of it. But they actually need we have to model the behavior. And the model behavior is like, fail, get stuck, do all these things, right? Because that's part of the process, right? As you said, Dottie, grappling with the problem. Kelly Schuster-Paredes: I want to add a question on there, adding onto Andre for you guys. I often hear about people being afraid to fail, being afraid not to know the answer, and having all three of you kind of like me. What advice do you give to those teachers who are starting out with computer science, and how do you fight that feeling to do what Andre did and put that into a recording saying, hey, I did not know that answer, and I had to find it out. What kind of advice would you give? Dottie Holland: I think it's absolutely necessary and good for students to see that their teachers don't know everything, because for so long. Students have this mindset, especially when I was teaching elementary school. They think that the teacher is the old wise owl. You know, they know everything. They're the smartest people in the world, when really we don't we don't know it all. We know how to teach it, and we know how to look up answers. And I think a lot of people, if you don't know how to do something, be honest with your students. Tell them, you know what? I don't know how to do that. Let's figure this out together. And I learned so much more from my students than they ever realized. And so I'm honest with them, and I just tell them, hey, let's figure this out together. Let's be guinea pigs. Let's try something new. Sean Tibor: And Dottie, I think you're heading on something that's kind of been around since that whole relationship between teachers and students was first established. Right. There's a knowledge disparity between the two, but it feels like somehow in sitting here in 2022, that this problem has the gap has grown wider. Right. Or that students are feeling this even more. So is there something beyond the student teacher relationship in our culture, our society, that is exacerbating this problem that you can see and this is a question to everybody, like, what factors are making it so that students feel like they have to get it right the first time? You mentioned instant gratification before. But Andre, there other areas where they're seeing this sort of, like, fear of failure being even more exacerbated. Andy Colley: Well, I don't know what it's like in terms of the American school system, and I know it's different state to state and district to district, but in England, we have a school inspectorate who come in and inspect you, and you are judged on a variety of factors. We also have tests for our eleven year olds in primary school. We have tests at 16, we have tests at 18. And the curriculum is very heavy. You hear a lot of teachers talking about covering the curriculum, which basically means just managing to get through everything in the amount of lessons you've got available to you. So that time to stop and slow down and really embed the learning gets skimmed over a bit, and you've got to be really skillful in order to build that into your lesson time. And because of that. When you're a teacher and you are being judged on results. On outcomes. And their child is getting it wrong. And you know. You've got 3 hours that week or 1 hour that week in terms of eleven to 14 year olds here. 1 hour that week to cover this particular thing before you've got to move on the next week. Then how do you stop and spend ten minutes on picking that problem? It's significantly easier for you as a teacher to solve that problem for that child and move on. Except they haven't really learned anything. I'm. Sure they haven't really learned anything and what you're teaching? Well, no, they have learned something. Sorry. They've learned helplessness. And so they learn to rely on the teacher to come along and sweep up after them 100%. Kelly Schuster-Paredes: I'm sure will. Richard sends over there screaming if he listens to this episode. And this makes me kind of think about another question for you. This is another wishful because I love living in the dream world. So I feel lucky because I'm in a wheel course, which is almost in the kids eyes as an elective, you know, almost. They do python in nine weeks, and it's not like math and it's not english, and they don't have a set curriculum. So I can kind of cover what I want as long as I'm covering coding. If you guys had an option to teach in your school any which way you want, how would you you want to leave Andre to do sorry, I keep wanting to give a spanish accent andre to do it. Andre Chmielewski: So what if I just could teach anyway I want? I would probably just take a fully project based approach of this time where this trimester or whatever the finite amount of time is, your goal is to make a system that does hit these requirements. You have to figure it out all yourself and just move forward from there. That said, I think in the beginning that would be such a challenge for me because students are used to just as andy said, we as teachers are used to covering the curriculum. Students are also used to having the curriculum be covered and hit these bars. And if all of a sudden the teacher is like, no, just this is open. Just go ahead and solve this problem, do this project and solve the problems associated with it, they might have to recalibrate themselves. So that would be mine. Just solve problems, do projects. Dottie Holland: I'm in a unique position where I get to do that. I'm one of the ones helping write the curriculum. Not really write the curriculum, but find the ways that we want to teach this to the students. And across the board, it's got to be project based. And so I keep looking for things that I can put into the curriculum, into the lessons that, okay, here's a problem. How are we going to solve this? And I think it's going to start with out the computer. They're going to have to solve it on paper before they ever try to solve it in code. And it's going to be vital that they understand that systems thinking process where almost kind of like you have to think about a backwards I know if I don't know something or how to do something, if I know the answer, I can work my way back. But kids need to know that that's also a possibility. Give them a solution and say, okay, what was the problem that we solved? Give them a chance to decompose a problem that's already been solved. Andy Colley: I think I'd probably go the opposite way as Andre in terms of the project base for me would be the end result. But if you look at the way that novices learn and the way that novices solve problems and what we know about the way the brain works, then even by watching an expert solve a problem, they won't learn what they need to learn in order to perform like that expert. Because the gulf between someone who does this for a living or someone who teaches this all the time and someone who's just coming in to learn this is too broad. So what you'll find is you'll get a lot of students who are stuck and don't have the tools to get themselves unstuck. I teach everyone. I teach all our students in my department. We teach all our students from the age of eleven to the age of 14 for an hour a week of computing. Now, that's not just programming, that is also the It skills, the software skills, that is the digital citizenship, the digital wisdom, the online safety, everything. We get 1 hour a week for that. And so they might get six, maybe 7 hours of programming a year at best. And so what I found is this pedagogical framework called Prim. Now, I don't know if you've heard of it before, PR IMM, which effectively takes the students through from me being the expert in the room in terms of first I am providing all the code and providing all the examples and they are making predictions on them. So here's some code. I'll explain to you the skills and explain to you what the code means. Now here are some examples with that particular user print statement. Predict what this code will do. Now run it and see if you were right and note down the differences. You've then got investigate, which is some example code, and detailed questions around that to test that they've actually learned what you're trying to teach them. Give you that information as a teacher to know whether what, Utah has gone in and if it has brilliant, you can move those students on. If not, you need to stop there and you need to circle back and reteach it and go again. Because if you're moving on, what you'll end up with is a lot of lost dispirited students. And this is the same for teachers. I remember that feeling and I've tried to keep it right here. That feeling of being Andre, not knowing what the hell I was doing teaching programming and not knowing. You're talking about some people, they're talking about Flask and they're talking about Jupiter and what are they and this is beyond just learning about selection statements or even lists, even Oop and so on that we get at the top end over here. So you get the investigate stage. Then only then the students start to gradually create their own code with the first M of Prim, which is the modify stage, where I give them an example and they have to change it up. So we're moving from and I'm doing a lot of waving my hands here, which is really good for a podcast. Kelly Schuster-Paredes: I do the same. It's okay. Andy Colley: Yeah. We're moving from not my Code with these students, and they spend a long time in the not my code stage until I am satisfied that they have learned what I'm trying to teach them. Then they move into partially my code, and then once they are ready with partially my code, they move into all my code. And that's where I give them the independent tasks. Now, at age eleven, those independent tasks are quite short. It might be a ten line program, but that's where they start to solve the problems. And this is where what we were talking about before the learned helplessness. Well, I'm stuck. Okay, look back at all those examples. Use the reference we've looked at. Look at the mistakes you've made here, here, and here. And if I do have to help them with debugging, I'm saying I spotted that mistake because I've made that mistake a hundred times. That's why I'm really good at spotting it. And with the teacher talk, it's normalizing, that failure. I told you I was a pedagogy. But for me, it's been an absolute revelation in the way I teach, because it's helped me provide the scaffolding across that gulf between being able to write some code based on lots and lots and lots of experience of doing it and getting it wrong and really starting out with a brand new skill. So what I'll do is I'll isolate a skill like variables, I'll isolate skill like selection, and I will plan a series of exercises that take them through PR, I suppose, on the wish list. A, I want quadruple the time I've got in the classroom, please, with each class, and B, what I'd love, because I don't have the experience, is how this stuff is used in real life. How do real people working for real businesses use these skills to solve real problems? And then at that make stage, I can give you something that is meaningful. How can we use this to change the world? How can we use this to interact with how many people? How many people? Andre in space right now? Let's drag that information down and make a quiz based on it. Can you predict that? What's the weather like where you are? Well, let's use a selection statement to give you some advice on what clothes to wear, things like that. I have learned by looking at what other teachers are doing. I've stolen those ideas. Wholesale research, I think they call it. Sean Tibor: Andy, my question is, have you seen as your students progress because you have this nice longitudinal view of what's going on, where if you're providing that scaffolding for them early on. What happens when you start to shift out of that scaffold into other areas, or students are tasked with going and learning things on their own? Do you see them taking elements of that prim model in terms of their learning process and using it for themselves? Or is it something that is more teacher driven and once they get off of that, they do whatever they want. Are you seeing any sort of adoption? Andy Colley: It's early days for me with Print. There's not very much research based practice in computing in the UK because it's only been back on the government agenda as a subject for the last five, six years or so. Maybe a bit longer now. But what I'm starting to see at a level with those students who do take this is that it's starting to really bear fruit, starts to really bear fruit in terms of the way they are going off. And they andre motivated to solve problems. They've seen me run up against walls, they've sean me make all the mistakes. That is a normal process. And they're starting to combine the skills I try and teach. Each skill, it's like Lego, each different shaped brick. First we've got to understand the brick, we've got to know the brick, we've got to know what it's for, and we've got to know the situations in which we can use it. And then we can start to combine it with other bricks from other lessons to create things. I think what happens is a lot of the activities that I've seen and a lot of the exercises that I've sean are, okay, print, statements, variables. And now what I want you to do is make something that uses selection and nesting while loops. And next recursion and you go, okay, wait a minute. Kelly Schuster-Paredes: It's funny because I just had a conversation last week with two people from the UK and it was opposing arguments on the prem. We had a music teacher who was a developer. I'll say it was Nick Tolervey who created Moo, and another teacher who works in a it was a unique situation, it was a public school. But they have boarding, so they have a lot of the private features in the UK. And they were having this conversation kind of similar to how one was the Prem and the teacher was using Prem and really enjoyed it. And Nick through a loop and we were talking about Ear Sketch. And he goes, I would do it backwards. So it was interesting. I've now seen Nick was like as a music teacher, play the music. So it was kind of interesting seeing the same synopsis kind of switching into that. It was this visual outlook. Not to get too much on the pedagogy, but what other ways do you guys use to make Python visual? For example, this conversation was with Ear Sketch, which is a musical platform that allows you to code music with python and has all these beats, and you can visually see the manipulation of the beats, reverse strings and whatnot and string manipulation. Any suggestions on other ways to make learning visible from anyone? Andy Colley: I will jump in again, but I feel like I'm doing that. When you say making Python visual the Python visualize a website, if you come across this past your coding, step by step python tutor. Yeah, absolutely. It logs all your variables. It logs all your data structures. It shows what lines executing next. So when you teach malfunctions and procedures, it's brilliant because you can see it jumping around in the code recursion. When the students can see what's happening with recursion, it just makes it so much more. There's an idea as well. Fonny Thonny you come across that one. Kelly Schuster-Paredes: I think you and Sean had a conversation prior to recording because these are all the things. Andy Colley: That'S got a really great step debugger that I've not seen in anything else. But I love the idea of that. If students can see the point and they can see a real world application, it's such a motivational factor. And that sounds like what Dottie is doing, what Andre is doing. I'd love to be able to pick your brains about the projects that you set, because I'm very conscious of what I do is quite a lot of conceptual teaching, and I don't have the end result in my Armory yet. So really that's where I'm trying to learn. Kelly Schuster-Paredes: Let's go there. Andre, you have any projects or something you want to share that you absolutely love and doing and found success in, or Dottie? Dottie Holland: Andre is going to have to take that one because I haven't done that yet. Andre Chmielewski: Projects with students, just in general projects. Yeah, I think coming back to what I mentioned already, the internal assessment for IB, so the way I do it is I really like not only take the letter of the assignment, but the true spirit of the assignment. I think a lot of teachers and maybe I would benefit from this in terms of number of gray hairs I'd have on my head of just doing like, oh well, here's, just check boxes so kids just get all those checkboxes taken care of and we're good to go here. Andre I say, no, you need to find a real client. You need to solve a real problem. And if you don't, and that has been quite a process because the students really authentically struggle at the same time after the fact, they end up very grateful that this is the number one thing that is like the most impactful thing I ever learned in terms of all my computer science education was having to do this project from scratch. So just in terms of project ideas, one thing that they had was a student had to put together an appointment manager for a teacher or administrator, I should say. So the administrator would put all the windows that they're available all the time slots, and they would generate, like, a form for a person to fill out, and that form would then allow that person to select one of those windows and then kind of reserve that appointment slot. And just the process of, again, kind of dealing with it, of struggling with it, was very eye opening for them. As Andy saying here, I've never heard of this prim framework, so I'm going to take a look at that, because if there's anything I could do to make that a little smoother, then I'm all for it. I really enjoy these kind of conversations, and I really enjoy the show, because it's like you said at the beginning, we're hanging out in the staff room talking, just chatting amongst teachers, except I'm like, one of two computer science teachers in my school, and the other one is teaching really AP principles, which is, you know, almost no programming. So I'm kind of stuck out there in my own thing. So I just feel like I'm here, and I've learned more than I'm providing, but that's what it is. Kelly Schuster-Paredes: I want to get in and pick your brain real quick so you can explain to the listeners, because it's been about six years since and I'm an NYP International Baccalaureate. Some people don't really know that program. The IB Internal Assessment correct me if I'm wrong, it's on a bunch of criteria for your own engagement in your problem, like your own exploration, your own analysis of the solution and evaluation and how you communicate. Is that still how it is? It's kind of like this. I picked the project. It makes it more on the student. Andre Chmielewski: So that's definitely more of an MVP thing. And the rest of IB is moving into that direction. I was actually an MYP coordinator for two years, so I totally know the language. IB Diploma program is still a little more academic like. It's the first IB program, so it's really modeled upon colleges and kind of the more traditional content based approach, while Pypmyp are much more into the like, let's explore the learning process. Let's develop that. And I think overall, DP is heading in that direction. IB is trying to reverse engineer it, reengineer it. But that said, all this kind of documentation that they have to provide for it is very attempts to get them to reflect upon it. So the documentation isn't, like, documentation for a program like you would have. Like, how does this program work? I need to read the documentation. Documentation is sent to the examiner, and the examiner sees how the student designed the solution, how the student developed the solution, and how they evaluated the solution. All that said, it's sometimes hard to get the student to kind of buy into, like, oh, I'll just code it first, and then I'll fill out the documentation. No, stop. Stop. I know that's how you do everything else. You just want to get the answer and be done with it, but that's not how we approach it here. So getting them into that mindset is a task, is like a learning goal in and of itself. Unknown: Yeah. Kelly Schuster-Paredes: My students get so mad at me because I did design thinking middle school years for twelve years, and so I'm like, no, you must have at least a minimum of three problems before you start to solve this microbit challenge. Andy Colley: I was just about to mention microbit, actually. Yeah. Sean Tibor: I think this is showing me that we should have a pure projects focused episode and have a panel discussion about this, just to come up with ideas and approaches there. Andre, so many different things we can do. I mean, even just the idea of making it so the students not making the project for themselves, they have to design it for someone else, means that it shapes the project very differently. Right. If they have to come up with someone else's needs versus their own, sometimes it can help with that project focus where they're almost reversed designing it. Right. So there's a lot of things we could talk about here. Kelly Schuster-Paredes: Summer is coming up, so a lot of more time for it. Well, not for you, Andy. Sorry. Andy Colley: I've got, what, a month and a half left or so? Yeah, but it's interesting what you're saying, because if you're throwing into a project the idea of designing for other people, you're throwing an extra layer of cognition there, aren't you, of things that the student has to think about. I always talk to computer science students about it by saying, I've only got so much ram. And so have you. Unknown: Yeah. Andy Colley: So how are you as a teacher? And this is something that's big in England at the moment, there's a big push on understanding the theory around the brain and how it learns, because a lot of teachers, and I'm definitely one of them, will go by gut instinct. I think this is the best way to teach, therefore I will teach my way. And then when it doesn't work there's a lot of cost in that, isn't there? You've got a lot of chips in the pot and so you're going to carry on gambling because you can't back out now. And so I've had to really reteach myself around cognitive load theory, around have you had Rosenstein's principles, Andre, instructions that come up before? Kelly Schuster-Paredes: No, but we will definitely have a conversation about that again. Andy Colley: Absolutely. Kelly Schuster-Paredes: Don't get me started with Pedagogy, because Sean will be ready to wrap it up. Andy Colley: I told you I was a nerd. The idea of I see a lot of students who come into my class and he wants to jump in and just bash buttons and make things happen, and that's great. But going back to your music analogy, I wouldn't give you a clarinet and say, right, jazz solo. Now, before I've shown you which end to blow into so I'm not a musician or a bass guitar player, but I'm still going to know my scales. I'm still going to know the notes associated with each key. I've still got to understand the forms and structures of the song. I've still got to understand the conventions, what I'm playing. I'm playing blues here, I'm playing jazz there. Andre different things that go with different. And as someone who's been playing for 20 years, I'm not an expert, but I'm moving towards that. So I have a lot of ingrained, deep, tacit knowledge that novices don't have. So I have to wind that back. And this is why I use print. I wind that back as I start my students coming in as novices, moving on that journey. To be experts, I have to do more direct instruction. They learn much more from work examples, they learn much more from modeling, and we know this now. Research has proven this than just throwing them in the deep end problem. When they are experts, doing that to them will turn them off, will bother them, and they'll go off and study something else. So you have to give them those real world challenges and those real world problems. But this is sort of in reality, this is the background behind the approach that I try and use in my classroom. Now, it sounds like I get it right all the time, every time. And I can assure you, just like with programming, just with teaching, that's absolutely not the case. But this is the sort of the pathway that I know well. Sean Tibor: I hate to cut the conversation short, but I am looking at the clock and realizing what a fantastic conversation we've had for the last going on an hour now. I want to make sure that we have a chance to let everyone get on with their Saturday morning or afternoon, andy or wherever you happen to be as you're listening to this. But I think this really is just showing us that there's so many more conversations that we can have. We can create this kind of break room style discussion where we can share ideas and have conversations about the things that are similar, the things that are different, and we'll all get a lot out of it. So I think as much as I don't see our conversation coming to an end per se, I do have to stop it as the co host and say thank you to each of you for sharing your ideas and bringing such great thinking to our show today and to the work that you're doing. Kelly, is there anything upcoming for our listeners that we need to highlight for them other than summer? Kelly Schuster-Paredes: I was going to say just more conversations later on. As Andy said, he's a big pedagogy nerd. I'm a big pedagogy nerd, so I'm not going to say anything else to get either of us going again. Andre and Dottie are going to be talking more about stuff later. So, yes, I'm being quiet. Sean Tibor: We do have an upcoming guest list that is taking shape quite nicely. We hope to have more conversations coming your way throughout the summer. So, again, to our guests. Thank you, Andre. Thank you, Dottie. Thank you, Andy, for joining us today to talk about teaching and python and everything in between. So I think we can wrap up here if you'd like to share your own thoughts. Andre responses to the guests. We'll share social media contact information for anyone who's willing. We'll have links to the different shows that people are on or participate in. If you'd like to share directly with us, you can go through our website at teachingpython. FM. We're also on Twitter at Teaching Python. I'm at Smtiber on Twitter and Kelly is at Kelly Perez on Twitter. So I think that pretty well does it for this week. Kelly, anything I'm missing? Kelly Schuster-Paredes: No. I'm going to get my kids off of minecraft and make them go out for the day. Sean Tibor: Yeah, that sounds like a great plan. So for teaching. Python, this is Sean. Kelly Schuster-Paredes: This is Kelly signing off.