What is computational thinking? That sounds scary. Is it about programming? Is it about computers? Is it about big data? Well, don't worry, because you know what? Computational thinking is what you just did. Yeah, as you were thinking about like, "How would I give a set of directions to somebody to get from wherever I am to the mall?" That was an example of computational thinking. So, don't worry, because this is something that not only you can do but probably you do every day and so do your students. So, for example, in the task you just did maybe you've thought about this of saying, "Ha, Let me just think about it in my head, like, what would be the directions that I would give? How would I tell those?” Or maybe, you just thought about very specifically about a series of steps that you want to be to go through. Step one, go south on Main street. Step two, turn left at Meadow drive. Step three, turn right at the movie theater. Maybe you had a real list sort of orientation giving every little direction. Computational thinking encompasses many things, and as we'll talk about later, actually, it's defined differently by different people, but there's a particular aspects of computational thinking that a really core and everybody agree with, and that we're going to particularly focus on in this course. And that is that computational thinking is something that comes starting from your head that you want to create something and then you provide some steps for the computer to follow in order to help the computer create what you want to create. So, that's going to be the key to computational thinking in this course. But it's worthwhile looking at maybe a more formal definition and so we're going to look at one that's really famous and well-known made by Jeannette Wing. This is Jeanette. Jeanette created this definition when she was working at the National Science Foundation, and was making the case that Computer Science and computational thinking, particularly, was really a requirement for every citizen in our society to be a complete citizen who can contribute in every way. She since gone on to Microsoft research, but you can still find her doing more thinking about it there. Here's her definition. So, let me give you a minute to read it. All right, so maybe this is a surprise to you, maybe it isn't. But again, very much more so than just programming. Obviously, the parts that I really care about highlighted here, but that really computational thinking about is the core of it is solving problems. Sometimes also then, because we're talking about computers designing systems, okay, and what a lot of people don't think about that really it's about understanding human behavior. Because computers only exist to solve human problems and so, that's a core part of what we use computational thinking for, is to help understand human behavior. Now, what's sort of hidden down at the bottom is that all of this is by drawing on the concepts fundamental to Computer Science and that's where we're going to leave that one be for a little while but we'll come back to it especially as we look at the new movements around what the K-12 Computer Science standards should be. We've gone a little bit further in sort of spelling all of those out, but a key thing to bring up again is that Jeanette also called computational thinking a foundational skill that we really believe that all citizens need to have regardless whether you're going to become a plumber, a farmer, a computer scientist, or a biologist or a doctor. Really, that in the same way that the skill to read, write, and do arithmetic is necessary for every citizen to be a full contributor to society. We think that computational thinking is also a skill that all people need to allow them the best possible options they have in society and to contribute no matter what their status. So, because we already said you did computational thinking, right? Let's take a minute to think about where do you possibly experienced computational thinking in your daily life? And remember this is everything from like thinking of ideas in your head to what you want and giving instructions. So, where do you experience it? Yeah, I think all of those examples are definitely ways in which computational thinking exists in all of our life. So, let's start by looking at a phonebook. Okay, you hardly have them anymore. That's really horrible for us in Computer Science because it was a great example, but do remember old paper phonebooks? They started with A and they went to Z and if you needed to look up somebody's number, you maybe like opened it like maybe halfway and you look to see what letter you are at and then if you were looking for a name that came before that and after that then, you only looked at in the first half. This actually describes a computing algorithm called Binary Search which is a fast way to get and look up something that's in alphabetical or some other sorted order. If you've gone to stand in line at the movie theater, hopefully, maybe in more recent time than this. There may be more than one person selling tickets and so, we can talk about what kind of algorithm should we have so that people can buy their tickets in parallel in a way that allows them to get their tickets most quickly and get in to see the theater. Or another problem, and very human problem, something I faced quite a bit is maybe I've got 60 hungry students and I need to find a way to get them all some pizza and get 20 pizzas sort of spread out amongst all of those students. Certainly, I'm probably not going to have a line like this one where each individual and I end up one at a time and come up and take a piece of pizza but maybe you'll pass the pizzas around or maybe I'll send servers to each table et cetera. There's a lot of different ways that we could describe an algorithm or a process by which we would perhaps try to get that pizza to the students. So, the key thing to take away here is that computational thinking is really actually something that's very conceptual. Okay? It's not just programming. It can be applied in many different arenas. It's also really important to remember that computational thinking is really about the way humans think. Again, all the examples we've talked about so far. Those are things that you think about and experience in the real world. Computational thinking is not about how computers think. It's about how we as humans think. Then finally, that computational thinking really is important for everyone, and I don't think I've probably given you enough evidence to convince you of that by now, but that's something that I will keep focusing in on in this course and getting you to reflect on how the skills that you're learning, in learning to program and think computationally are also applied to and are important for all of your students.