Sean Tibor: Hello, and welcome to Teaching Python. This is episode 152, and today we're talking with Quincy Tennyson, who we met at PyCon 2025 in Pittsburgh. Quincy's a high school teacher, and we're excited to dig into high school computer science education with him this week. My name's Shawn Tyber. I'm a coder who teaches, and my. Kelly Schuster-Paredes: Name'S Kelly Schuster Paredes, and I'm a teacher who codes. Sean Tibor: So, Quincy, welcome to the show. We're excited to have you here. Quincy Tennyson: I'm happy to be here. Excited to be here. Sean Tibor: Well, we met you at Pycon. We met a number of your students at Pycon. We just really were impressed with their enthusiasm, their passion, the way that you worked with them. And we thought to ourselves, we got to get this guy on the show and talk to him about what he's doing over there and how it's working over at Fern Creek High School in Jefferson County. Callie, do you have anything you want to say? Kelly Schuster-Paredes: You're sitting there. I was just in there. Sean Tibor: You're so excited you can't even talk. Kelly Schuster-Paredes: Yes. No. It was funny because when we. We had a. Was an open. What are they called, Birds of a feather kind of session, and your students were just so eager to share. They were a little timid at first, but then they were just ready to get in and share, and so we thought, oh, wow, it's just like us. So he's a fellow Pythonista that we're gonna get on the show, so we're excited to have you, but we're gonna start with the winds of the week first. So that's why I was staring off into space. Sean was going rogue on me. Sean Tibor: Sounds good. We'll start with the winds of the week, so something good that's happened inside or outside of the classroom. Quincy, you're up first, because we love to make our guests go first. Quincy Tennyson: Okay, my win for this week is it's a couple things. So in my junior class, which we do, like, a modified AP Computer science principles, and for a couple of years, I've wanted to really have these strong abstraction oriented projects which are modeled after what CS61A does. And that's why I was talking about listening to prior episodes, because Pamela Fox was on a prior episode, and her and John De Niro crafted, like, what I think is a really ultimate computer science curriculum and introduction to really doing legitimate CS stuff with Python. And so that was my goal, is, like, make Quincy's version of that. I actually just had A couple of my juniors finish one of the projects that was built with that paradigm and it was just so exciting to see them work through it. We've gone through little iterations of it, but this one was like the ultimate mode. And of course there's still bugs and all that kind of stuff, but seeing them work through it. And then also I've had to be out a couple of days for one was a field trip we had yesterday to an IT women's conference, which we always take girls who code to every year. And then last week I had something going on. I can't remember what it was, but actually was having the juniors facilitate the course while I was gone. So it was just exciting. They did a really good job facilitating the course. The sub had great remarks on them. Seeing those projects come to fruition. That would be the win of the week for me at school. Kelly Schuster-Paredes: That is a cool win. How long have they been working on the project? Has it been a quarter or. Quincy Tennyson: We started on October 4th. I want to say. Kelly Schuster-Paredes: Nice. Quincy Tennyson: Yes. It's about 18 school days. Hours. Kelly Schuster-Paredes: Very cool, Very cool. Quincy Tennyson: And we're. Kelly Schuster-Paredes: I'm going to have so many questions about your school day and your hours and everything, but I'm not going to go there. I'm going to let Sean do his win of the week. Sean Tibor: I'm struggling because I've got three or four this week. So the first one, I'm going to be brief and do micro wins. But the first one is I am back to student mode. I'm studying for a really hard certification exam right now and taking all the practice quizzes and practice questions and going back and studying up on areas that I don't know. And my brain is melting a little bit. It is a lot to cover in a very short amount of time. It is the AWS Certified Solutions Architect Professional exam. Kelly Schuster-Paredes: That's a mouthful. Sean Tibor: It's so long. They even gave it a code number and everything. So it's been kind of fun to go through it. And I've also been using it to connect with my own children about how hard it is to study for something and to really learn the information and how much work goes into it. So just letting them know that it's hard for everyone and not just for kids. So. Kelly Schuster-Paredes: Very cool, Very cool. Well, there's an AI real quick before you go on to a second called Superhuman by Barbara Oakley where you put it in. So learning how to learn it refocuses you back in there. So you might want to. If it's a lot of information Barbara is. She's the queen of learning. Sean Tibor: Yeah, that's cool. It is definitely a lot. And the good news is it's all things that I have used in practice and understand how to fit them all together and do it on. On a timed schedule. So I will let you know how it goes. I will report back. And the second win was I actually got to go to Greece last week to meet with my team that's based there. And when I was there first two years ago, there were six people there, there's now 19, and just had an amazing week with them. And my favorite part was we were going around the table and talking about things we wanted to get out of the. Out of the weekly workshop that we were doing and questions we wanted to answer and things that were challenging for us. And one of my team leads said one of the things that's challenging for him is that he doesn't understand why Python doesn't do static typing the way other languages do. And I. I'm like, I know this one. I can. I can answer that. So it was pretty fun to be able to have those kinds of conversations with my team. And we just had a really great time. So I'm really just excited and pumped and renewed to be coming back from that trip and leaning into the next stage of work. So it was pretty cool. Kelly Schuster-Paredes: Very cool. I'm jealous about Greece every time. So it's a fun trip. Well, for me, I actually coded this week on. I think. I don't remember which day it was. Maybe Monday. I don't know. This week is a blurry Monday. Yeah. I got into the Prophet library that Pritesh was telling me about, and I did a half, half vibe and half trying to learn what it does, but you know me with maps and graphs and heat maps and the trusty collab who likes to suggest everything for you. So I was like, yes. I wasn't getting too far into profit, but what it helped me to do was to start looking at the data better. I was able to get some insights into the data that I was looking at because the graph, I was like, wait, that graph doesn't look right. And why is there 69? There should only be 12. So it was fun just to get back in there and try to learn something that I have. Second win, too. Funny story today with my eighth graders, that was a win. We were reviewing about modules. This is a new quarter, second day of class, and we're talking about modules. And I was showing them. I was like, and the Transformers module. And I said, Oh, I wonder what's in the transformer module. So I did a directory lookup and they're like, whoa, what can you do with it? I was like, I have no clue. But look, look, these are encoding methods or whatever that was going in there. So I did a directory lookup and show them, look, this is part of the Transformers model. And here's all your stuff for AI. You too, one day can figure out what that's about, but it's not going to be today. So that was a fun win of just showing them all the methods into that directory and seeing. I don't know, there was. I don't know how many there are, but it scrolled across forever in colab and it took a couple minutes to load the directory. So a lot, a lot goes on back there. Sean Tibor: Isn't that kind of the fun thing? Once they have enough knowledge and enough information, they go from this point where it's a magic black box where it's doing things, and then you give them just a peek behind the curtain and they get their minds blown because now they understand that something more is happening. If you showed it to them earlier, they wouldn't get it and wouldn't think of it that way. But it's really cool. Kelly Schuster-Paredes: Especially since I showed them the random library first and they're like, what is this one? I was like, you know what? I've only used like 6.6methods in the random library. And then I started talking about AI. Cause what else am I going to talk about these days? And that's when we brought up the module. So it's neat. It's neat to make that connection again with the Python and 8th graders and what eventually you can do later on when you get to ages like Quincy's. Now we're going to switch to Everything about Quincy show. So tell us about you and tell us about your CS courses and everything. Go. Quincy Tennyson: Yeah, okay. I guess there's a lot to say, but my background was when I got out of high school, I went into the Marine Corps. I did IT work in the Marine Corps, got out of the Marine Corps, went to college for computer information systems, graduated, held a job as a network engineer for about three years. That got me looking into Python for automation. And at the same time, like, I'm getting disenchanted with my corporate life and I'm addicted to chaos really debilitatingly. There was. I worked at a great place. There's a financial organization here in Kentucky and actually all across the US called Farm Credit. It was just an awesome place to work, frankly. But all through that journey I was teaching people one thing or another and it was a big part of my role to teach people. At Farm Credit on Technology, I was a tutor when I was at UofL through Fortune and just Intersections with Fern Creek and coming out as a guest speaker. I found myself teaching there in 2018 and it was a big change, but it was definitely what I wanted. The initial courses that we had there were teaching to some degree, like computer science stuff. But all credit to the teacher that was there before. He had built a number of programs and had really gotten students invested. I knew that we had a lot of work to do. When one day he said, I was like, I think I'm going to start talking with him about functions. He goes, I've never really understood what those are for. I thought, all right, that got me started. And from that point we, I mean we basically have rebuilt everything from the ground up almost. We have an introductory experimental course which is like Intro to Computer Science. We do some code.org stuff. Kelly, that's probably Diet Coke compared to what you're doing over there with the eighth grade. But then once we get into sophomore year, our course called Computational Thinking, that's where we're really looking at Python. And we're focusing very, very deeply on changing mindset that involves a really wide spectrum for our students. It's a pathway, like a career pathway style course. Whether or not a student necessarily wants to be there is a random element for us for sure. And we have a really wide gamut of students that come into this classroom. Something I learned really early on, even when I was teaching like hardware and software courses my first year before we started to revamp is almost every student likes to solve an interesting problem. They get excited about that and I don't really care what their baseline aptitude is. They're going to be stoked when you present them with a cool little puzzle in a language or in a context that they can empathize with. So along with having very strong computer science fundamentals as far as thought processes, the vision for our program, they go through computational thinking and by that time they're going to have a reasonable understanding of writing effective Python to solve problems. And so we use a lot of tooling around that. We look at isolated functions that are solving problems and we try to solve those problems. Then in the junior year we teach AP Computer Science principles, which is a very popular course at that point. The coding portion that a lot of curriculums offer is just it's way Too easy for where they're at. And so I, I did like maybe year one and a half. I started looking at other sources and I found CS61A. It's a funny story is that. How do I say this? I saw this course and I didn't want to step on anybody's toes. So I sent John De Niro, the architect of the course, this big email like all about our school, why we could benefit from using his course or their course, it's collaborative course. I sent him this big email and it was like an essay. And the ask ultimately was like, can I use your material? And he just sends me back an email probably the next day. Yes. Kelly Schuster-Paredes: That'S funny. Quincy Tennyson: So anyway, from that point I really started to look at that as my guidepost for the juniors. And then of course we have to do the other. We don't. I wouldn't say we have to. Like there's a lot of cool stuff to learn in computer science principles. So I think I know Pamela talked with you guys about that. Like it's a pretty broad course that covers the Internet, which I'm very passionate about and ethical concerns, data, all this kind of stuff. So anyway, after that we have two other courses. So we teach APCSA, which the College Board compels us to teach Java, but that's good for everybody because we start to understand a strongly typed language which mandates object orientation principles rather than suggests them. Kelly Schuster-Paredes: I hear that a lot. I don't. I feel like that is part of the buy in when you open up the manual for. For AP csa. No. Is that like the thing it teaches? Object oriented programming? Quincy Tennyson: Sure, sure, yes. Which they already know. That's why we decided to do it as I had enough student interest. My insecurity about it originally was like, do they really want to learn another language? I've talked to them for two years about Python. Are they going to want to start again? But they actually find it interesting the difference. So I found that. And then we have another course that's called Project Based Programming which it could be anything. The way we've gone with it has been my focus over the last three years as far as seniors especially is originally it started out as a industry adjacent activity with co op stuff built in that really fell through because the industry partner fell through. So then we turned it into more of a truly project oriented course. We did more guided projects and stuff like that. So it's current form is in the fall we do core apps. We'll reverse engineer an About Me app that the sophomores work on with. So basically we look at that the way a business would look at it where we get like a business analyst perspective and we work backwards from the existing features and then they have to code it from scratch. So that's an interesting activity for them to do from nothing. How would we make this and meet a minimum viable product which we describe and documentation. Then we'll do a web application. So we're getting ready to start that now. We start with like very basic HTML, CSS, JavaScript, bootstrap stuff. Then we're going to start on Django app. We'll work through Eric Matthew's Django project at the end of Python crash course. All that time we're doing like social and emotional learning stuff. We're doing professional skills. Like me and The English teacher two years ago wrote an email literacy 101 thing. Because what we found is we bring in like 20 guest speakers in the fall from industry. The students are excited to hear about the career stuff, but what they're most excited to hear about are the things that they are very concerned about, which is like I don't know how to walk into an interview and be effective. I don't know how to deal with time management or ambiguity or conflict or all these sort of very human things that are non existent for them in many cases. And that has been really awesome to see in the fall we focus so much on all this mindfulness oriented work, really getting into some transparent conversation to the degree that we can at school about what they need. And in the spring for that course I pretty much give them a classroom in which they can do what they want. I no longer care that they work on a computer science project because ultimately If I have 20 students, it's unlikely that they're all going to go BCS majors. It's not very likely at all. So what I really want them to do is be given a really wide gamut of possibility and a huge chunk of time and then be like, how well do you manage your time? How can you use like an agile methodology to help you? Because we do like stand ups and all that kind of stuff. It's been really interesting for them to come face to face with what's going to happen when they inherit a lot of freedom when they graduate. Because I'm a very big proponent that unless you experience it, you're not going to empathize with it. You can make predictions but you can't actually understand how you're going to behave. So that's. There you go. Short story long that's what we're doing over there. Kelly Schuster-Paredes: And how many hours of for is it a normal block period? Is it all every day, all over the place? Quincy Tennyson: We have seven periods a day, 55 minutes per period. Kelly Schuster-Paredes: Okay. Quincy Tennyson: So if we're talking actual productivity time, once you get settled in and get the prefrontal cortex firing, we're talking 35 minutes maybe. Kelly Schuster-Paredes: And once you get in the zone, it's like ring, gotta go, right? Quincy Tennyson: Yes. Sean Tibor: So what kind of experience do your students come in with into that progression like that freshman year, is it. Do any of them have prior computer science experience? Some of them have maybe messed around with code a little bit. Are they coming in and you're starting from scratch and being able to start with a blank slate? Where do they begin on this journey? Quincy Tennyson: I presume from scratch. Some students will have some past experience. We usually reach the limits of most students experience by now. Sean Tibor: Okay. Quincy Tennyson: Usually what I find is with students that have practiced a lot and this is not universal, but some of my more experienced students, they often know that they can, but they do not know why. Understanding why you would use something is that's the critical component in my opinion. Sean Tibor: So then on the other end, like graduating, how many of them are going on to college and university, community college, technical schools, vocational schools, straight into the workforce? Do you have a sense of where they're heading coming out of that program? Quincy Tennyson: We have some unique programs at Fern Creek. I'm not going to get super into the weeds, but we're a relatively urban public high school. We have a program which specifically serves undermatched, underserved students that like Little Ivys, are particularly interested in recruiting. So students who are going to really do well on their ACT but are under the radar, so may never have been, possibly they're never going to get that opportunity because they don't know that opportunity exists. So we try to fix that problem. So we bring those schools out, they see our students. So like last year, one of my students, he's going to UChicago for free. Sean Tibor: Nice. Quincy Tennyson: So there's a half million dollar education that guy's and he deserves it. This is a student that was a Nepali refug. He came over here and he killed it. Ever since I've got a student that's going to Harvey Mudd this year, I would say the majority of our students will end up going to college. A lot of that is because of that program. Like allowing them to do that without an enormous financial obligation. There's an enormous amount of work to be done across public education in the high school level for providing students with a better college simulator and a better view of what they could possibly do other than college. For my lot, we have a pretty good system figured out. Kelly Schuster-Paredes: In your early classes. Where do you guys. Where do you start them? Do you start them straight from like the IDE or do you give them, for example, like VS code? Or do you. Where do you start them? People who want to start a program, assuming that the kids are young. I know what I do, but mine's sixth grader, so what do you do at the ninth grader for them? Quincy Tennyson: Okay, there's what I. There's what I probably would do and there's what I can do. I used to start them out in idle. I believed in that very strongly. But no, we use a tool called Code hs. We used to use replit. Replit was banned by our district. Kelly Schuster-Paredes: That's okay. They don't allow for free anyway, so it's fine. Quincy Tennyson: I'm not certain that Replit did the best job handling their educational stakeholders. But anyway, so we use Code hs. Kelly Schuster-Paredes: Okay. Quincy Tennyson: But I moved them off that pretty quickly. We're trying to get to VS code quick. Kelly Schuster-Paredes: Okay. Quincy Tennyson: Yeah, I think having some reasonable tooling in the IDE is good, particularly if it removes some of the headaches that can come with tools like Codehs, where there's just the feature set precludes what's convenient for learning from time to time. But in other cases, it's good. Kelly Schuster-Paredes: I'm starting to realize in my old pythonista age, like, it's great for sixth grader. I even have an eighth grader who still is going back in MU and we're trying to move her out of mu because what happens is, and this was my own personal experience, you're in that safety realm of a nice kitty MOO editor. And then when you get into VS Code or pycharm and you have to make a virtual environment and you have to upload your requirements, it's like a rabbit hole of unknowingness. So that's interesting. I do agree. The CS code you in this nice packaged environment that's not real life. And so you get to this false pretense that you can code really well. But then when you go out into the real world editor, you find out there's a lot you don't know. So that was interesting. Quincy Tennyson: Yeah, it's not a. It's not a training tool as much as it is convenient to be able to create these sandboxed environments quickly or like post assignments and isolated things there. But Once we get into dealing with anything that's significant, we prefer VS code for sure. And that is what we are authorized to use. Kelly Schuster-Paredes: Nice. So it's the same for me for Colab and Jupyter Notebook. I start going into Jupyter Notebook and do my environment or my kernel and then I get lost in my kernel and then I'm just like, nope, going back to Colab where everything I can just upload exclamation pip install into that. Going back to just real quick skipping back and forth from young to old. How do you teach your Agile methodology into your computer science building? I like that idea of Agile and project building. And what is your setup for that? Quincy Tennyson: Oh man. Okay, so from a like philosophical standpoint, most teenagers are kind of in waterfall mode. They have a big plan when that plan does not work out, like what's going to happen? And so first we try to understand how really, really long term planning out extraordinary expertise and very clear vision and requirements can go wrong. And then we just introduce this idea that what if we move through things more iteratively? Agile brings in what would happen if you just really focused on one priority for a week or two. Right. That's all, for the most part a foreign concept for a lot of of our seniors. And I don't mean that, that they're incompetent about it. Right. It's just that if you've never considered working that way before, or you more importantly, you've had zero incentive to work like that before, that it's hard to see it. So we keep it pretty simple. Yeah, go ahead. Sean Tibor: I was going to say, I mean, I think that something just clicked for me because I think that makes sense. They haven't been taught that way, they haven't been incentivized that way. It's for the most part. Think about how they work to write a paper for a history class. They start writing and then they write until they're finished and then they submit it and they don't. There's not that iteration on revisions or planning the work or writing pieces of it and assembling it and math problems. How many students really take that approach of I'm going to go through it multiple times and I'm going to solve the ones I can solve easily first and then come back and solve the other ones and finally work on the hardest ones. Everyone goes through in this very linear sort of progression of I do the first problem, then I do the second one and I get destroyed by the third one and then I don't Even get to the fourth one because I'm too upset and frustrated at that point. So it just occurred to me how much of a student's workload and work life in school really, truly is a waterfall methodology. It's so linear and straight through. Quincy Tennyson: Yeah. There's one of my favorite books I read when I started teaching by Dr. Sandra McGuire. It's called teach Students how to Learn. Pretty straightforward. The book is about her journey from being an organic, sorry, organic chemistry professor who was just noticing. Man, students really struggle in this class. They seem like smart people. What's going on? And so she basically did a study across multiple tutoring centers about what works for students and what doesn't. And she has this great line in the book, which is about high school or pretty much all of K12. It's a science experiment. Students that have aptitude show up, they listen, they receive a multiple choice test, they do well and they proceed and they proceed with that until the experiment stops working. And so if the experiment does not stop working until organic chemistry, they've just been a great scientist the whole time. Like, they've just been, this experiment works great. Why would I change? So that goes back to what I'm saying. Like, I think that environment has to create incentive to change those habits which they really have to have because 60%, I think that's a. I mean, that could be a misquote on the percentage. But a very large number of students do not make it through their freshman fall. A very large number of students. Kelly Schuster-Paredes: I blame my teachers for not being pre med because I failed organics twice. I was like not taking it. And I was a good test taker and a good learner until organic chemistry. So, yeah, I blame that. Sean Tibor: And the real tragedy is they blame themselves for not being smart enough. And it's really not a question of intelligence. It's about mindset and approach rather than how smart you are. Kelly Schuster-Paredes: Yeah, but that's why I love computer science. That's why when I started coding, Sean was on this whole journey with him. So I think that's how we have such a. This amazing connection. Because Sean, I saw him transform to this beautiful butterfly of a teacher from what he was doing stuff. Yes, there you go. Spread your wings. And he watched me transform. He could literally imagine my brain. Just like we tell the story all the time about when I finally realized what functions were for. And he's in the middle of teaching it for the 12th time. And I sat there and I went. And he goes, you just finally realized. But it was these Things of him even saying it a whole bunch of different ways for the kids that it could finally connect. That's what's so beautiful about computer science. Cause you can teach it over and over again. And you try to do different ways of teaching, and you try to explain it differently. And when you really internalize and understand what's happening under the hood and you can explain it to a kid that finally gets it, it is a beautiful transformation. That's why I love eighth grade, because I have the eighth graders right now, and I'm going through the basics again and reviewing for the first two weeks. And some of the kids, they're like, where did that come from? When I said, see, you learned it, you remembered it from the nine weeks that we had three years ago at the beginning of the quarter. It's a nice feeling. And that's why CS teachers are so proud of coders. My opinion, it's. Quincy Tennyson: Yeah, it's exciting to see the growth and the retention of those strategies, like the problem solving strategies. They really develop that resilience with the code, and you can watch that grow. Yeah, that's awesome. Kelly Schuster-Paredes: So you do a lot of girls with code, and you said something about changing mindsets, and we really love that philosophy of changing mindsets. Do you want to talk a little bit about that and develop for our listeners? Because I think it's the mindset. You're like, yes, why not? Quincy Tennyson: Oh, man. Kelly Schuster-Paredes: Your philosophy 101 mindset change. Quincy Tennyson: Yeah. I think that if I have a side interest, if I had an alternative career, it would probably deal with neuroscience and psychology. I'm very fascinated by all that. We spend time talking about that to help students understand, why is it that I am perceiving the world in this way? And so people like Daniel Kahneman and Amos Tversky and then Richard Thaler, all these behavioral economists that have contributed so much to helping us understand the shortcomings in our thinking processes that are shared across every human being. We do all these little experiments to try to prove it to ourself that we are gonna. We're gonna behave in certain ways. The more we deny reality about how we think, the more we want to. Maybe. I don't know what the right way to say it is necessarily, but the positive way to say it is if we can be very honest about how we think and try to understand that very deeply. That's extremely empowering. In my experience as a person. That's extremely empowering is realizing you have some options once you get to that point of awareness. That's Part of computer science, too, because computational thinking, the thinking, like it's right there in the title. This is a subject that is about thinking. Not that any subject isn't about thinking, but when we're putting a flashlight on how our thought process is different from a computer, that maybe opens our curiosity to how our brain really works. I'm trying to get some mindset change through that as much as I can. For students that are open to doing. Sean Tibor: That, are you finding anything in particular that is more effective with the underserved students that you're working with? For girls who code, that really helps them have those, aha, moments where they can connect the way that they think to this opportunity. With computer science, I think that's an area where, as an industry and being out on the other side in tech now, we still struggle to get people from underserved communities, women, people of color, Latinos, you name it. There's an opportunity there to be more inclusive and bring more people into the tech world. Is there anything that you've worked with that seems to help encourage or connect that opportunity for them to the way that they're thinking or their mindset? Quincy Tennyson: That's a tough question. Two things came to mind when you said that. So the first for me is I am very transparent about failure. We actually have a fail tracker on my board for when I make mistakes. So the thing that everybody has to come to understand in the classroom first is that we are going to be very comfortable with that. We have a lot of talks about it, and I'm just an open book with my students to the degree that I can be about mistakes. Like we do financial literacy for the seniors at the end. And I talk about just how many ways I blew money and had no idea how to manage money when I was a young person. And because for my population, I'll tell you right now, they will eat you alive if you are not honest with them. And so the other part of it, outside of transparency, is I set pretty high expectations for every student, and then I am really with them all the time early on. And it's. I don't know if it's like my Marine Corps background. I don't have any problem being with a student and kind of being intense about helping them through questioning, get to a solution. Trying to be very Socratic about that. One of my old assistant principals, she used to call it being a warm demander. And I really believe in that pretty strongly. And so what they like about that, or at least from my view, is sometimes for the first time they're seeing themselves in what they know is a difficult course. They're taking my quizzes and there are no retakes. This is not easy. And they're being expected to really, really understand stuff. There's no multiple choice, do you know it or not? Really explain yourself, really solve a tough problem. You can do that provided that you are willing to coach and coach and coach and coach and coach. By the time they're juniors, they don't need very much coaching. Now they're self coaching. Are they coaching their peers? That's a shortcoming that I've got to work on. And we have these advisory councils that meet with students, faculty, admin business partners, and one of my juniors, she just looked at me in the face. She's like, you tell us we're going to need to collaborate at work, but we are not collaborating in the classroom. We're not doing enough of that. I was like, okay, fair feedback. And so that semester I built out this big group project. We did like a conflict management inventory with all of them. I put them in roles based on their strengths and they fought and didn't get along with each other. But then they made these really cool independent projects that they just developed on their own. It's the coaching, like, it's not necessarily being a content provider. It is, you are coaching mindset change first and then all of a sudden the content's like appealing because, oh my gosh, I can actually understand this stuff. Sean Tibor: So just to repeat that back to you because I think the warm demander thing really is an interesting way to describe it because I've always thought of it. I'm wondering if you can let me know if this is the way to think about it. It feels like you're describing setting a very high expectations environment but also being very transparent about I'm not being hard on you or I'm not trying to hold you to an unfair standard. I'm holding you to a high standard because I believe in you and I believe that you can attain it if you're willing to put in the work and try really hard to achieve it. And it may take you whatever time it does. But you're really saying it's not about setting a high standard because I just like high standards. It's saying I'm setting a high standard because I believe you can make it. And when you get there, you're going to be able to do more and accomplish more than you ever thought possible. Is that a fair way to describe it or is there more nuance there. Quincy Tennyson: Yeah, I think what you said about solving problems is, to me, sometimes for students, that can be like a high standard. It can feel that way. It's not really to someone that's experienced. Sometimes I go to Pycon and again back to Daniel Kahneman. Like, there's a lot of curse of knowledge. You know this very well. And it, like when you talk with someone else, it's kind of clear that you are having a hard time putting this in terms that make it clear. You also remember a time when you didn't know. So I don't ever want to appear that way to students as though I somehow know something that they could never know. That can sometimes come across like teachers can, me included, have set standards before where it's like, well, I just know this, and if you don't know this, I don't know how you don't know it. So doing the opposite of that, whatever you could call that, I don't know. I feel like that's. That's really important and that's part of what works, is see them actually recognizing that they are capable of pretty deep sustained reasoning. That's not a ubiquitous skill in the public school side. I'll tell you right now, that's not every student. Kelly Schuster-Paredes: There's so many thoughts going on in my mind right now because of course, I had to go search up some of these names. And it came up with predictably irrational from behavioral economics. And that was some of the people that you named. And I'm sitting there thinking about middle school and the mindsets and how I always tell the kids I have a really high bar and once you reach it, unfortunately, I'm just going to raise it. And they're like, why? And I said, because right now I'm smarter than you. And I'll do the air quotes for the listeners. I'm smarter than you. But I guarantee you by eighth grade, you're going to be way smarter than me in coding because it's only inevitable because I didn't learn to code in sixth grade. I learned to code when I was really old. And so by. By that exponential rate, you are definitely going to be way smarter than me in their junior and senior year. I do have a couple of juniors right now who are doing mad crazy things. They come to ask me and I said, listen, I'll be your duck. Talk it through. But. And, and I'm just thinking about this predictably irrational kind of idea and how even as an adult, and maybe this is why we gravitated to you so much. Cause I know Sean's like this, but it's that idea that we don't really cling to that first working solution. We know there's always something better. That's the beauty of code. I'm going through these notes that I just looked up, and we don't necessarily start at the keyboard. We may start at the keyboard, but at the same time, we're going back and planning and we're writing notes like I'm writing notes right here. It's these things that that school teaches you to do, but actual learning is completely opposite. That's what I'm hearing from your kind of take on this. And as a female in the area, I think that's what allows me to have more confidence in computer science is the fact that I know 1. I'm not gonna know everything in Python. 2. Just because I'm not the smartest one in the room doesn't mean that I'm not smart. Having these mindsets and these conversations with students is almost, if not more, important than actual coding, because that's gonna set the stage for the. For the person. Maybe they don't come out of the high school and start coding. I think that's what we've been saying over. And I just had this epiphany, and I thank you very much for it. Maybe that's it. Maybe that's the whole ticket of we weren't saying it correctly, that it really. We've been saying it doesn't really matter if you know how to code. But listen, you need to know these things because maybe one day you might. Or maybe you might solve the problem in a different way computationally. Quincy Tennyson: Sure. Kelly Schuster-Paredes: So thank you. I just had to share that epiphany with you. Quincy Tennyson: Yeah. The predictable irrationality probably comes from, like, Kahneman's paradigm, which is System one versus System two thinking. We talk about that in the class. I guess if I could put it all in a nutshell, I'm like, most students are in system one, 99% of their life. As a high school student at least we're trying to access System two. We're getting there as quick as we can, recognizing, like, we. When we're not there, trying to get into that rational thought process. And for the listener, there is not System one, System two, actually labeled in your brain. It's just a. It's just an abstraction. Kelly Schuster-Paredes: Well, like Python, everything's abstracted, so it's okay. Quincy Tennyson: Yes. Sean Tibor: There you go. Kelly Schuster-Paredes: That's very cool. I did want to go back real quick. I did take this note, so I Had a brainstorming moment and it might be interesting for you. Have you ever seen the Canva AI code? Quincy Tennyson: The Canva AI code? Kelly Schuster-Paredes: Yeah. So if you go to Canva AI, it starts spewing out this website CSS HTML kind of thing. And I had this crazy idea with our senior post AP teacher. She took that code, which is horrible. It's got all this Canva AI stuff in it, and she uses it with her CSS HTML and deconstructs and she pulls it out. We were talking about pulling it out, copying it, putting it in an editor and. And seeing how horribly you can improve it because it's really an ugly HTML code. So when you were saying that in project building, it gets them there, but then it's stuck in Canva it's like that design thing. Quincy Tennyson: Okay. Kelly Schuster-Paredes: But that made me think about that, so I shared that to everybody. Quincy Tennyson: All right, yeah, I'll check that out. We try to do sort of a crash course on the web stuff. So anything like that, that's. Kelly Schuster-Paredes: That was her thing. That was her thing too. She's like, let's just make sure we can figure out the tags and Ed edit some of the text and see things like that and make some color changes so that you understand what you're reading in a little bit. But not necessarily coding the whole thing. And that was a cool thing. Quincy Tennyson: Yeah. Sean Tibor: I mean, you read 10 times more code than you actually write, so. Quincy Tennyson: Oh, yeah, we're talking about that all the time. Kelly Schuster-Paredes: That is our philosophy too. What are you doing about AI? Because I have to ask everyone. Quincy Tennyson: Sure. Oh, man. Okay. So I think it goes back to what was said earlier. Like, what's the outcome for the students? I tell them from day one in the first course, it's like the goal, the standard is that you could read code very well. That's a tool that you can will probably use for the rest of your life. And now with AI, I think that's a bit inevitable. One part, as far as dealing with plagiarism and cheating, which are always temptations, we've gone to paper on a lot of stuff or we do more in class work as opposed to me offloading it to homework, that kind of thing. And I was a bit curmudgeonly about it for a while. I think what I'm coming around to is just healthy exposure. At the Rocket conference we were at the women's conference we were at with Girls who Code. A lot of AI folks there talking about AI. Microsoft Curse of Knowledge was strong. Guardrails are not an Afterthought. But it's not the first thing. No one's like, I Wonder how a 10th grader will use this. And of course for you and I, that is the chief concern. What happens when all the 10th graders decide they're going to use this? So having healthy conversations, what makes a good prompt? How can you get this to work for you? My girls that were at Pycon, they said it like, don't become dumber through AI. Don't offload something that you should probably be thinking about. And they're just, They are not fully formed physiologically human beings. They won't be until they're 26 years old. So any, I think, expectation that they are going to manufacture those guardrails for themselves, that is naive. So helping them use it productively, that's my goal. So I've got to be a lot more open minded. I think about my own use. So yeah, I'm in kind of like an experimental phase right now. Yeah. Kelly Schuster-Paredes: So I had a funny story from today because we again, very beginning, we were just talking about while loops and a basic code and colab will start typing for you. And it was constant password, whatever this is, let me in. And while password does not equal password, the constant print had a while loop and then it had password input and then print done. And I ran it and I was waiting for them because I accepted it. This is what the colab suggested. Thankfully I have this really smart little eighth grader, she goes, that doesn't work. And I was like, what do you mean? Don't you have to have the input on the outside? I said, okay, let's move the input on the outside of the while. What happened? All it says is done. You know, print's done forever. And I was like, well, why didn't that work? The code was right. The way that it was set up was right, but something's missing. So I said, this is a prime example why if you don't know what's going on, I just pushed, here's my AI code. You don't understand what's going on. You haven't instantiated the lowercase password at the beginning with here's the variable. So it had nothing to check with at the start of the wild true loop. So I love having these little examples. It's funny because normally you don't get that opportunity with simple code. But when you are just doing snippets and it makes a suggestion and you just say, oh yeah, go for it. Kids start to see that it's not always Understanding where the rest of the code was or it's not reading the previous code, it gets us in that conversation of I had to understand where the error was and you have to think through the problem. We use a lot of AI in the 8th grade class because I like to do a lot of cool things, but at the whole time they're always responsible to read it and to understand the basics. The foundational part and the rest of the stuff is just cool because we can make really, really cool projects. Sean Tibor: So what I'm finding interesting in professional context, I'm seeing the skill sets change already. It is becoming less and less about your ability to structure the code or to write it all yourself or to think about to be able to generate all the details. The models themselves and the systems for generating code are getting better and better all the time. And they're able to pick up a ton of context from existing code that you already have. But what is interesting to me is that the focus is shifting away from the actual prompt and into structured rules that you can keep with your project. So it'll be like a markdown file that describes all of the considerations for working within your project. We use Python, not JavaScript. We use these libraries, we use this, we're PEP8 compliant. Like, all of those things are stuff that you lay out in steering documents that guide the AI and gets automatically added to your context. What I'm finding fascinating about this is it's pushing more and more of the emphasis in the software development process back to having really good requirements, really good specifications, being able to make your thinking explicit, and then also on the other side of it, to be able to ensure that what is generated is actually solving the problem that you set out to. And includes a lot of the requirements that go beyond the, well, does it work or is it functional? So as an example, take your password prompt question. Let's say you were taking input on a website. Like someone's filling out a form and they're putting in information. One of the key security things you have to do is sanitize and validate that. They're not trying to inject additional commands or information into that form. So put in your name, Kelly. And if you send that directly into the database without sanitizing it, you could say, name is Kelly, drop table, users semicolon, and it would go in there and remove your user table from the database. How does the AI know? How do you, as the user or as the generator of the code, know that? So what we're seeing is that it's going back to more and more of these standards and specifications and requirements, including make sure you scrub all of your inputs for SQL injection attacks. So I'm curious to see, especially in the classroom, how we start to evolve our thinking along with that. That as we're learning how to write code and as we're seeing those things, it's not just about does this work or doesn't it? It starts to get back to how do we make our thinking really clear and transparent and explicit and focus on defining the problem that we're trying to solve in really clear ways so that we or the language model can solve it really easily once we have the problem well defined. Quincy Tennyson: I got a comment from my good friend who still works over at Farm Credit, who's one of our business partners. I sent him these new projects and he's like, yes, you've realized that there's twice as much documentation as there is code. Because, like, I had done so much documentation for each function and the doc tests and all that kind of stuff. I really try to view as, especially as students get more mature with it, start to view things or help them view things as a ba. Right? Like defining requirements. Where's your documentation for all these things that you initially set out to do with your. Oh, you don't have any documentation at all? Like, oh, that's an issue. Right. So challenging. Especially ambition. Right? I know that sounds like pessimistic, but I guess I try to be pragmatic with students and help them think that way. I'm going to make a video game this spring. I'm like, you might make a loading screen, but we can talk about if what you want to do is have made your own game in unity. We really have to do a lot of thought, thinking around that and documentation before we get started. The more they learn to communicate clearly. I beat up students all the time about what's happening next in the code. They'll be like, it returns this. I was like, are you sure it returns that? Because I'm pretty sure that's an expression that still needs to be evaluated. We have it. We have an assignment early on that's count the expressions and assignment. And they always come in at there's like three expressions and 10 assignments. Now there's 47 expressions. Sean Tibor: Right? Quincy Tennyson: Helping them see that stuff, that's the reading part and just being more really thorough in their thinking. Kelly Schuster-Paredes: I'm hoping to see a college board rewrite on principals because I think that whole concept of what you guys were just talking about is probably the core Is not probably, is most likely the core of a computer science classroom, like being able to identify all the issues within these principles that we're teaching. And before Sean says anything, I'm just gonna say it's 58 minutes. We promised 40, and we could go on and on. That's always our problem. But we're gonna let everyone go to dinner and wrap it up. Sean Tibor: Fair enough. Fair enough. Well, Quincy, thank you so much for joining us, and thank you for sharing your students work with the PyCon community last spring. It was really amazing to see all of the effort and thought and energy that they put into their projects, and thank you for shepherding them along the way in their learning. So it was really a great opportunity to see what's possible. And thank you for making that happen. Quincy Tennyson: Yeah. I appreciate the invite, guys. You guys have a good thing going here. It's awesome always to talk to you. Kelly Schuster-Paredes: We were excited about it. I do want to share one thing, a plug for Al, because Al Swigert's doing a lot of work, and he made another library that is pretty cool. And if you have kids that like to work in TK Enter and the GUI interface, he wrote a library called Buttonpad. He makes the coolest things. I'm just gonna say. Quincy Tennyson: He really does. Yeah. I'm gonna go ahead and give Al the shout out for being my sub plan. Al Sweigart, you are my sub plan. And then Eric. Eric's like, why I learned Python. Python crash course is how I learned Python the first time. So these two people are very important to me, and they deserve a shout out. Kelly Schuster-Paredes: Absolutely. If you haven't checked out his. I showed it to a ninth grader who is just a brilliant kid, and he's like, T.K. andrew. Okay. Gooey. And then I showed him this, and he's like, interesting. This could be something I could look at. And I said, finally, Finally. So a good shout out on that. Anything else to share, Sean? Sean Tibor: No. I think we're coming into the fall season, and I know we've been a little bit slow on episodes and recordings, but we're looking to pick it back up and get more out before the end of the year. Kelly. I think before we know it, we're putting together a holiday gift guide for. Kelly Schuster-Paredes: Oh, I have so many good ideas. Ready. We're going to do it. We're going to actually try to do it before the holidays this time, I think. Sean Tibor: Yep. Kelly Schuster-Paredes: All right. Sean Tibor: All right, we'll wrap up here one more time. Thank you, Quincy. We will definitely schedule another follow up episode. I think we have plenty more to talk about. And thank you for sharing everything today. We really appreciate it. Quincy Tennyson: Yeah, I'd love to do that. Absolutely. Guys, thanks. Sean Tibor: Well, so for teaching Python, this is. Kelly Schuster-Paredes: Sean and this is Kelly signing off.