All right. So, hopefully, you were able to learn something by having to engage with these questions, analyze them, write out an explanation, and then hopefully read some other people's explanations. Again, in this video what I'm going to do is, talk you through what my goal was for each of these questions in terms of what I wanted students to encounter and hopefully learn, and then give you some idea of how I would discuss in the class and encourage you to have these discussions with your students. So, question. Do these two programs do the exact same thing? Yes or no? The correct answer is true. All right. So, we're looking at here, we got repeat five times, move 50 steps one step, then we've got to move 50, wait one second, and then repeat three times 51. So, these look very different. How students are supposed to figure out that they really doing the same thing. Well, the key to understanding loops from very, very beginning until you get it, is that you can always take a looped program and remove the repeat, and by on what we call unrolling the loop body. So, I'm using a new term here which is loop body. That body is a word that we use to refer to all the instructions that go inside the C of the repeat. So, that's all the body of the repeat. So, it's like the head is on top, and then the feet were on the bottom, and this would be the body in the middle. So, you can actually just take any code and unroll it and then have the mark each loop body. So, let's see what that looks like. So, I'm going to start with the code on the left. These are still are two responses: the column left, I've unrolled it here on the right, and you can see it's moved 50. Wait one move 50, wait one move 50, wait one move 50, wait one move 50, wait one. So, I repeated that same loop body five times. These little orange things, I'm marking each of the loop bodies. So, and then you can have a kid put the numbers by them; one, two, three, four, five. Those two programs are the same thing. So, this is a process you can have your students do to really, really focusing on what does that repeat do. It would just makes those set of two instructions repeat five times. Let's do the other code. All right. Here's the other code. What's different? Hang on; I'm going to go back. Look at the code on the right now. See, there's three things there, there's five there. Three, five. Five because repeat five times. This one only has three because I already had a move 50 and I wait one second. Before the loop, and that's not part of our loop body but it still happens, then I had to repeat three times. So, I have the loop body appearing three times, and then there was a move 50 wait one second at the end. So, this is a great way for them to really see, let's mark up whether those things that happened in the loop or the various loop bodies, and that would help reinforce how loops actually work. So, now we got asked the question, if were those two things are the same? Well, let's put them next to each other on the same page, and yes we can see they are identical. The only thing that's different is this one had everything loop five times and this one has three. By the way, students might ask you: why would you ever do the one on the right? Well, hopefully, you wouldn't. It's actually much better to not have repeated code that is unnecessarily outside a loop or after a loop if it's the exact same thing as the loop body. So, we'd prefer the repeat five times. It's also less work for coding. All right. Let's look at the next question, take a minute to remember this one. So, this question is, the answer is moved 200 steps ahead because we're repeating four times, and all we're doing inside that four is moving 50 times. Now, based on what we saw in an earlier video, it's going to jerk forward 50 steps at a time a little bit and then turn at the end. What's the point of getting to this? Well, really? This is another one of those where I really want students to be still being reinforced about how important it is to pay attention to detail. Because a lot of students might get to the point where they're like, "Oh, one way that I can make a square or a box, is I do repeat four times, move 50 turn left. So, move 50 turns left inside that, and that will make it a box." So, it becomes a pattern that they get used to. That's okay, but when you need to, you should be able to look at the code in detail and really pay attention. All right. How about this one? This one has a video link, and I'm going to see if I can play it. So, take a minute. Again, we'll talk about the question first. We've got two repeats. See, there's one repeat, there's a pink one play sound, wait one second, and another repeat. What we're trying to do, is we're trying to find what is the values of the repeat. Number of times that the first loop should repeat, and what is the number of times the second loop should repeat. Actually, to make the most out of watching our video, I've got my hands right here. We're going to try to match code to behavior as usual. We'll use the fact that we've got two loops that we know we're going to be looking for. The key thing here is the different actions happening in each loop; that's going to help us match this up. So, in the top loop, it looks like it's moving and turning, and then the bottom loop looks like it's playing sounds. So, we're trying to figure out, how many times does the moving and turning happen? Then the sound one is a little complicated because there's one play sound, and then there's another place out in the loop. But, we'll have to try and see how that goes. All right. Let's see if we can play it. Again, you get to see my really messy desktop. It's loading, it's loading. All right. Ready? See if it'll play. Move, turn. Move, turn. That's the second time. Move, turn, that's the third time. Oh, you can't hear the barking. Right, of course. Because I'm recording, I don't have that happening there. So, that was a fail. I think I've got another video coming up so we'll keep it like this. So, what we have here is we can at least say, "By the way, we saw the dog move 100 steps and turn and that happened three times." We got that. So it happens that if you watch the barking, you'll actually hear, I think seven barks and it should be placed down and then six more, because you have a first bark, and then six more barks. Three and six. So, yeah. Downsides to having some audio mixed in there. It was supposed to make it easier for you and for your students, but when you're trying to record a video, that's really hard. Again, the keys here are we're reinforcing how you match behavior for code, and that you can use different actions. We also talked about using different wait times before to try to figure out where different parts of your observation are happening in the code. All right. We've got another one. Oh, actually I don't have to show you this one to make the point here, which is good. So, on the left, let me point out the differences: there's a repeat and negative three times. Repeat negative three, what does that do? I don't know. Let's figure it out later. Move 100 steps turn. Okay, that's pretty normal; we've been doing a lot of that. On the right, we've got to repeat three times, move negative 100 steps in turn. So, the one A has a negative on the repeat, negative three times which I don't even know what that means, and B says repeat three times, which I at least I know what that means, and it moves negative. Now, you may or may not have played or had your students play with moving negative or turning negative although that wasn't one of our previous discussion question. But the key thing is the value behind this one is for students to try to analyze and come up with what are the differences and what do I want to know about how Snap works. We don't know how Snap figures out negatives for repeats. We may not even know how it figures out negatives in 100. So, the key thing here is that they just come up with the questions, and then you could go on and live code these two things. If you don't like live coding directly in class, you can create a world where they're both pulled up neither of them is attached when the green flag is clicked. Then you just drag one on, and then you drag the other on. What you will find out that, by the way, repeat negative just does happen zero times. So, the code that's in there won't happen at all. So, that particular code, literally nothing happens. Because everything is inside the repeat loop and repeating a negative number means don't do it at all. The third one, the dog moves backwards. So, we have the same dog.