Hello there. This is Quintin. In this section I want to talk a bit about how computational thinking and JavaScript fit into a larger technology landscape. Because there are so many different technologies and so many different phrases that get used in this area, I want to try and just make it quite clear what it is that we're working towards. I'm going to put some of these terms onto this spectrum. I've got an arrow here, left to right. Let's start off on the left-hand side of the spectrum. Here we've got apps, the kind of apps that you'd find on your mobile phone, they've been around for 10-15 years. You use them very much by intuition. You don't need a lot of training for them. They're very simple to use and they tend to have quite a narrow focus. They've got a narrow purpose. If you think of a toaster, that's like the equivalent in the normal world. A toaster you can just toast bread with it really, and it's very easy to use. You can learn how to use it in just a matter of moments and be trained how to use it. But you can't use it for anything else, that's the point. You can use it to make toast, but that's about it. Now at the other end of the spectrum, we've got things that you might more typically associate with computing and software engineering. These kinds of activities which do require a lot of training. Here I'm talking about programming languages, databases, operating systems, networks, all of these kinds of tools. The difference between these and the apps is that they're very general purpose. You can use them for a huge range of different tasks. If we think about JavaScript, which is the programming language that you're going to be learning on the course. JavaScript could be used to solve any computational problem that we think is solvable, i.e, an infinite number of different problems with this one programming language. With that generality comes quite a lot of complexity. Because we have to work out how to enable this general-purpose tool to be specialized to solve the particular problem we want to work on. That's one of the challenges. That's really where computational thinking comes in. The skills to be able to see how you can match a particular problem to this general-purpose tool. Now there's a big gap in the middle here of my spectrum and into there, we have typical PC software, typical software like Word or Spreadsheets, that kind of thing. Microsoft would like you to believe that you can use these pieces of software in the same way as an app but they're not very intuitive. You can just start them up and start drawing graphics, writing big documents, doing spreadsheets, this kind of thing. But actually, I don't know. Here's a question for you. I'm sure you've all used Word or a word processor like it. When you insert an image into say Word. Have you ever had that situation where the image jumps around? You might have been in the right place to start with, but then you type a bit more and suddenly it's popped back a page or forward a page or moved a few paragraphs, have you ever had that? Most people have and they either just think it's doing it by magic and they get very frustrated. They get quite annoyed because they just can't make it appear where they want it to appear. But of course it's not magic. People who know something about computational thinking know that there is a logical, sensible design inside that piece of software, which is trying to emulate what you want or what a professional typesetter would do. That model in there was created by a human programmer who's put a lot of effort into it. But these are just complicated pieces of software and it's quite hard to present that model in an intuitive way. So what do we get? We get a dialogue box and it's got lots of checkboxes. Somebody who's proficient with this kind of software will come in and probably play around with those checkboxes and conduct little experiments to work out what's going on. To get an understanding of the model of how images are placed inside a document. That's another area where these are really computational thinking skills that enable you to have that investigative attitude to software. You know that the software is just following a set of rules. If you can work out what those rules are in some way, usually by this kind of analysis process, then you can get ahead with that piece of software. Here are two particular ways in which computational thinking is important, either because you're using complex general-purpose computing tools, or perhaps you're using large packages developed for particular specialized domains, but within that domain, they are general purpose. The word processor can be used for any document you want to write, Spreadsheet for any collection of calculations, and so on. Computational thinking is also useful simply in our world as it evolves now because so much of our economy and our society is being driven forward by economic growth. So, whether it's an industry or the economy, or whether it's to do with science and research. These fields are all moving forward with the advent of computing technology and the ability to think computationally is what enables a specialist in any one of these areas to be able to see ways in which they can take their field forward. Whether it's because they can see some new medical process that they can model using a computer or something in the financial world or in our economy. Wherever basically, we're able to see that there's an opportunity for some automated processing of information, then we can step forward. Just as an example of that, I've got my Apple Watch here. What does the Apple Watch do? Well, it takes in lots of information from its sensors, such as the accelerometer, or the GPS device, as well as the clock. It makes use of that information that's coming in and it uses it in complex models to decide how much exercise I've done. Then I can start keeping track of calories counted and the amount of time I'm moving and all sorts of things to help me become fitter and healthier. That's just one example where somebody has seen an opportunity to do some information processing that's helping our lives. Some things to say about a course like this, or this particular course anyway. There really are just these three overarching learning outcomes. Certainly, you will be learning JavaScript, which is a particular programming language. But in doing so, you will inevitably improve your computational thinking skills. If you were to take any programming language course, you will probably improve your computational thinking skills, a certain amount. Everybody has a certain number of these skills. A certain level of skill as you might say, some might be right at one end of the spectrum. Some may already be at the advanced end. Just by doing some programming, you will end up improving and enhancing those skills. But I think one of the particular things about this course that sets it apart, is we really try and focus on what computational thinking is so you can understand it a bit more clearly and have a better framework. I think that will enable you to learn these skills faster. The value of that is, it's not just about learning JavaScript. With these computational thinking skills, you'll be able to use them in all those contexts I talked about on the previous slide. In understanding their nature, you'll be able to see more quickly how you can apply them in any of those other contexts. In fact, how you can help others to do the same, to become a bit of a mentor for other people. That's the end of this particular segment. Let's go ahead to the next one where we'll be looking at in a bit more detail what computational thinking actually consists of.