So yes, we're going to be doing some more programming puzzles, but they're going to be different. In this video, I'm going to sort of give you the overview of what they look like, and the rationale for their design. In the next video, I'll walk you through step by step of how you're going to actually do them for this particular class. First, think back to your interactive programming puzzles. So we give you a link to a snap program, and we would have these instructions there. And we were choosing to visit your very, very first experience with programming. So, do you remember what the key reasons were, that we did that? Well, one of the key things we have provided is we've provided, you didn't have to pick out what instruction to choose to make a particular thing happen that you saw in a movie. And you don't have to change any numbers, okay, or any words, actually, in the instructions. So these were already given to you. Why was it that we did that? Right, because writing a program is what we call a high cognitive load activity. There's just too many things when you're new to it to pay attention to, to remember, like, where do I go? And too many things to choose from in terms of the number of instructions, etc. So we wanted to have a lower cognitive load activity, to give you part of the process to engage with, but allows you to be more focused on fewer things. So next, we're going to move on. You've done that, had that first experience. You've gone, well as the teacher, you've been scaffolded through a program writing process. If it was your students in class, maybe you'd have them write some code. But then you have to worry about assessing, or checking your knowledge of, do I really understand how my program works? Or did I just manage to finally get the program to work, and it matches this? So we call this check your knowledge. And we're going to check your knowledge with something call non-interactive puzzles, all right? So we had interactive puzzles, which were in our Integrated Development Environment, our IDE. Non-interactive puzzles, you're not going to be able to get into that IED. You're not going to be able to get feedback from the computer. So why would we do this? Well, again, in the first experience, we wanted you to be scaffolded into how to actually do the programming process. Now, that maybe you practised by running a code. But you've only written one program. And it took a little bit longer, right, [LAUGH]? We want to be able to provide with non-interactive puzzles, the kind of practise that you might be used to offering students in other disciplines. Like, maybe Math, right? We don't just have our students multiply two times three once, and assume that they've got it, right? We tend to have the opportunity for them to practice more and more times. And moreover, so therefore, for us to be able to use that output of their practice to diagnose whether or not students are still struggling with something. So let's look at what it's going to look like to you. So, this is a screenshot of a Google Slides presentation. You'll be given one of these. Let's just look at the structure of the main slide here. The core of what you'll do for non-interactive puzzle is that on the left, you'll be given all the possible instructions that you need to use and a description. There's actually going to be a video before, but we'll get to that later. And the goal of doing what it looks like to do a non-interactive puzzle is to move them all over to the right here, and into the right order that you think it will be. One thing I want to point out though, is that again, these instructions are not real instructions. They're just pictures. They're images that we've made of the snap instructions. So they don't snap together, right, they're just there. So you don't need to snap them together. I know that in the snap, you would, but you just want to get them in the right order, right? All right, so why are we doing this? And perhaps, not something on pencil and paper like two times three, or something like that? Well, It really has, there's a couple of reasons. The first off is, I can draw the number six, to multiply out two times three. I have zero artistic ability, probably many of your students don't have any great artistic ability. So, we really don't want them drawing, that's going to be ugly for all of us. But perhaps, the most important thing is that when we're talking about creating a program, having somebody do it on paper is not an authentic task. Or in their head or whatnot, and then recording on paper is not authentic. What do I mean by that? Well, what's one of the reasons for example, kids need to learn multiplication. I want to be able to tell that if I'm going to buy something at the mall, and it's 25% off, I need to be able to figure out in my head by multiplying what the actual price is I'm going to pay. But, if you think about running a program, it's not like I need to be in the mall, and think of a program in my head, and be able to do something with that. Now, if I'm writing a program, actually at a computer, programming it in. And that is what we call an authentic use of programming. So, paper and pencil doesn't make too much sense in that regard. However, let me go back to that. Just as an FYI, in the world of university assessment of programming, we still do a lot of paper and pencil exams, midterms and final. And many introductory programming instructors ask students to write code on paper, and they seem to think it's really important. I've actually done some studies showing that you can't grade it very effectively. And there are other things that you can be asking students that would be better for them to do than writing code on paper. All right, so if we're not going to do paper, because that's not authentic, why not program on a computer? One, there's some challenges there. And this is something that actually, as I've thought deeply and done research with people around the world on assessment. And what does it mean to know that an introductory programmer, a novice programmer has learned something, and can do something? What does that mean? So, here's what I think when we ask students to write a program on a computer, the issues are. Right, there are many things that a student has to do to create a program on the computer, either to match a behavior I've asked for, or to implement something, okay? But when they've done it, and they've turned it in and are like, yay, I'm done. What do I as a teacher know that they actually can do? Honestly, I know that they can turn in a working program. Hopefully, there were a lot of things that went in through there that I cared about, but I don't actually know for sure. And I don't have any specific data on particular misunderstandings that they have, that I could maybe them work with them on. So, If I´m saying it doesn´t maybe necessarily assess, or identify particular things, what does it assess? Well, first off, it definitely assesses the students ability to use that Integrated Development Environment or IDE. And then I have some things that probably I care about, right? Finding in particular instructions, and then editing them as they need to be. Just physically doing the drag and drop, using play, using stepper, etc. It also tells me something about some problem solving process that is related to programming that we haven't actually nailed down. But I think, for me it usually means at this level, how many students match that video performance to the instruction that it adds, so that it comes out right. Or debugging and finding the things that are wrong, and it's not making it behave the way they want So, it's not that I'm not going to have students write code, and turn it in. I am, absolutely, but I'm going to use non-interactive puzzles for a more diagnostic form of assessment. And that is, I think I can get at some of the basics of the problem solving process without the distractions that come into there. Sort of like how to use the ID, do I know how to use stepper, do I know how to drag things out? Let's talk about that. So here's the teaching tip. The real reason I think these non-interactive puzzles are really, really valuable as a teacher. First off, we've done some preliminary research, albeit we could stand to have it replicated from other people. That people's ability to solve these non-interactive puzzles correlates with their ability to actually write paper programs. And again, whether or not we think that's important, some university people do, so hey, now you know that. But what I'll tell you is great. Is it so much faster to grade those accurately than code written on paper. It's so important. The other thing is, because it's much faster for me to grade it. By the way it's also much, much, much faster to ask the students to do it. So I can get them to do more of these non-interactive puzzles. In a given amount of time, than if I just asked them to write a piece of code from scratch, whether that's on a paper, or on a computer. So I can get more practice in, in a given amount of time. To me that's really important.