Raw Recording Sean Tibor: [00:00:00] All right. So Kelly, you're asking me, this is going to be a little bit of a short clip for the podcast because we can always have more calm content. you were asking the question about why do we teach computer science the way we do, what it, what makes it useful or sticky for the students that we're working with? Can you elaborate, get a little bit more on the differences that you see between the way that we teach and maybe the way that you've seen it taught in other places? Kelly Paredes: [00:00:37] Yeah. So like thinking about. How I see old school, computer science, just the way that I've seen computer science taught by a few people. And I, when I'm in there, I was trying to identify what makes us different to set apart. And what I noticed was a person or a teacher would go in and teach really in depth, specific concepts. So going to the basics of strings, you would learn everything that you can do with strings Sean Tibor: [00:01:16] and practice it exhaustively, Kelly Paredes: [00:01:19] which I don't even know, probably I probably know about a 20th of what you can do with the string manipulation. And I've been learning that as I've been going on with the code challenges, but I can write tons of strings and I can put strings wherever I want and code. So I was trying to, we were trying to, we were having this conversation of where you can pinpoint. What we do differently. and where I was seeing it in the, in my mind was we take a small dots of those, that string education. And we. Expand. We see it. We sort of differently. You see it linear. I see it this, like explosion of a sun. Like we teach this little circle of about string manipulation or strings data objects, or whatever you want to do with strings and dependent on the child dependent on the question. We radiate from that knowledge. So one child might learn how to isolate an index of a string. the other one might do more methods when it comes to manipulating. I don't know. I don't even know if some of this does that they might, but it's not an exhaustive list of things that you can do to strengths. Where are you? We're saying it a little bit differently, right? You were saying Sean Tibor: [00:02:38] I've seen both Heinz of education. So, my own path when I was in university was in information systems and I ended up doing a bachelor's degree and a master's degree. And the early part of my education was more of this. Here are a lot of concepts that we want you to. Understand, right? , we're going to teach you this really breadth and depth approach to all of the content that you should know as a computer science, personally your outcomes should be that you should know about object oriented programming, including polymorphism, . And all of the examples that were given, we're toy examples. They were here's a bunch of exercises and you can go solve these problems. And here's your set of code to go figure out. But I think where the disconnect happens in that kind of education is that the people giving the instruction, the people who have the knowledge and have the content, have a lot of trouble articulating why this is useful, why this is meaningful? Why are you learning? Kelly Paredes: [00:03:38] Sorry to interject me. Is that possible that person who's teaching it that way hasn't made the projects. And I think maybe this comes into how you and I. You've made a lot of projects. So we do a lot and I've done a lot of PBL and design. So we both teach from a project viewpoint. Is that possible? I Sean Tibor: [00:03:57] mean, the project, I think it's really the, why am I learning this, that piece is missing that context. And that comes often when with experience. so when I did my master's degree, I got a lot more business fundamentals, courses, finance courses, business, writing, communications, things like that. In retrospect, I'm glad that I did the master's degree, but I would have been even better off had I done that master's degree three or four years after university with some knowledge and experience from the working world. So I had context and connection points for that knowledge that I was acquiring in the classroom to how I would apply it and use it in the real world. And so in those first couple of years of computer science, the majority of what I got was. Here's a laundry list of information that you just need to know. These are our outcomes. You need to know all of this, all this stuff, and you need to be able to regurgitate here's what polymorphism is. And here's how you do, class inheritance and subclasses and all these things without a lot of context as to why you would do it. And the point at which it changed for me was actually in my, it was my junior year, my, when I got into my information systems, core curriculum, and this was with, Professor Hyman and Weinberg. They were the two key, professors. And I will always Kelly Paredes: [00:05:11] remember professors. Sean Tibor: [00:05:12] Well, I'll tell you why, because they were because their approach and what they taught me was that valuable and meaningful. So this was a sequence where the first semester of the sequence. Was two classes back to back. Each of them taught part of it and we were building essentially web apps, database driven web apps. So I had to learn about how the database works. I had to learn about PHP so I could write server side code. And then I had to learn HTML and CSS to be able to, create some sort of useful web front end. there was no JavaScript at this point, because at that time, JavaScript was not as valued as it is now, but each of our assignments were really. A project like a little mini project. For example, professor Heiman's sons were both into chess games. At that point, they were playing chess. They were in like a junior league and they were very accomplished. One of our assignments was to make a website for the chess club that had rankings and standings and chest results and all of these different things that were database driven. And you had to be able to create update, remove all of these things in the database. whenever specific actions happen. So I learned more about how all those different pieces fit together because now I had the context of I'm trying to make a chess website. So in order to make a chest website, I need to know all these different things. And that was really where I had to learn most of that myself. And that's where I went from being an okay programmer to being one of the better, more solid programming. Students in the class was because I learned how to learn what I needed to know in order to make that thing happen. Kelly Paredes: [00:06:45] So funny thing, and he hasn't read my blog all the way through and just saying this, you haven't read it. Is that KWL? So, I was trying to pinpoint, and this is funny because now it's all coming together. It's all making sense. So I have two, two articles I'm written. I wrote the KWL metacognition. I wrote the Bloom's taxonomy, which is in process and haven't published it yet. So the KWL, the way that I was, I w I approached this is, and this is now I'm starting to make a lot of sense in my head. What do I know? What did I know in the past? what do I want to learn? And then what did I learn? I was talking about how most teachers, when they use this KWL platform, that they do this thing in a linear way. They go through the, what, they know what the students know, what they want to, what they want to know and what they learn. And then the learning is over. But in my mind, it's like this cycle. And so if you take this to the analogy of the strings, what do they know about strings? What do they want to know about strings and what did they learn? And now that they learn that they go back and apply what they now know and it's this whole cycle thing. So that was that article, Sean Tibor: [00:07:55] right? And this is very iterative and it fits really well with software engineering. In fact, the overall engineering design process, right? So when we were doing this, we were really focused on iterative development. We went from that. Initial set of courses into a group project for the entire semester. And it was designed to be very iterative. So at each stage of iteration, we had to identify here are the features that we're going to implement. Here's the next part that we want to put into place, and here's what we need to create and develop for that. And part of that was here's what we need to go learn, right? Here's what we need to go figure out. And so having that purpose driven learning and an Everett of fashion allowed me to really get comfortable and familiar and competent. With these new skills that I was acquiring. And so when I think about what we're trying to do in our classrooms is not just dump a bunch of information on the students. We are trying to make it so that they develop several different things at the same time as part of an overall process and an experience of learning so that they have things like they know how to read for information. They know how to find information in the first place. They know how to apply that information and they know how to seek new information or identify learning gaps that they need to go fill. And I believe that's really the valuable skill that we can get, because if you can teach someone how to do each of those things, how to ask for help, how to collaborate with others, how to problem solve, Really this notion of problem solving. If we can teach them how to do those things. It's not then just here's the chunk of information that you acquired. It's here's the skills and the attitude, the traits, the behaviors, the competencies that you need to be able to go learn. Anything that you need to know to do what you want. Kelly Paredes: [00:09:39] She just highlighted what, something that we haven't really discussed a lot in which just like these, I love these little aha moments. So the other article I'm in the middle of is this whole blooms are Bloom's taxonomy. Remember? Cause like you were in class. I don't know what you were teaching. It was before the, yesterday, whatever it was about functions, it was something so silly. So like basic. And I'm trying to, I couldn't remember it for the article either, but I, all of sudden I was like, Whoa, something just clicked in my head. And I started thinking about this whole Bloom's taxonomy and. The one thing that we haven't highlighted, and I don't think we've ever highlighted, or maybe not explicitly is that fact of iteration. So in Bloom's taxonomy, it's like, it was always designed as a pyramid knowledge being at the bottom. it changes from time to time or application or critical thing, whatever they've changed it now to the very pinnacle and the idea is everything. hierarchal we're okay. Computer science teachers would think that they have to have all this knowledge. Information at the bottom. And then they move up to understanding and then they move up to creating where we kind of take one little pinpoint on the knowledge base, move up the peak of Bloom's triangle and come back down, constantly cycling. And what I was thinking about when you were teaching that function is like, yeah, I knew functions. I can teach functions. I was talking about the parameters. I was talking about the arguments. And I had created things and I was applying it and whatever, and I could do all this stuff, but I came back down and got a piece of knowledge that, yes. Okay. I might've had a gap. didn't hurt me from pro progressing. I had a gap. I came back, I learned it and I was like, Oh, go back up to creating. And I was in this crazy cycle. So I think like when I'm thinking about what we're doing constantly, when we teach. We're like, here's a list. Okay. Here's a Plano list. Here's make something with these lists. Okay. Don't forget. We also learned variables and F strings and whatever. Oh yeah. Now you can also apply a dictionary and we come back and cycle constantly in a, like a sprint faction fashion, like a scrum kind of like, Sean Tibor: [00:11:53] yeah, it is very iterative. And as you were talking about this, as you were describing it, I was thinking about the way that we. Acquire knowledge and this Bloom's taxonomy approach the idea of the pyramid. And I've got a long history of association with the pyramid analogy. Like I'm often a skeptic about it, right? Yeah. But I think a lot of it is this idea that we build Bloom's taxonomy by building exactly the base of knowledge that we need to achieve some goal. So if I want to build a pyramid that is. X meters tall. That means that it needs to be Y and Z meters wide at the base. And everything has to be predetermined. So waterfall approach to building a pyramid. And then I build the next layer on top of that. And the next layer on top of then the next layer on top of that, the thing is anybody who's like piled up dirt before, right? Knows that like you can't make a dirt pile, any taller on a given base. And so if you need to make it taller, if you need to make the P the pyramid, the peak of that knowledge, Higher or wider or bigger you have to add to the base. And the way we actually build our knowledge is not by setting out stakes in the ground, around each corner of the pyramid and saying, this is the biggest it can ever be, where we start is with a small pile of dirt. And we add to it to make it bigger and bigger. Kelly Paredes: [00:13:16] Right. Sean Tibor: [00:13:16] But it's, but it is true. Don't build it, knowing this is all we're ever going to need. We start with a small amount of knowledge. We build on that. And the more that we add to our base knowledge, the higher we can reach. And it's a constant cycle that we go through. We are always adding to that base of knowledge and we're always identifying new areas and new directions in which we can grow based on what we need to achieve. Kelly Paredes: [00:13:40] But you have to add a little caveat in there. Sometimes we also. Move in certain directions because of what we learned. So case in point, this dot replaced in date time, like on the fly, we've been doing birthday at whatnot, three times, four times, and that whole dot replaced, I was like, Oh crap. So which led me to have to teach. So that whole building of the knowledge coming back to these things and adding a little bit more knowledge. I don't know that. I think that's the pinpoint. I also Sean Tibor: [00:14:09] have to be kind to yourself too. When you realize that things go past you without you really absorbing that it might not be the right time for you because I taught the dock replacement. And it went right past you or you weren't paying attention. But now that you sought this time, it's going to catch and it's going to take hold and you've added a little bit of knowledge that helps you grow right now. I'm learning about our. Deep lens camera with machine learning and my entire thought process. And my workflow right now is setting out a goal that I want to achieve and continually building my knowledge and anybody who's started warn AWS, like every five minutes. I'm finding a new AWS service that I probably need to know about. So I'm just adding it to the list of these are the things that I'm going to grow and I'm going to learn about, and I learned just enough to accomplish the next goal. Then I go back and I build more and I build again, that was in my Kelly Paredes: [00:14:58] article, by the way, just so you know, it was case, Sean Tibor: [00:15:03] right? So that's funny. So this is, and this is the reason why we record the, these conversations. This is Kelly Paredes: [00:15:10] no, I believe we need to make a habit. This is honestly a spontaneous conversation. And I was like, we need to be recording this because I'm going to one, forget it too. It's not going to process. Sean Tibor: [00:15:19] Yeah, it's just a bonus episode. So I'm gonna throw it up online this afternoon, so you can participate in our Friday afternoon conversation. We have to go now, cause I've got to teach some kids about this whole process and hopefully, we'll get some more information. So. Kelly Paredes: [00:15:33] Cool. Yeah. Sean Tibor: [00:15:36] So we'll put the recording out and wait for your feedback. Hopefully we're touching something important. If not, you know what Kelly Paredes: [00:15:44] for teaching Python, Sean Tibor: [00:15:45] this is Sean. Kelly Paredes: [00:15:46] This is Kelly. Sean Tibor: [00:15:48] Signing off.