Categories
podcast teaching and learning

Podcast Episode 8 “How Do We Teach Algorithms?” with Dave Hillyard

Another episode of the podcast is live here

Transcript

 hello. And welcome to how to teach computer science. The podcast. This is episode eight. What is an algorithm, I’ll be answering that question and many more with the help of today’s special guest. 

Dave: Craig’s always like, Dave, say less, say less. 

Alan: Yeah, get to the point. Good grief. You’re a teacher, man. Explain things concisely. 

Dave: The thing is, I don’t know about you, but things fire off in my head. So I’m talking about one thing, but the multi core processor in my head is already processing something else, and I can’t help myself. I have to then talk about the next thing that’s popped in my head. 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

Alan: Yeah 

My name’s Alan Harrison, and I wrote the books how to teach computer science and how to learn computer science available in online bookstores. Please do go and buy my books or leave a review. If you’ve already bought them. Details at HTTCS dot online. That’s the initials of how to teach computer science. HTTCS dot online. Oh, so I had a bit of trouble earlier. I’ve got a new laptop and the music app wouldn’t stop playing someone like you. Then I realized it was A Dell. 

How does the CPU get to work? On an instruction cycle. And talking of work? When I was teaching an English teacher, asked me to round up his 28 glue sticks. So I said 30. Never ask a computing teacher for help. After I recovered, he said, can you pop to the stationery store and get me two rolls of sellotape? And if they’ve got glue sticks, get me two more. They had glue sticks. So of course I returned with four rolls of sellotape. Hey, I don’t make the rules. I just follow algorithms. My wife called and said “while you’re at the shops, get some milk and well, I’m banned from the co-op now. 

 We’re talking algorithms today and who better to talk to than the co-author of essential algorithms and data structures, a vital resource for teaching or learning a level computer science. Let’s hear what happened when I met Dave Hilliard.

Alan: I’m delighted to invite onto the podcast today a chap that a lot of you will be familiar with as one half of Craig and Dave. It is, in fact, the Dave half. Welcome to the podcast, Dave Hilliard. 

How are you? 

Dave: I’m good, thanks very much Alan. Thank you for inviting me, it’s a, it’s a real privilege to be a part of this amazing set of pods that you’re producing, I’m listening avidly to them all, I love it. 

Alan: Oh good you’re the one, yeah, you’re the listener. Um, I’m keeping an eye on the stats. I think I’ve had like 600 listeners across the five pods now, which is nice. It’s quite a niche podcast really, isn’t it? Computer science teachers, there aren’t that many of us and there’s fewer every week. 

Dave: It very much is a little bit niche. You’re absolutely right. And it’s a shame really, because you and I are both so passionate about computer science.

and the teaching and learning of computer science. And it just feels like the audience is so small which is a shame. If we were doing silly dances, then we’d have a, a huge audience. 

Alan: Possibly. There’s always the Hungarian dancer videos on YouTube to teach sorting and searching or cert, certing and sorting, as I often say in the classroom.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

Dave: The quicksort, certainly, and maybe we’ll get on to that a little bit later because, yeah, the Hungarian dance to teach the quicksort, there’s, there’s some controversy there. 

Alan: Ah, wait, is it not right? Ah, quicksort, don’t get me started on quicksort because The question is, 

Dave: is it a 

Alan: quicksort, 

Dave: you see? people say, oh, that Hungarian dance, that’s not a quicksort.

Alan: Oh, right. I tend to put it on to introduce the topic and I show bubble sort and I don’t bother with all the others. It’s just, oh, sir, put the Hungarian dancers on again. Yeah, I’ll just do the bubble sort one. If anyone’s listening and haven’t got a clue what we’re talking about, just search Hungarian dancers bubble sort or something on YouTube and you’ll find what we’re talking about.

So. That’s the topic for today really is the algorithms topic of the GCSE. So typical content would be computational thinking and then choosing an algorithm for a purpose and interpreting algorithms and then the standard algorithms that we’re talking about, bubble sort and linear search and binary search and stuff like that.

So one of my favorite topics to teach. I don’t know about you, Dave, do you enjoy teaching this topic? 

Dave: I love it. I have to be honest. It’s one of the topics, that I find the students don’t look forward to. They think it’s difficult, algorithms, but I absolutely love it. I, for me, algorithms is like, it’s like art. When I look at an algorithm, it’s like other people, looking at a piece of art and you know you go to a gallery and people stare at this picture on the wall and they’re talking about the emotions and feelings that that piece of artwork is giving them and the messages that it’s sending to the audience and I’m just looking at some daubs of paint, to be honest, and thinking, I’m not really sure what, what in all this.

I can admire the artistry, but I don’t get that emotional connection. Whereas when I see algorithms, as sad as it sounds, I get that feeling. So I get it. I look at the code, I look at the approach and I I get a real appreciation for the efficiency or the inefficiency and those kinds of things. 

Advertisements

Alan: Yeah. No, I’m I’m probably with you on that and if that makes us strange, so be it. We are algorithm geeks, that’s for certain. So, the art of designing an algorithm then, we normally call that computational thinking I’m obsessed with abstraction at the moment. how do we go about getting these concepts across to the learners then? How do we teach abstraction?

Dave: Yeah I like to have a bit of fun in my classroom and thinking about abstraction itself I get my students to make paper airplanes. I say to them today’s lesson is all about making paper airplanes. Come and grab some scrap paper. And I want you to make the best possible paper aeroplane that you can, and then we’re going to fly them across the classroom, and of course it’s absolute chaos, and the students absolutely love it, and I say we’ll get a bit more structure in here, let’s take our paper aeroplanes down to the main hall, and let’s fly them, and let’s see how how far we can fly them and whoever can fly the furthest with their aeroplane, they win.

And the students absolutely love it. And we then break it down and we say, what was important? Did, did you know, did I tell you that what was important is that your paper aeroplane had to travel the furthest? I didn’t tell you that initially, you might have assumed that, but maybe what I was looking for was the best design, the most unique paper aeroplane, the one with the most folds in it, for example.

And so we talk about what’s important. What was important with that paper airplane? And if it is a question of trying to get it to fly the furthest, then what are the characteristics of that paper airplane that make it do that? And is it important if I draw, for example, a cockpit and a pilot on the front?

Is it important if I draw something on the wings to make it look pretty. And so we use paper airplanes as a way of understanding what’s important and what’s not important. And because the students had so much fun with that, when we then say, okay, let’s look at this from an algorithm’s perspective, they’re in tune.

They get it. And they’re happy to learn something a bit deeper because they had some fun initially. 

Alan: Yeah, yeah we, we use that phrase, don’t we? It’s ignoring the, unnecessary detail and focusing on the important detail. And I always, I remember when I first started to teach computer science and I picked up someone else’s resources and we had a photo of a cat, and a cartoon of a cat, and there you go, that’s abstraction. And I remember being just as bewildered as the children at that explanation, because we then went on, probably the next lesson, to write programs, and nobody really explained to me, so I couldn’t explain to the pupils, what the cartoon cat had to do with writing a program. 

Dave: And, and that’s, and you have to start somewhere, don’t you? Yeah. And I, and I think for example, with that cat example, the other thing that I do with students is play catchphrase, right? And say, okay I’m going to put a picture up on the board a little bit at a time, and you’ve got to try and guess what that picture is and you can do it for example, in a number of ways with a picture that’s fully zoomed in. So the pixels are huge and then gradually kind of zoom it, zoom it out. So they start to see the picture. They enjoy that. Or you could have a picture of a cartoon cat, for example. And you’ve taken off the whiskers and you’ve taken off the ears and you gradually put them in one by one and you know you play catchphrase with the with the students they try and guess what that thing is so they understand about details and they understand what’s important and what isn’t but I know what you’re saying then there’s a conceptual leap between that And what it means in computer science, and of course it’s got lots of different meanings in computer science, but if we just pick one, it might be, for example, when you write a program and you save a file, you don’t know where that file is being saved on the computer.

Advertisements

the storage medium. You don’t know, for example, on a solid state drive, whereabouts in the chips was it saved? And it doesn’t matter. And if you don’t have a solid state drive and you have a hard drive instead, how did it move the drive arm to the place where it needed to be in order to write the data onto the platters in the right place?

It doesn’t matter, you didn’t need to know.

Alan: No, I totally get it and I think what I’m explaining there is I didn’t quite understand abstraction when I started to teach and so it’s important that teachers do. One of the examples I give is, is maps of course. We do maps, but to talk about different levels of abstraction you could, put up Google Earth on the board and go, there’s, there’s the earth with Europe there at the top. Is that a map of where we live? And the students will go, yes, that’s a map of where we live. And so you say to them show me how to get to the library then. And you can’t until you zoom in. So you go down a layer of abstraction but how do we get from that to, creating a program or a data structure to solve your problem. How do we make that leap? 

Dave: It’s not straightforward, is it? But one example that I use is the game of snakes and ladders. They’ve all played snakes and ladders, as a child, and you could even play a bit of snakes and ladders to start with in the class if you want to have a bit of fun. I think, you’re hearing here that the message is have a bit of fun. And what you do is you put snakes and ladders on the board and you can have as many counters as you like.

In snakes and ladders, that’s the beauty of it because it doesn’t matter how many players there are in snakes and ladders. Lovely little bit of abstraction there, but what you can then do is say okay, so we’ve got we’ve got a board and we’ve got 100 squares 10 by 10 and And we’re going to put some ladders on there.

We’re going to put some snakes on there. You’re going to have loads of questions about does it matter how many squares there are? Does it matter how many ladders there are? Does it matter how many snakes there are? Does it matter how big the snakes and ladders are? And you can talk about the effect of changing those variables, if you like, on what it is you’re doing.

You haven’t gone anywhere near a program at this stage. And then you can say, okay, let’s think about moving the counters. This is where we get a bit deeper. Because if you’ve got a 10 by 10 grid, then when you get to square 10, you have to go up one and then start going back in the opposite direction. So those of you that know snakes and ladders, hopefully everybody, you start at the square zero in the bottom left, and then you travel sort of nine squares to the To the right.

Then you go up a square and then you travel nine squares to the left and you keep zigzagging up and down. And what I say to the students is, so what data structure could this be? And we start thinking about the relationship between that and a table of numbers and, oh, it looks a lot like a 2D array, doesn’t it?

A lot like a 2D array. I was like, yes, it does, but watch this because programming it with a 2D array is more complicated than it needs to be. What if. We actually unpacked that square into one long line, because at the end of the day, all you’ve got are squares from 0 to 100. So instead of seeing them as 10 by 10, why don’t you see them as 1 by 100?

Now what you’ve got is a 1D array. And that is significantly easier to program with. So I think you have to show the students through examples that they understand, have a little bit of fun, and then unpack those examples to explain to them how something that looks quite difficult could be made easier.

Alan: Absolutely. That’s a good example, and I’ll use that if I need to teach that again. Yeah, so it looks on the face of it like a 2D array. And yeah, what’s important about it is the numbers 1 to 100, and you travel from 1 towards 100, and it doesn’t matter that sort of it’s bent around. 

Dave: You take a step further with that, Alan, and you say, OK how do we represent the ladders then? How can we put snakes and ladders onto this 1D array? And you say because you’re using the indexes to represent the square you’re on from 0 to 99, then what you do is you use the elements or the data of that index to say what it points to. For example, they all have zero, which means all the squares do nothing.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

And then you might decide that square 47 takes you to square 2 because it’s a snake. Okay, so you store in element 47 the number 2. So what it tells you is where you’re going and then you do the same thing for the ladders and you can say to the students, so what’s the difference then between a snake and a ladder?

And they conclude there is no difference because ultimately what you’re doing is just storing a number of where one square takes you to another square and I say You see how beautiful this is when you take away the concept of a snake and a ladder and it just becomes a number. That’s abstraction. 

Alan: Yeah, absolutely.

And then what you build on top of that is the algorithm that processes it and the main thing it needs to do is let’s say you roll a dice, so it needs to generate a random dice roll from one to six and move you, and then it needs to read the content of the cell it’s landed on. And then process that and it might have nothing in it, in which case you stay there or you read the number that you then have to move to, which if it’s lower than the current number is obviously a snake back on our board game.

And if it’s higher and then it was a ladder. And so you can play it with just text and you can say, oh, you’ve gone back to. Blah, blah, blah, because you went down a snake. So the program could determine whether that number is lower than the current index and say you’ve gone down a snake, or if that number is higher than the current index, it could say you’ve gone up a ladder and you’ve got a text version of snakes and ladders in barely any code, really.

Dave: Absolutely, absolutely, and that’s the secret right there, because Snakes and Ladders looks on the surface like a difficult program to create for, a GCSE student, for example, but in reality, and I’m talking about creating it from scratch, and they find that really daunting, but in reality, when you break it down with them and you go through those layers of abstraction that you’ve described, what you conclude is you have One array, which is the player’s positions.

On the board, you have another array, which is the board itself, and that’s it. The rest of it is just if statements, yeah. If you happen to be on square a hundred, you’ve won. And so the program is tiny in reality. Mm-Hmm. . And if you then code that with the students, and this is the thing that I, I’ve learned is if you code that with the students and you show them the thinking process as you go through, then they start to realize that the skill here was breaking the problem down. The skill here was understanding that that looks like an array. So let’s. Use an array. So really the art here is teaching the students what those fundamental 

building blocks are and what they can do.

What is An array. What can it do? And then suddenly things become a lot easier. 

Alan: Absolutely. So I, I made a a text adventure program, it’s still on my Repl. it if you go to Mr. A Harrison on Repl. it. And kids around the world stumble upon my text adventure and play it and send me messages and go, hey, I won. But it’s like, it’s a text adventure with about seven rooms, that’s pretty much it. But I wrote it to demonstrate this principle of data abstraction because the rooms are basically in a 2D array.

And separate from the gameplay. And this is important, I think, when you’re designing a program. If you take the snakes and ladders example a bit further, my text adventure game has basically got a list of lists in Python and Each row is a room and it’s just a list of a description of the room, things that are in the room and where you can move to from the room.

And each row is a room. And so I’ve got kids, in year 10 going, all right, and taking my text adventure and adding rooms to it and then wanting to add features like being able to fight is a common one. And so it’s that. Principle of abstraction. Abstracting away the data and then writing an algorithm that matches the data and that’s , basically it. Then you’ve got it cracked. 

You make it sound so easy, Alan. How can it be, you know? 

So, uh, lots of people cleverer than us have done this. And you know what I’m getting onto. One thing I tell my kids is that von Neumann, he of the architecture was the guy invented merge sort ’cause he needed to crunch a lot of numbers when he was calculating well how to build a nuclear weapon unfortunately. How do you get across to kids that these standard algorithms are important and, and, and where did they come from and why do we need to know them, first of all? 

Dave: Yeah, that’s a challenge, uh, so just bring it back to their everyday experience, right? And say to them okay, when you’ve got list of tracks of music that you want to listen to and you want to put them into artist order, for example, how is a computer going to do that? If you’ve got a playlist of music and it to give you the next track, but although you’ve got random selected, you don’t want the chance of hearing the same track again.

Advertisements

So you don’t really want it to be random. How are you going to sort the list of songs that are available so that it puts them in an order that appears random, but you can’t get the same song again until you’ve listened to all the others, if you saw what I mean. 

So I think firstly showing the students examples of where these things are actually required in real life helps to cement why it’s important. Otherwise it’s too abstract. 

Now that we know why we want it, let’s all be songs, right? So what I want you to do is I want you to write down on a piece of paper the name of a song that you like. Alright. One I wouldn’t have heard of, because I, obviously I’m old and my, my music knowledge is uh, you know, stuck in history. So we have a bit of fun.

We have a bit of a laugh about my age and then we say right, okay. Write down the name of a song on a piece of paper, now and we do this in my classroom actually, but if your classroom is not very big, you might have to do it in the hall and say right, okay, I want you to come up and I want you to hold your piece of paper in front of you and you’ve just come up in a random order and I want to sort now these songs into alphabetical order and some students will have written the name of the same song and it doesn’t matter because that gives you a teaching point about sorting data that is the same.

But anyway, so you say we’re going to do this, okay. Let’s do it! And you just get them to do it. You haven’t taught them anything about algorithms. You just say, let’s sort these into order and just watch them do it. And uh, you know, eventually they’ll get there, but it’s a little bit slow. And you say to them right, what was your method?

What were you doing there? Oh, I don’t know. I was just looking at the name of somebody else’s piece of paper and deciding whether I was before them or after them, and so I was putting myself in the right position and looking at somebody else, and we didn’t really do it particularly methodically, but we got there in the right, good, OK.

So firstly, it would be better if this was a little bit more efficient and there was some logic and we were all following the same logic. That would help. The next thing that would help would be if we took some of the good ideas you had in there, like you compared your number to somebody else’s, that’s a good idea.

How can we decide which number you should compare your number to if we’re going to have a little bit more logic? Can you just break that down with them? And eventually you might arrive at an insertion sort or a bubble sort, but you don’t necessarily have to have that preconceived idea as long as you make sure that you focus on an algorithm that’s in the specification and don’t just do a different one and then you can play it out with them and say let’s put a little bit more logic in this, a little bit more logic in this.

And as the teacher, yeah. You’re gradually getting them to that bubble sort or their insertion sort, whichever was most likely the one that they were trying to describe. And they do it and they move it and then you do the algorithm again and you do it again and you say look how efficient it is when we’re all following the same instructions and the same logic and we’re moving just two people at a time.

This is working brilliantly. This, by the way, is called a bubble sort. Okay. So now you know how it works. Let’s get back down to our chairs. Now it’s taken you a whole lesson to do that, but it’s okay. You had some fun and they understand the reasons why. Then you can take the next level and you can say right, now what we’re going to do is I’m going to put some numbers on the board.

And you’re going to come up one by one. I’m going to give you the board pen one by one, and you’re going to come up and you’re going to show me what happens with those sets of numbers just one step at a time. So here’s the board pen, off you go. What are you going to do? I’m going to compare those two numbers.

Good. What are you going to do with them? Oh that one’s less than that one. So what do you need to do? I need to swap them. Good, swap them. Pass the pen to the next person. Come up, do it. Everybody’s watching, everybody’s involved. And then when someone gets stuck, so they’re a bit embarrassed, they’ve got the pen in the hand, they’re at the whiteboard, they can’t quite remember what’s happening next.

The rest of the class are telling them, I’m doing nothing. I’ve just sat back at this point. And the rest of the class say, Oh, you need to swap those two numbers. And they get over the slight embarrassment and they do it. And the more they watch and because they don’t want to be embarrassed, they are watching.

So that when they get to their turn, They know exactly what they’re doing because they don’t want that peer pressure. So I’m using a bit of psychology there. Once you’ve done that, do you know what? It’s easy to take the step of here’s a worksheet. Do that question. 

Alan: And what I take from that is obviously they’re having fun in your classroom, so they want to be there, which is always handy, but you are, you’re using almost a semantic wave explanation there, which is, starting with an algorithm, going down into Low semantic gravity, which is the easy bit of, moving around the classroom and, and sorting yourself and then repacking it into what the concept really is. This was all about algorithms. It was about the bubble sort algorithm. But the bit in the middle. It’s fun and memorable and you can, I find when I do stuff like that, it’s not just yeah, I might have invested a whole lesson in that activity, but I’ll refer back to it for the next six weeks and I’ll go, do you remember when we did this?

And do you remember when you did that? And they will remember because it was a memorable exercise. 

Dave: I think the worst thing that you can do is just stick a PowerPoint on the board and say, today we’re learning the bubble sort. This is how it works. Here’s some numbers. Now you compare the first two numbers. If this one’s less than this one, then swap them over. The students have just switched off. They’re never going to learn algorithms like that. 

Alan: Yeah, absolutely. , So you need a Hungarian dancer video or you get them up doing the Hungarian dance. So go what do I do? I will get playing cards out to teach merge sort and things and it’s quite handy this because if I have just done a test on paper and I’ve got all the test papers in and they’re in random order and it’s handy for me if they’re in alphabetical order when I mark them because then I can just transfer the scores onto my mark sheet.

So I get the kids to sort the pile of test papers they’ve just handed in you. And I get the stopwatch out and go how quickly can you sort my test papers today? And then they’re like, alright, what if we split them up into different piles and and I go, yeah, merge sort that will do, you know,

Dave: Absolutely. So many other things you can spin off from that. ’cause you can say I’ve put the papers into two, and I want to sort that pile and that pile. And you might not be doing a merge sort. You might be doing two independent bubble sorts, for example, but you can say, is that still quicker?

And you can have that whole conversation about, multi core processors and concurrency and, what were the overheads of doing that? We’ve got one pile sorted and we’ve got another pile sorted, but they’re not sorted into one pile. Now, what are we going to do? Other ways of making that more efficient and loads of things.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

Alan: Funny you should say, splitting into two piles and then each pile sorted maybe with an insertion sort. You’ve just described the built in sorting algorithm that’s in the Python implementation that we all use. It’s called TimSort after the developer, Tim somebody, I’ve forgotten his name, but it will break down an array into sub lists and insertionsort them and then merge sort them together. It’s a hybrid and a lot of Commercial sorting algorithms are hybrids these days

Dave: they are, and of course you can have that conversation about why would we want to do that, and this is A level, but you’re getting into efficiency and you’re talking about efficiency is also determined by the size of your data set, because guess what? If you only want to sort 10 items, fill your boots with a bubble sort. 

Alan: Absolutely. 

Dave: Because a quicksort will not be more efficient for you, so it’s about the size of the data set. 

Alan: And about the nature of it, how sorted is it, and is it sorted upside down, for instance, and some algorithms are terrible at that. If it’s nearly sorted, a bubble sort is quite quick, it doesn’t have to do very much, but if it’s upside down, a bubble sort is terrible. 

Dave: Absolutely, and even at GCSE you could have discussions about efficiency just with a bubble sort in the ways that you’ve described and even at a code level you can say what if you code the bubble sort with two for loops instead of a while loop and a for loop?

What would be the impact of that? And I would probably only do that with my most able students, the ones that, had a love of algorithms and they were really keen to learn and were going to go on to A level. I wouldn’t do it with everybody, but you can do that. You can go there. Even with simple algorithms, you can say what would happen if 

Alan: Yeah the thing is, last summer OCR did ask a question about the nature of the loops in an insertion sort, didn’t they?

And the question was, I think, I should know this because I marked it for OCR, Why is the inner loop a while loop in an insertion sort? And. And that was, that did, let’s say did stump a lot of candidates and that was a tricky one because I think it, I don’t think OCR had asked a question that deep about sorting algorithms for some years.

Dave: No, it catches people out because in the specifications obviously it just says searching and sorting algorithms, bubble sort, insertion sort, and so you teach the algorithms, but. You don’t think about what’s the depth I need to teach us about, the implications of changing this and changing that.

So it can catch you out very easily. Another nice little activity is to just give them the code and say this is. The code for the algorithm that we’ve been having a bit of fun with. But we’re going to see how efficient it really is. So here’s a line of code that’s going to create an array of a million random numbers.

Okay, we’ll do that. I’ll give you that code. And then What I want us to do is I put a little counter variable in there. So every time it has to check something, it’s going to add one to a counter. So let’s just put that in then let’s run the program and actually see how many checks it made.

And they run the program and it made several thousand checks. Brilliant. Run it again. Several thousand checks, but they’ll notice that the might be different because as you say the nature of the data sets and if it was a random number or we can then sort the random numbers which you can do very easily in Python in one command.

So they can see the effect on the changing data set on the algorithm without actually having to do anything other than insert a single line of code. And I get mine to then for example, plot results on a chart in Excel. So I say here’s the code for the bubble sort. Here’s the code for the quick sort.

Again, this is A level. What I want you to do is create a data set of, of. Random numbers or ordered numbers, whatever, and then I want you to plot the efficiency on a chart for me, and so you conclude, you can conclude which is more efficient just by running the algorithms, and they really enjoy that.

Alan: Yeah, I’ve done that before. Yeah, so you you basically you’re wrapping the call to bubble sort or whatever in another loop and passing to it different sized arrays. Maybe a growing sized array from 10 to however many you feel your computer can deal with. If you’re running it locally, you’re alright. I’ve done this on Repl.

it Before and then I get kicked off, don’t I? Because I’ve used all my cycles for the free free account on repl. it. So yeah, you can if you’ve got a class that you think are capable of grasping that, then you can get them to, really measure the efficiency. Of algorithms and compare them. And I take it 

Dave: Alan, I take it to the extremes as well, because I just love having fun with this stuff.

And I so I say to my students so we’ve studied the serious ones, right? If you call a bubble sort serious, but we’ve argued why it could be, right? Let me show you something really crazy. And I showed them the BOGO sort and the BOZO sort and I’m like, check this out guys, and you’ve got to be careful with that because the trouble with having fun is that sometimes the students latch onto and remember the bits that were not important.

Coming back to abstraction, they remember the things that are not important because they were funny. So you’ve got to be a bit careful with that. Yeah, with the right class it really works. 

Alan: I was talking to Andy Colley a couple of weeks ago, and he likes to show his students the most ridiculous user interface competition every year. And these things, even though they’re bonkers, and obviously they’re designed by crazy geeks with a geeky sense of humor, rather like us, they do demonstrate some of the principles that we need to talk about. What’s the best way to understand efficiency? We’re probably writing the least efficient. code you could possibly write to demonstrate how bad it could be.

Dave: I say to my A level students as a bit of work, for outside the classroom that senior leaders like them to engage with, I say You need to contribute to my ministry of silly algorithms.

Yes. 

So I want you to create a silly algorithm. I’m not going to define for you what silly really means. You need to deliver a silly algorithm. That’s good fun. 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

Alan: Absolutely. Well, What I haven’t done, Dave, and it’s only fair seeing as you’re giving me your time for free. I don’t, we, we have agreed that this is free, haven’t we?

Um, um, I haven’t asked you, what’s new in the land of Craig and Dave these days, Dave? 

Dave: What’s new in the land of Craig and Dave? So we’ve got a video series on YouTube. From David Morgan, the lesson hacker. 

Alan: Oh yes, loving them. 

Dave: Yeah, so every week he’s taking a current affair in computing and trying to present it in five minutes in a fun and engaging way for young people. And then in the video description I’m creating, and I stole this idea from you Alan, I’m creating fertile questions in the video description so that teachers can use them to have discussions with their class. about the current affair in computing, but related to the specification. So that’s good, that’s happening.

Alan: Can I just say at that point, can I just give a hat tip to William Lau, who put Fertile Questions in his book five, six, seven years ago, and also Mark Enser, who wrote a blog for TES on it. That’s where I got it from, it wasn’t my idea, but thank you for picking that up. 

Dave: Yeah, and SmartRevise just goes from strength to strength. There’ll be loads of new features coming out for that this year. So we’re spread thinly. We’ve got lots of other things that we would like to do. 

But thank you for inviting me onto your podcast. I think the final thing I would say is that your book is great. How to teach computer science, I think, is excellent for teachers. How to learn computer science, I think, is essential reading for all students, and my recommendation would be get a class set, and I’m not just saying this because you’re the author, I genuinely mean it. Get a class set of these books, hand them out, that is your background reading.

Alan: That’s very kind of you to say.

Dave: If at A level you have to do scholarship work, you know, this work outside of the lessons, I’ll tell you what you should do. You should get the students to read a chapter at a certain period of time in the year and get them to present to the class something about that chapter.

And at a very basic level, it could just be a bullet point summary. At a more advanced level, it could be looking into the most recent bits of research or development in that area of study and anything in between really, but use that book as a way of engaging in the subject beyond the specification in a meaningful way.

Alan: No, that’s great. Thanks for the the support and listeners probably don’t know if they haven’t got the book that you did help a lot with that, Dave. Thank you. The, the how to learn book and thanks for basically proofreading it and writing a foreword for it because it was very kind of you. So yeah the other thing I wanted to pick up is You said you’ve listened to the previous podcasts. I just wondered what your reaction was to the story that I revealed to Harry and Anna last week. I can’t, I don’t think I’ve told you this, but I did get asked in the classroom, when we did that unscripted video together a couple of years ago, , and , my class at the time were very, Excited about this, about me doing a collab with Craig and Dave, as they called it.

Um, And they asked me questions about you. And one of the questions was, are Craig and Dave married, And, and of course I nodded along and went, yes, I think they are. And, and that caused a lot of consternation. Did you hear that last week? 

Dave: I did. And and when you said the word collab in a kind of Slightly awkward way as I just did then. 

Alan: I’m down with the kids. 

Dave: I know you are. I noticed Harry’s little snigger at that point and I thought, yeah, that says everything to me. But yeah, people used to think that we were just the same person because all they heard was our voices on the YouTube videos. And actually on a video Craig’s voice and my voice sounded quite similar And so the students were convinced that we were just one person for a long period of time then of course once we revealed our faces, the rumour mill then went into, Oh, they must be partners. They must be together. Uh, No. Craig’s married to someone called Sam and I’m married to someone called Carol. 

Alan: Okay. Well, I’m glad we cleared that up. Um, Good stuff. . Smart revise you mentioned. I’ve used it for ages it just keeps getting better. And you know it’s quite affordable. I wouldn’t teach without it. I do sound like an advert, but I couldn’t. I couldn’t teach GCSE and A level computer science without it these days, so go and check that out. That’s all the plugs for one day, I think.

Dave: I think so enough of that. 

Alan: Enough, so it’s been lovely to talk to you. I’m just looking at our list here.

Oh, misconceptions. So just briefly then. while we’re on algorithms and computational thinking and so on, what misconceptions, do you see happening? 

Dave: Yeah, I think one of the biggest ones for me, and it seems to catch teachers out as well, is the idea that when you’ve got an array, that the first index is always either the X or the Y when you look at a table of data. So is the first index the column or is it the row?

And it doesn’t matter. As long as you are consistent. It doesn’t matter whether it’s X comma Y or Y comma x, but it seems to catch everybody out I that the first one must be the row, or the first one must be the column. 

Alan: I think it comes from Python learning, Python, which doesn’t really have arrays and populating a list of lists in Python. In the top of your code necessarily means you do it one way, not the other. And so you do students equals open square bracket. Then you open the second square bracket and do Dave comma computer science or whatever. Close the square bracket and so your students will be in rows in that list of lists in Python.

And so the first index would be a row I do try and fix this one so I will take that code and just order it differently so the student names are all across the top row and the data is on the next row and so on because there’s no reason why you wouldn’t do it that way.

Dave: The other misconception, coming back to algorithms, is the misconception that, for example, a binary search must always be better than a linear search. No, because if the item you’re looking for is the first item, in the data structure, then a linear search will, in that case, always outperform the binary search.

So that’s a misconception. And then leading on from that, the misconception that a linear search has to start from index zero. It could start in the opposite direction. And in fact, there is a version of the linear search that actually looks from both directions at the same time. There’s a misconception in computer science that there is a way of doing things.

Advertisements

Alan: Yeah. 

Dave: And there isn’t. There are multiple ways of doing the same thing. It’s just some are better than others and some are better than others in different situations and it gets confusing. 

Alan: So a standard algorithm is really a broad Concept, it’s a, it’s more like a family of algorithms that follow a certain pattern.

And the other thing that people ask me all the time is, when you do a binary search and you find the midpoint, do you have to go up or down if there’s an even number of. And I say do whatever, either way, but to code it, normally you’re going to use floor division, aren’t you? And go down, but it doesn’t actually matter because you’re going to find the item.

The only difference might be one or more fewer comparisons in one direction than the other, but that will all even out when you’ve got a million items to search that doesn’t actually matter. 

Dave: Yeah, the other misconception is that in maths they might get taught, for example, the Hoare method of a quicksort at A level, and then in your class you teach them the Hungarian method. And they’re different and they say quicksort and you say no it’s a variation of a quicksort because you’ve also got the Lomuto method. And those are just three methods and you know what actually current research into quicksorts that are using multiple pivots and not just one. There are actually hundreds of quicksort algorithms.

And as soon as teachers and students realize that it’s eye opening that there is no right answer. And I think the thing that fascinates me the most at the moment is that the research in this area hasn’t stopped just because we’ve got these standard algorithms and we’re teaching bubble sorts and insertion sorts and quicksorts. There’s an assumption. And a misconception that the research has stopped. No, it hasn’t. And actually in quantum computing there’s active research right now in turning some of these searching algorithms into even more efficient algorithms than we’ve got at the moment. 

Alan: Absolutely. If you are teaching A level, there are multiple Quicksort implementations. Learn one and make sure you can explain it really well and then tell your pupils that they might encounter other ones, but the basic principle of choosing a pivot and moving things either side of the pivot and then repeating that, Usually recursively, that’s a quicksort, but it can be implemented many different ways.

Dave: So you’ve done exam marking Alan, perhaps you can clear something up for us as well. Because there are so many different methods that you could take with some of these algorithms, the mark scheme will show a method, perhaps the most Obvious method that the exam board would perhaps like you to teach to avoid any confusion.

But what if a student actually gives their answer using a different but same family of algorithms? So for example, the mark scheme’s got a horror approach to a quicksort, but you see a Lamutu version as an examiner and you recognize that as a valid quicksort. What do you do? 

Alan: I think so. First of all, I’ve only marked GCSE papers, but I’ve had the OCR training, yes, a valid implementation that answers the question will be given the marks. I think there’s quite a lot of leeway there. So if it solves the problem, that’s basically what we’re looking for. 

Dave: And that’s the other misconception in teaching at the moment, that the mark scheme is the answer. 

Alan: Yeah, yeah, it’s a tricky one. So I do support a lot of teachers, in my other jobs, I work as a PDL, a professional development lead for the NCCE, and I deliver training and so on.

And I do encounter this, and so if, The teachers listening to this, please try to understand the concepts that you’re teaching rather than teach for the surface level of understanding of passing the exam. That is, in that sentence, is like a whole lifetime of learning, but it is really important that, it’s why I wrote the books I wanted to get these, Conceptual understandings of computer science across to teachers and pupils rather than just, oh, trying to pass exams. 

So, Yeah well, that was, that was brilliant. Thank you Dave for coming on and yeah, I knew, I knew we’d have a good chat about algorithms because you did, you wrote the book on it, talking of books, the, the, algorithms book available from craiganddave. org as well. So, um, So that was really good. So, uh, have you got any plans for Easter? 

Dave: Um, no, if I’m 100 percent honest with you, I’m not sure I’ve thought that far ahead. Thinking ahead, oh 

Alan: dear! Thinking ahead! 

Dave: I’ve got to be honest, OK, because the community out there probably now thinking how Dave lives such a sad life. He’s there looking at algorithms as if they’re art and he’s got nothing planned for Easter. I did. in the February half term go to Jamaica, we had our sort of Easter break in, February. 

Alan: Nice. . Well, we are tomorrow going to London to see Moulin Rouge, the musical. 

Dave: The West end’s phenomenal, isn’t it? An amazing experience. 

Alan: Yeah. Haven’t seen the musical yet. Love the film. Yeah. So looking forward to that. There’s another abstraction. How do you produce a film on stage? You know, how do you produce a book or a play on stage? Because you’ve got to abstract everything down to what will fit into the area of the stage. . This is me. All I could ever think of these days is abstraction. I was talking about Lord of the Rings with other Lord of the Rings fans recently, and we agreed that it was about the best series of movies that could be made from that book, but it was always going to fall desperately short because, I read Lord of the Rings and it probably took me, let’s say 30 hours. How can you make even nine hours of film out of what takes you 30 hours to read and even a minute’s reading could be an hour’s worth of movie .

Dave: The director has to decide what’s important and what’s not important at the end of the day. Which is a form of abstraction. There’s another example you 

Alan: Um, Well, we got onto abstraction in movies and everything then, , just as I was winding up. So I think now I do have to wind up and it’s been lovely to talk to you, Dave. And no doubt, I’ll ask you back on to talk about something else in the future but thank you very much for coming on. 

Dave: Thank you. It’s, uh, it’s been an honour. Thanks, Alan. 

Alan: You’re welcome. 

Dave: All right then, mate. Anyway, enjoy. Thanks, Alan. Bye. Cheers, mate. Bye. 

That was another epic. I’m off now to drink 32 pints of milk. And read about the latest advances in computing. Because I’m just as much of a geek as Dave. Quantum computing scares me though. Apparently you can store information, not as binary digits or bits, but in quantum bits called cubits. What do I know about cubits? Very little.

 How do you make a computing teacher happy? Give him arrays. Thanks to Andy Colley for that one, I did think he was going to say, don’t get his backup. but no it’s give him arrays. We don’t need much, just a bit more cache. Quick reminder that I don’t have any sponsors only you lovely people. So please. Go to my website, HTTCS to online and find out how to donate a little bit of cash. Buy me a coffee for three quid. That’d be very kind review my books on Amazon. You can use the discount code. HTTCS pod that’s HTTCSPOD on the website for the book, Johncattbookshop.com. That’s the publisher’s website, JohnCattBookshop.com. And you will get 20% off everything. Don’t forget there’s books by me, but also Mary Myatt, Tom Sherrington, Adam Boxer. And many, many more brilliant people. I will see you next week on the pod.

And until then have a good one.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!
Categories
HTTCS leadership podcast teaching and learning

Podcast Episode 7: “How Hard Can it Be?”

A new episode is live, featuring the wonderful Rachel Arthur of Teach First. Listen now here:

Transcript

Alan: Welcome to how to teach computer science, the podcast. This is episode seven. How hard can it be? I’ll be answering that question and many more. With help of today’s special guest. 

Rachel: Nothing’s real. What is real anymore? No. We’re all in the 

Alan: matrix, and maybe I’m a deepfake. Oh, well that would just be the 

Rachel: twist, wouldn’t it? 

Alan: More on that in a moment. My name is Alan Harrison, and I wrote the books how to teach computer science and how to learn computer science available in online bookstores, more details at the companion website. HTTCS dot online. That’s the initials of how to teach computer science HTTCS dot online. And if you haven’t bought the books yet, why not? We’re talking about training to teach today. I remember my teacher training. Well, and I was already blogging at HTTCS dot online slash blog. So I can look back at those days. 

And so can you, here’s what I wrote. In 2016. About this time. Last year, I was reveling in the joy of my first ever taught lesson. That lesson was exciting, a bit crazy and lots of fun. It went as well as could be expected. No, really. I was treated to some mentor feedback containing the words, the best first lesson I have ever seen. 

Thank you so much, Sarah. Today I’ll call that a punch the air day. But trust me, teacher training got much harder after that included one lesson. I will never forget. I had asked the year eights to complete a task in Excel and print it out, forgetting that a full print of my Excel spreadsheet would be six pages. Each. Times 30. On a printer that didn’t do double-sided and I asked them to start printing with five minutes left of the lesson. And there were no names on the printouts. 

 So as my mentor sat watching and yes, quietly laughing at me, trying to organize a queue for the printer with enthusiastic kids, grabbing individual sheets and shouting, whose is this waving lots of completely identical pieces of paper. I realized teaching is a roller coaster. Some days you’re up there in control, conducting an orchestra of kids, all making progress. 

 I seem to have mixed my metaphors back in 2016. Other days, nothing will work and the music will sound awful. That day. I went home feeling pretty down and metaphorically kicked the dog. Quiet password 15 hash. Don’t worry. If you have a kick the dog day know that you tried your best reflect, get advice. Change things, fix it for next time. 

The only bad teacher is the teacher that repeats mistakes. The teacher that doesn’t reflect refuses, advice and rejects growth. Be the teacher that reflects on every experience, learns from their mentor and from other teachers and changes things up for the next lesson. So not bad advice from eight year ago, me. But. My guest today has some cracking advice. Probably much better than that. And some of it isn’t about babies and toddlers. Let’s hear what happened when I spoke to Rachel Arthur and asked the question. How hard can it be?

Rachel: Hi Alan.

Alan: Hi, how are you? 

Rachel: I’m good, thank you. How are you? 

Alan: Yeah, great. How’s the little one? 

Rachel: Yeah, she’s good, thank you. She’s actually just fallen asleep, so I’ve just handed her tentatively over to my husband, so he can wander around holding her until we’re brave enough to attempt putting her down. Hands very much full, but it gets easier, I think. Yeah. 

Alan: Yeah. It gets easier in many ways and then harder in others. But you do get a bit more sleep soon. 

Rachel: Yeah. Yes. Yes. That’s my main. 

Alan: We were very lucky. 

Rachel: at all . She’s sleeping through the night at the moment yeah.

Good. I can’t complain, we’ve been very lucky with both of them so.

Alan: We were quite lucky. We went off skiing, with the in laws when, our eldest was like six weeks old, 

Rachel: I think you just have to get on with it, don’t you? We’re going to the lake district at the weekend and we’re like, why are we taking a 10 week old on holiday? This is a nightmare. Like all the stuff that we’ve got to pack. We’re like, if we don’t go, then you just, it’s just the same nightmare at home. 

Alan: We went to see Michael McIntyre and he said your single friends, they, they phone up and say, you going for a drink? And when you’re single, you go, yeah. You put the phone down, you walk out the door. And like when you’ve got kids, you have to pack a small bag with everything in it that you own, just in case your house isn’t there when you get back. 

Rachel: It’s so true. My husband was just like, Oh, I think we’re going to have to get a roof rack I was like, 

Alan: just to go out for the day. Yeah. Sorry. We haven’t got enough stuff. Yeah. 

Yeah. 

Rachel: Oh, but the podcast is going well. 

Alan: Have you been listening? 

Rachel: Yeah, I’ve not listened to all of them but our night feeds have been up listening, tuning in, so it’s going really well, isn’t it? Like you seem to be getting a lot of support and a lot of people are engaging with it, which is lovely to see.

Alan: It’s been great. I’ve had comments like, oh, this is the right thing at the right time, and just, computing teachers need a bit of a boost right now, and I think all teachers need a bit of a boost right now. I think 

Rachel: it’s something that’s the way you do it is really nice, but I think it’s something that’s specific for computing teachers as well, because I think there’s a lot of generic teaching stuff out there, but it doesn’t really apply to computing a lot of the time, so it’s nice to have something that’s specific.

Alan: I was thinking of doing it for ages, and then two things happened. Tom Rogers, who runs Teacher Talk Radio, hassled me about doing a radio show, and I never ended up doing that, but I might yet. Tom, if you’re listening, I might do that and the other thing that happened is I’ve been listening to Adam Boxer and Amy Forrester. Yeah, they’re really good. Yeah, and thinking, oh how hard can it be? And I was listening to them going, oh I need to do this now.

So I just need to start recording it. It started off at 25 minutes and then the latest ones are like 43 minutes. Yeah, 

Rachel: and is the edit a nightmare or has it not been too bad? 

Alan: Being a computer geek like I am, I have discovered some software. I did my research, I googled a lot of things, and then I found some software called Descript, which I’m now paying 24 a month for. Descript does something amazing, which is I will upload this recording into it, it will transcribe, and then give me a page which edits like a Word document, and I edit the words. And it deletes the audio that matches the words, so I’m not sitting there like Audacity cutting and splicing audio and looking for the peaks that match the words.

It’s done that for me, so it’s actually much easier. So never one to make life easy for myself. Now that I can do that, I decided to edit in lots of music and stupid things as well just to make it entertaining. So 

Rachel: yeah, I think that’s what. What people are saying about it, people are enjoying listening because it’s different and it’s enjoyable and it’s light. It’s not another heavy, let’s have a deep dive. I mean, We can talk about pedagogy, but 

Alan: yeah and, we will, we’ll talk about computing. Teaching and pedagogy and stuff like that, but we’ll try and chuck in some jokes, because like Andy Colley said, there’s not many jokes and most of them are quite corny, so I’m saying to all my guests, if you can, if you’ve got any computer related humor, then, do bring it along.

Rachel: Oh, I need to be more prepared. I’m not, oh, 

Alan: I didn’t. 

Rachel: I’ll have to I don’t want to let your audience down with my lack of computing jokes, but I’ll see if I can come up with something. 

Alan: Have a think as we’re talking and anyway, it’s all right. I’ll edit some jokes in later. Yes. I’ll tell you what, I’ll put your voice through an AI deepfake machine. That 

Rachel: would scare, scare, horrify and it’s super exciting isn’t it, things like that, but there’s some really The accuracy of these deep fakes now, you could have me saying anything on here, couldn’t you? In fact, you even need me here. I can just go and you can just type in. 

Alan: I think I’ve got enough there now, Rachel, so you can go and I will just put words into your mouth for the next 20 minutes. Thank you very much. 

Rachel: Perfect. I’ll go get some sleep. 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

Alan: Good. It’s lovely to talk to you and yeah, I’ll catch up again soon. Yeah, right now I’ll start the AI deepfake Rachel and talk to that, right?

Hello AI deepfake Rachel. How are you? 

Rachel: I mean, What would a deepfake say? It would probably go very stereotypical and say I am fine, thank you. It’s definitely even better than that. 

Alan: Yeah, this has got a bit surreal, so I think we probably need to get back to the script. Do we have a script? No, not really. I had some questions I was going to ask. So the first thing is I’ve been talking to you like, like I know you, because I do, but my listeners probably don’t. First of all, Rachel Arthur, nice to meet you would you like to tell everybody what you do for the listeners, please? 

Rachel: Yeah, what do I do?

So I am Head of Computing at Teach First. So that means that I am in charge of the initial teacher training programme. That we run and I get involved in all the teacher training materials that touch computing. So whether it’s our NPQ offer, which is more for leadership or our training materials for primary teachers or for secondary teachers, they all fall within my remit, my team, so that’s what I spend my days doing.

But before I was in teacher education, I was a teacher myself, so I worked in teaching. Secondary schools in London Leeds and Oldham, sunny Oldham, over my teaching career and eventually became assistant head after, the usual route of head of department, subject lead, all of those things.

So yeah, that’s me. 

Alan: Good stuff. So teach first then, which is one of the routes into teaching. So what, if someone’s listening to this thinking, I want to train to teach computing what would their choices be?

What would they have to consider? 

Rachel: Firstly, please do. Absolutely do it because it’s a brilliant subject and there’s so much joy to be found in the computing classroom and you won’t regret it. But there’s loads of different routes.

 They split into school centered training, so like Teach First do, or like they call it a SCITT, but school centred initial teacher training, the training is done predominantly in the school setting, but you get your qualification at the end, like you would do through other routes, or you do a more traditional route, like a PGCE or an undergraduate degree where you train with the university and with that you do usually two or three placements over the year where you get to go and experience different school settings. 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

So most of the routes into teaching are either the traditional university route or a school centred approach either through Teach First or one of the other training providers or the school running them yeah, you get to train in a school, but you are usually spending the majority of your time just in that one school rather than across multiple settings like you would in a University course. 

Alan: Do you get to go to other schools for brief placements? 

Rachel: Yes, so on Teach First we do a two week and sometimes it’s extended depending on the circumstances of the trainee but they do a two week placement in an alternative setting and they also do a primary placement so if you’re training to be a secondary teacher you also do some time in another phase which is Always interesting to see, see how they get on in a primary setting as well. They do get that kind of breadth of experience but it’s you are treated as an employee. Oh, hello. 

Alan: Sorry. This is what happens when I do podcast recordings in the evening. This is Casper, my Patterdale terrier, who decides he wants to get In on it. 

Rachel: He wants to train, to teach, he’s so intrigued by what we’re talking about.

Yes, one second. 

Alan: Oh God, yeah, that’s not great podcasting, is it? Here’s my dog on the Teams call, and he chose not to even say anything. There you go. I’ll edit some, so I’ll edit some dog barking in later and that’ll make sense to the listeners.

 You see? Magic of computing. None of this is real. 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

As I say, you know, I’m talking to a deepfake, so you know. Um, So anyway, yeah, my placements were fun, I don’t know if I’ve ever spoken to you about this. But my placements, if I can just talk about them, one of them was right at my doorstep, literally just a stone’s throw away which was handy so I could roll out of bed and just rock up. And that was nice and it’s a nice local school and that was quite, what should we say, easy first placement in the sense that there wasn’t a lot of behavior challenge. And then, I don’t know if you ever saw Educating Greater Manchester? 

Rachel: Oh I did, yeah. Oh 

Alan: yes, so that school, so I was there, it was called Harrop fold then, so that was my. Yeah, that was my second placement school, so I was there. So that was a interesting school. So it’s good to have a contrast. So it’s nice to know that, you spend some time in another school and see some of that on the Teach First program.

Rachel: Yeah. The Teach First program We deliberately place our trainees in, underserved communities, so where there’s the greatest need for the highest quality of teachers, and often in schools that people wouldn’t necessarily choose to teach in, it wouldn’t be their first choice, it might be a more challenging area, for many reasons and we find that our trainees absolutely love the schools that they’re placed in. I did the teacher first program myself when I was training and I trained in an amazing school called Carmanna in Leeds, which is, it’s an excellent school and it’s in an underserved community and that’s why it’s a Teach first school, but the staff and the pupils there were fantastic, but I went to, I won’t name the other school I went to, but it was a leafy Very privileged school and I found it really, I thought I’m going to love this.

It’s going to be really great, but I remember saying to the pupils has anyone got any questions after I just explained something and no one put their hand up and then I was. I was doing questioning with the class and nobody was coming back to me with anything, and I was expecting, I was so used to all these characters and the banter in my classroom, so it was quite a surprise, but I found I got through a lot more content, so I don’t know what that was.

Yeah, 

Alan: that’s one thing. Yeah, a colleague said to me on my PGCE who got placed in a high performing school an affluent area, he said, I’m not planning enough stuff for the lessons because they’re just like eating it up like a sponge and I need to put more challenge into all my lessons and it’s breaking me, so he’s basically teaching maybe twice as much content in a lesson, but I know what you mean about not getting that feedback.

I think there can be in a school where the pupils are used to success and getting everything right, and there can be a reluctance to fail, so a reluctance to to try and to answer questions and get it wrong there can be an absence of culture of error in environments like that. Do you find that?

Rachel: Yeah, absolutely, and I think there’s this massive misconception that More affluent areas would be higher performing and that isn’t necessarily the case, especially in computing. I think you can really see that success in any, with any child from any background. And that’s the beauty of computing, isn’t it?

But that absence of wanting to be seen to be failing can really cause problems when you’re teaching programming because if they’re not willing to give it a go, then that fear of failure or fear of, having to debug a piece of code, can really put pupils off, which is a barrier to learning it, in itself.

Advertisements

Different challenges in different places, like just a different type of challenge rather than People say, Oh, that school’s really challenging. And I don’t, I think all schools have their own challenges. It just depends what flavor of challenge you’re best equipped to deal with. 

Alan: Absolutely.

Absolutely. I think, I mentioned culture of error then and the reluctance to try and fail is a real barrier and you see it I ran an escape room. If you go on my blog, the instructions for building it are there. I basically bought a pirate’s chest type thing and one of those lockout hasps which is a a lock with six padlocks on it and each of the padlocks had a different clue and so on and the kids loved it and my brilliant year 10, my brilliant GCSE class they loved it and then I tried it with like year 7 and 8 And they just didn’t want to try hard at solving clues, and they were looking at a clue, and it was, a clue to Ada Lovelace and her birthday, and that was the combination on the padlock, and they were looking at them going, I don’t know what that is and just wanting to either know or not know and not to actually think about it. These were puzzles and they, there was zero resilience and zero willingness to work out a puzzle from these kids. And I found that really strange because I always loved puzzles as a child, but the, I think, What I’m saying is probably the resilience has taken a knock and maybe that’s a COVID thing. Yeah, 

Rachel: I think it’s massively important in a computing classroom that resilience, even more so than other subjects, I think it is often not thought that Resilience and computing go hand in hand, especially by non specialists or people from other subject areas.

And when you’re talking about, building cultural capital or links the real world and that resilience for the workplace and for the future, computing is the perfect place to demonstrate that. But I think, It’s not always obvious to other people, so it’s so important to instill that, and it’s really similar to PE in some ways, you’re learning a skill, you’ve got to keep practicing and practicing, and you’re not going to shoot on target in your first game of football every time, so you know, you’ve got to keep going and keep trying

Advertisements

Alan: yeah, I was talking last week to Harry and Anna Wake of Mission Encodable they were saying about, sometimes learning to program can be dull. And I think I’ve been guilty of teaching programming in a very dull way and just do, you do hello world and then you do what is your name? Hello Bob or whatever I call the program. Hello Bob. And then you might ask a quiz question. What’s the capital of France? I don’t do that anymore. I do turtle graphics and, we do fireworks and stuff like that. And I do text adventure games and things because kids can write a text adventure game in 20 lines of Python. And there’s a world that didn’t exist before with monsters in it, you know, and that’s, 

Rachel: Yeah, 

Alan: so that’s what I do now. I don’t do hello world and hello Bob and what’s the capital of Paris anymore. I do, give your monster a name and give him a, a thing to say. Does he bark or does he grunt and all of that? Oh, they’re making monsters in a text adventure. 

Rachel: It’s so much more inclusive as well to teach like that because, I am a massive Advocate for engaging as many girls and as possible in computing and anyone from any background getting the most diverse cohort that we possibly can.

I think it’s so important and what you’ve just described is making it relevant, isn’t it, to those pupils and adapting that lesson and that learning so they can find a hook that they’re interested in. And that makes such a big difference for all of those groups that, aren’t traditionally choosing to do GCSE computer science, but that’s where I’ve seen the biggest changes in my classroom when I’ve let kids pick what they’re interested in and because computing is so great if you can, it could be.

It could be anything from a text adventure game about robots or pirates or princesses or whatever anyone’s interested in, all the way through to, we used to do a chat for Ordering a pair of jeans on ASOS because loads of the kids were online shopping and that’s what they were interested in.

And that kind of call and response from an online shopping website, they were interested in how that works. So just following the pupils interest really helps with that. 

Alan: definitely. So that’s how we teach. Programming, so coming back to teacher training then, so what makes a good trainee?

Rachel: Oh, anyone who is interested in learning, like I, when I first started in my role at Teach First um, three and a half years ago now I was talking to recruitment about What I wanted my trainees to be and what qualifications they needed to have and, the recruitment process for joining the training program.

And anyone that’s listening to this that works at a university will have had similar conversations like designing the interview questions for people training to teach. It’s a really interesting process. And they said to me, do you want them to have an undergraduate degree in computing? And I said, no, and recruitment said.

What? And I said they can do, that would be lovely if they did have a degree in computing and I’m absolutely here for that. However, it depends when they did their degree, because if we’re talking about career changes who are a bit older and did their degree a few years ago, it wouldn’t have been called computing then, it might have been called IT.

Advertisements

You can call a computing degree so many different things, and actually there’s such limited links to the GCSE curriculum to a computing degree. I didn’t feel like it was a necessity for them to have it. I felt much more passionate that they were interested in programming and interest in teaching the breadth of the computing curriculum, which is often not talked about because we focus so much on programming and so many schools do Python, so Python programming, but there’s a whole other area of the curriculum out there.

It’s not just about that. So what makes a good trainee? What was I looking for? Someone who is Resilient, willing to give it a go, willing to learn and anyone that was willing to do a subject knowledge enhancement course to get their subject knowledge up to date, in terms of what is taught on the GCSE and A level specs was my main concern, rather than them having a specific degree, because it’s too difficult to map them all to the curriculum.

Alan: Yeah, no I tend to agree, and I speak as a holder of a computer science degree from 1989, nowadays there’s information systems and software engineering and games design degrees and all of these and they go way off piste compared to what’s on the GCSE.

So you’re probably right. I also said in my podcast episode with Andy Colley, he said he suggested computer science graduates are not always the best teachers. They are a certain type of people. And I knew what he was hinting at. And I said, yeah, I, to be fair, I didn’t hang around with computer science undergraduates. When I was at university, I hung around with archaeologists and English students and more interesting people than the geeks who spent all that. No, it’s true. There were lots of geeks on my course who were not particularly fun to hang around with. So yeah, I totally, yeah, I always say, if someone’s keen and that’s half the battle, isn’t it? If they have an interest in the subject, that’s really what you want. And having a different degree and, but also having some computing aptitude, could be a nice combination. 

Rachel: Yeah don’t get me wrong, subject knowledge is important. You’ve got to have a strong subject knowledge to be able to teach our subjects and I’m not devaluing any training route in terms of, you don’t need to have a degree to do it.

It’s definitely a nice to have, but I do think so many people are self taught in programming and all areas of computer science. Now, lots of people that have done our course this year have taught themselves to program during lockdown. And it was something that they picked up and started to do then. 

Yeah, but that all, so we’ve got someone who used to be an artist and has moved. to becoming a computing teacher, all the way through to people with really specific, really technical degrees in robotics or, networks. So there’s a whole array of people, and that makes it fun to design a course to meet everyone’s needs, but, we’re good at differentiating.

Alan: Talking of which, so breaking news, I haven’t told anybody this but, I am going to be delivering the SKE, the subject knowledge enhancement for Edge Hill after Easter, so that’ll be fun. So if trainees don’t have a computing degree then do you run a subject knowledge enhancement for them?

Rachel: Yeah, we actually wrote our own. So that was a really exciting project to take on a couple of years ago. So Daljit and Johnny and my team and myself wrote it together. So it meant that we could adapt it to make sure that it covered the breadth of the subject knowledge content that we wanted. But obviously. Trainees can do any Subject Knowledge Enhancement course. You can’t say that they’ve got to do yours, you just say that you’re doing a Subject Knowledge Enhancement course. So we get trainees from other universities coming to do ours and then you get, one of our trainees might work with you, Alan, and do yours and come to us after it and that’s absolutely fine.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

It means that non specialists or people who haven’t done a degree that’s where we say yes you need to do a subject knowledge enhancement course or you don’t and often we find those with a computing degree still need to do the subject knowledge enhancement course because of the lack of relevance to the computing curriculum. It’s really good to have people like you delivering them because it’s great to have some good subject knowledge experts delivering those courses because they’re long and there’s a lot of content to cover.

So yeah, 

Alan: there is a lot. Yeah. No I’m looking forward to it because one of the things I really enjoyed when I was head of department was the mentoring of computing trainees. And that’s one of the reasons why, I wanted to get involved in the teacher training. So the mentoring. I had some brilliant, trainees that, they were all brilliant in their own way, but some of them needed a lot more support than others. Um, It’s it was one of the most rewarding things to see a teacher develop. And then fly solo and. Yeah, it was great fun. It must be rewarding to be in that business all the time? 

Rachel: Yeah It’s a delight to watch someone go from the nerves of teaching their first ever lesson that they do in the summer with us all the way through to, loads of our trainees after their first year go on to become heads of department or go into leadership.

So to see them all flourishing and flying It’s lovely, but also to see their confidence grow just in terms of trainees that had never used Python before going to fully teach a GCSE class and seeing the success that their pupils then have because of having that teacher is brilliant. 

Alan: Yeah, that’s the thing.

Yeah, I feel it’s weird. I feel kind of responsible for the mess that the world is in because of technology, because I was obviously a computer scientist. No, partly responsible. I mean, It’s not all my fault, not all of it. 

Rachel: Alan, that’s a lot to take on your shoulders. Yeah. 

Alan: Yeah, it’s my fault guys. It’s my generation of computer scientists and who created, all the problems. So I feel like it’s partly my responsibility To nurture the next generation to solve all of the world’s problems that have been caused by technology. So I used to go into, I would go around and sell the subject and I would beg the head of maths to let me go into maths lessons and science lessons to, Before options evening to sell the subject and I would do a 10 minute, I would do a 10 minute speech and I would finish, thank you for coming to my TED talk, I would do like a 10 minute TED talk on what computing was and I would say, I would literally say to them, you need to solve all the problems that my generation have caused with technology, it’s on you, no pressure. 

Rachel: That’s the joy of the subjects, isn’t it? That they do have those opportunities to go. Yeah. Problem solving, and I think the impact that having a trainee in school, schools often worry and say, oh, we shouldn’t, should we take on a trainee teacher? It’s a lot of responsibility, but the results that those trainees get and the enthusiasm and time and effort and energy that they put into their classes, honestly, every single trainee I’ve worked with, I’ve never, I’ve never seen.

It, It might not always be perfect, but they do, I’ve never seen anyone work as hard. So it was, no, 

Alan: I can say this now with absolute certainty, it was always a net benefit to my department having a trainee or two, which we had once we had two at the same time. Honestly the value they bring is far greater than the cost to me as a mentor or a head of department.

And I would sit at the back of the class and I would make notes and observe, but I’d also be getting on with other stuff like I might probably not marking because that would need more brain power. But I never marked anything anyway. You’ll have heard me talking to Andy Colley a couple of weeks ago where, I just did multiple choice quizzes all the time.

And hey, I got away with it. But, I’d be sat at the back of the class observing my trainee while getting on with other stuff. And And they would help in every way they could. They ran after school clubs for me and all sorts and they loved doing it. So yeah, some of them have been a challenge, but it was a challenge that I always enjoyed.

Rachel: Yeah, and I think there’s a big shout out to all the in school mentors because they are the ones that spend every day with our trainees, with all trainees in school, and they have the biggest impact, like my mentor Sayeed. If he listens to this, that would be amazing, but he completely made my training year.

I don’t know what I would have done without him. He was, he’s an incredible computer science teacher and he held my hand, he wiped my tears, he made me more cups of tea than you can imagine, but he was a fantastic mentor. And I wouldn’t be the teacher I am today. I still think of things that he taught me and things that he said and displays that I never had as good displays as I did when I was a trainee.

Alan: Well, that’s, That’s true. Yeah, you could get them to do that stuff. I know. Yeah, it was always very planning lessons as well and creating resources and creating quizzes. So like I say, I relied heavily on multiple choice quizzes, but I think they’re incredibly valuable if you do a decent multiple choice quiz.

And so I, my trainees would love making, quiz questions and past paper type questions and stuff all the time. So that was great. Yeah no, it was Really good, a lot of my trainees have gone on to get jobs as computing teachers, which is great because there’s hardly any of us!

Rachel: When I’ve the mentor trainees in school as well. I’ve definitely seen that. They, sometimes I’ll go and watch them teach one of my lessons, like you’re saying, sat in the back of the class, and I’ve thought they’ve explained that so much better than I ever would have, and then I find myself stealing their resources or their ideas. It’s definitely made me step up as a teacher. 

Alan: The other thing is, because like I say to the kids, I’m 103, and, I do, actually that’s no word of a lie and I really should stop doing that, but I used to say that a lot and the kids in year seven would go, really? They’re all whispering to each other, he’s 103, and I shouldn’t really tease 11 year olds like that, but I did used to say that, you know me, I’m 103, My point being I’m 50 something and, I’m trying to be down with the kids, but I’m never going to really be, I’m not going to be legit like some of the younger trainees are, you know, my lessons are never going to be described as sick, no matter how hard I try.

Rachel: Those multiple choice quizzes sound excellent, I’m sure. 

Alan: I’m sure they they did enjoy. I discussed this actually on an earlier podcast about going off at a tangent and just going off on stories, which kind of became the theme of the podcast anyway. But, and so they knew how to get me off on a tangent all the time.

And they’d say, tell us more about the robot apocalypse, which was of course my favorite subject. So I used to, I used to say to kids when I was doing my options evening speech, I would say, you, you need to, Take computer science because we need more humans on the side of of humanity in the robot apocalypse and all of that. So, And so they would say, you know, tell me about the laws of robotics, sorry, 

Rachel: with AI, it feels like we’re getting closer to this robot apocalypse than ever before. 

Alan: What was I saying? So I was down at the Oxford Leadership Conference. And I was at dinner the night before with, Jane Waite and others. I’m dropping names now. And we were talking about AI and whether AI will become sentient and, and whether AIs will need rights and will need to consider the rights of robots, basically. And Jane was incredibly skeptical and I still stand by it. I think we’re going to have to, I don’t think there’s anything unique about humans that can’t be replicated in machines, but maybe that’s the computer scientists in me.

So at some point we’ll have to grapple with the rights of robots and stuff like Isaac Asimov predicted. Do you think? 

Rachel: This is a big, it’s a big question. I think Jane Have I got you off 

Alan: your favourite topic? Have I thrown a curveball at you, Rachel? 

Rachel: No, I’m here for it. Jane is the, an expert in the research on it, so I would never go against anything. Jane’s literature review, if you look, if you’re looking at AI computing, the literature review that she has done, and the work that Ben’s done at Raspberry Pi on AI is excellent, so they would be my go tos on that. But I think, will we ever have to have rights for robots? I don’t know, because I think everything is, anything that you program is, Like a version of reality rather than someone actually having thoughts, feelings and experiences themselves. So would a robot ever have feelings? Probably not. And emotions, but can it replicate them really well? Yes. Yeah. I don’t know, but it’s becoming very iRobot, isn’t it? And I’ve seen how those films end. And I 

Alan: love this. I don’t think there’s any right answer. And yes, I totally agree. Jane Waits done some fantastic research and, and is very knowledgeable about this subject. But I think the topic of robot rights is more philosophy than computer science. 

Rachel: Yeah, 

Alan: I speak as someone who read a load of sci fi as a kid. So I’m come from Isaac Asimov’s three laws of robotics and stuff like that. But I have to say your response there, Rachel, was. Absolutely what a deepfake would say, so you know.

Rachel: Well, So 

Alan: I don’t think you’re, I don’t think you’re real at all. 

Rachel: I always say please and thank you to Siri just in case because I am scared about what might happen in the future and at least if I’m polite to the robots in my life. Then I might have some favour in the future. So 

Alan: that’s my friend of mine said uh, uh, my friend of mine who said, I’ll have to go around and help me mum with Alexa the other day because she couldn’t get it to do anything.

And she said mom, just say what you said to Alexa and I’ll work out what’s going wrong. And she said, All I said was, Hey Alexa, can you put radio two on? There’s a love, you know, and she didn’t like mum. You just have to just say fewer words, you know? yeah. They’re not quite, not quite human yet. No. 

Rachel: Well, Maybe, you know, we’re definitely going that way, and I know with regional accents, Alexa really struggled with regional accents to start with, but it is got a lot better, so we’ll see.

Yeah. As 

Alan: you’ve probably heard, I’ve had um, Snoop Dogg, Mr. Beast and Joe Biden on my podcast so far. . 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

Rachel: Yeah. 

Well, 

Alan: um, I mean, It’s amazing how many celebrities wanna be on this podcast. I’ll probably get Taylor Swift on next week. 

Rachel: I feel honored. I feel honored to be here. 

Alan: Deepfake rachel Arthur on my on my podcast.

Um, Yeah. Um. Right, I know, yeah, this week’s gone a bit surreal. Um, yeah, we did. Why teach computing? Oh, we didn’t really. One of the things I’ll splice this bit in to the earlier conversation, if it makes more sense there, because I can do that with Descript, only 24 a month. I was on, actually, this afternoon, Rachel, the CAS Innovation Panel.

Rachel: Yes! 

Alan: And I know that you were obviously parenting at that time. 

Rachel: Yes, I was trying to attend but my very small baby had other ideas. 

Alan: So talking of dropping names, I was hobnobbing with Paul Curzon and Miles Berry and Simon Humphreys and Catherine Elliott and Sue Sentance and Carrie Anne. And um, oh it was lovely. And we were talking about, Why teach computing, and first thing I said was equity, because that’s me, and I said that it was the digital haves and have nots are actually becoming the can’s and can nots. People who know how to use technology and those that don’t, and that’s becoming a big problem, don’t you think?

Rachel: Yeah, and I think the digital divide is only getting worse, especially with AI that we’ve already talked about, but if we don’t have great teachers teaching computing, there is not access to computing in that school. That means that the pupils in that area can’t do GCSE computer science and what we’re seeing when I’ve been doing some research into why girls choose computer science or why they don’t and often it’s not offered is the first barrier.

So if it’s not offered in school, then it’s not an option for them, male or female. So that’s why it’s so important to teach it. 

Alan: And then those that offer it, gatekeep it 

Rachel: from 

Alan: the low prior attaining students, for example, or they gatekeep it from SEND students, which, My experience shows that, there’s no reason why anybody can’t do computer science .

Rachel: it’s an absolute frustration of mine when someone says, only pupils who’ve got this grade in maths or only high prior attaining students can do computer science, there’s a reason that there’s grades one to nine because any of those grades is an achievement in that subject.

It really, really, really is about access to a subject to inspire the next generation to go on to want to study it further. I’m really frustrated when I see schools putting barriers in place as to which pupils can choose it. I’d love to see more schools offering it and then no barriers in terms of who can take it and really considering where it’s been put in the option blocks as well, because it is an EBacc subject, when it’s being put against, the other bucket, then pupils are less likely to choose it and teachers discourage them from choosing it because it’s an EBacc subject.

So it doesn’t fill those buckets for Progress 8. Yeah, and they say 

Alan: things like, oh, you should be doing triple science, never mind computing. And, yeah, no, it is a tricky one. I think we’re on the same page on that and we want as many young people as possible, preferably all of them, to do some kind of computing qualification, computer science preferably, but we were talking this afternoon about whether the new government will have a look at this and whether we’ll end up with a computing or applied computing GCSE again.

Do you think that’s a good idea? 

Rachel: I think. It is an excellent idea because we need to have a balance computer science as a GCSE is trying to cover so much content within it. We know all the computer science teachers listen to this. It’s trying to be all things to all people and actually having, a computer science like technical GCSE, and then a more applied digital skills for people that are going to be using technology in their everyday lives, which we all are going to be in our jobs of the future, is really exciting.

Almost like a basic right that every people should be leaving school with. It should be alongside literacy, numeracy, and digital skills. So whether or not it needs to be GCSE, I don’t know. We can, there’s lots of different ways that you can do it, but it needs to be taught. as a right to our pupils to be able to use a computer properly.

Alan: I think it’s really important and one of the things that struck me when I was talking this afternoon was about, digital citizenship as a bare minimum needs to be taught and that’s, being able to participate in society as it becomes increasingly computerized and advocating for yourself in a computerized world from a place of knowledge and what immediately sprung to mind was the post office horizon scandal and all those victims of miscarriage of justice who had no means of defending themselves against evidence that They had defrauded, the post office because they and their lawyers didn’t have enough digital literacy to challenge the charges.

Rachel: It’s even, just the basics. Online banking, paying your bills, so the basics that people do on a day to day basis. Fake news, it’s not just a case of educating people about, you say digital skills and it, and people’s mind goes to, oh, we’ll do a touch typing course. That’s not what I mean, that it’s about, it’s almost something that falls between English and media and Religious studies even, it’s a worldwide awareness of all the challenges that are brought to us by social media and by having access to the internet in our pockets all the time. And all the fake news that is out there, and how to, you can’t move for being on Twitter or X and seeing fake stories about Kate Middleton at the moment, and I feel like 

Alan: there’s a 

Rachel: lot of false things 

Alan: going on. Yeah, 

Rachel: no it is. Our kids have been exposed to all of this all of the time, how do we protect them and look after them?

And, there’s the whole education for a connected world framework, but how well is that taught across schools and where do people fit in the curriculum? Yeah, 

Alan: it’s a great framework, but again, the education for a connected world is brilliant, but it’s massive. Yeah, huge. It’s huge, and in case listeners don’t know, Project Evolve is there from Southwest Grid for Learning to cover the whole of the education for a connected world framework.

It’s all there if you want to teach online safety very well in your school, but no school has the time for all of that, so. but we need to make the time somehow, but that’s, government and DfE need to do something about that. And I think we do need a refresh of the national curriculum and foreground some more digital literacy skills.

Rachel: If you want it to be taught, if you want anything to be taught in a school, you’ve got to make it someone’s responsibility, and there’s got to be. Points awarded, or achievement awarded, or something awarded for a school to take that seriously. Results, unfortunately, are the money that we work in as schools. It’s not on the curriculum, if it’s not on an exam board spec, then it’s not gonna be. 

Alan: Yeah, 

Rachel: In a curriculum, sadly 

Alan: true. That’s the way it is at the moment. So hopefully we will get an applied computing type qualification. I did hear what you said there about, it’s not touch typing.

I think a lot of schools try to put pupils on a vocational IT alternative because it’s easier. And I’ve taught CIDA, I’ve taught. Cambridge Nationals IT. I’ve taught creative iMedia and they’re all very hard and full of writing, which means they’re not actually particularly suitable for pupils that we believe are going to struggle with computer science.

There’s no easier. There’s quite a lot of literacy involved for a start, so it does annoy me that it. ICT or even computing is still seen as ICT and is still seen as some kind of vocational, 

Rachel: and the screenshot qualifications, as I call them, where you end up with reams and for those that haven’t taught them, you end up with reams and reams of screenshots of evidence from pupils.

Yeah. They’re not actually. Oh, I’ve done 

Alan: some research on software. No, you’ve just googled stuff and screenshotted it and written it as if it’s your own. Yeah. Oh, I found some soft. No, you didn’t. I said I was, this is the software I gave you to use for this product. And you just went and pretended to do some research.

Yeah. Mad qualifications. They were. And 

Advertisements

Rachel: ECDL or don’t even go there. 

Alan: We have rambled. Well, I say we, Rachel and I spoke for 10 minutes and then I’ve been talking to deepfake Rachel for 50. Um, So that’s been brilliant. What does the future hold for? Teacher training. Is there some changes coming?

Are they rationalizing ITT and ECF or something? Did I read? 

Rachel: Yeah, there’s loads of changes coming. There’s a whole, there’s always change. When isn’t there change, Alan? It’s just the world that we live in. There’s something called the ITAP, which is coming into place. And we’re all preparing for that, which is about really high quality.

The initial stage of teacher training, so for us it’s our institute so how we can make sure that’s as robust in terms of pedagogy and classroom interactions as possible. But I’m really excited about what technology can bring to initial teacher training and, been doing some research and speaking to lots of different people about how we can use AI for initial teacher training.

And I’m a big fan of deliberate practice and, giving trainees as many opportunities as possible to practice their skills. Cause I think that’s the only real way to become an excellent teacher, but often for our trainees because they’re teaching in the school. That they’re employed at and they’re there permanently.

If you make a mistake with the class, as we all know, there’s not much going back. You can’t zap their memories and pretend that didn’t happen, or pause and say, can we go again? So I’d be really interested in simulated learning environments and how AI could behave like a classroom that I don’t know, I’m imagining kind of VR headsets and a simulated classroom environment so trainees can practice different scenarios before going into the real real world.

Real classroom setting because it shouldn’t be a practice run because it’s those kids education, so we need to make sure that it’s they’re in the best place possible to do that. I think there’s some exciting changes coming. And in terms of computing teacher training, like we’ve just been talking about, the digital qualifications, how we’d have to adapt subject knowledge and the subject knowledge parts of our program to be able to teach a different suite of qualifications if we’re There’s reform to the computing, GCSE.

So that will be, really fun when I’ve just finished writing my curriculum. 

Alan: Good. 

So, 

Rachel: yeah,

Alan: Yeah, so all you need to do is do what you did last time and just get ChatGPT to write your curriculum again, Rachel, you know. if I, 

Rachel: if ChatGPT could do, So if you could do that for me and that would be brilliant, but unfortunately, I think we’re a while off it being able to personalize it in the way that we want it to and it being reliable enough, but I don’t think we’re that far off it.

Alan: Now, um, just for the listeners benefit. Don’t actually believe that Rachel used AI to write the teach first curriculum, but just in case the lawyers are listening, the number of spelling 

Rachel: mistakes in my curriculum would say that I definitely wrote it. 

Alan: Oh no, you can say, ChatGPT, please write like a bad speller an initial teacher training computing curriculum.

You could say that and get lots of spelling mistakes in it and make, make it look like a human wrote it. 

Rachel: I am deepfake Rachel, so I wouldn’t want to Well, yeah, 

Alan: that’s right, yeah. Good, brilliant. I think I’m looking off to the side here because I’ve got loads of notes, like I plan these things are scripted, yes, Alan, they are scripted. Yeah, Yeah, 

Rachel: it’s scripted. The robot has completed her script for the day. 

Alan: Thank you. Right, um, that was brilliant. I have no idea how I’m going to edit that down to a reasonable length. 

Rachel: Good luck! But 

Alan: this is, This is what I do. I just get, Because I have such great guests on and we end up talking forever, we end up talking for over an hour and then I don’t know what to do and I end up leaving most of it in.

Rachel: It’s hard isn’t it, but you’ve got your great software so hopefully that will help. 

Alan: My great software, Descript, only 24 a month for the pro version and I just press a button and it gets rid of all the ums and ahs and stuff, although it’s, you’ve got to be careful because. When I interviewed Andy Colley, he has a phrase which is, you got to keep the main thing, the main thing, which is great, but it cuts out repetition of the main thing.

I spotted it before the podcast went out, so I was all right, but yeah. The AI looks for repeated phrases. And the AI looks for repeated phrases and takes them out. Will it take out 

Rachel: that repetition? We’ll see. 

Alan: It might do, and then this will make no sense to the listeners, this bit that we’re talking about afterwards.

It’s really, it’s a bit like Inception, this. None of it’s making sense. 

Rachel: Nothing’s real. What is real anymore? No. We’re all in the 

Alan: matrix, and maybe I’m a deepfake. Oh, well that would just be the 

Rachel: twist, wouldn’t it? To finish this episode. 

Alan: It’s just really happening. What’s this ready for? Right, um, On that note.

I think I’d probably better, what shall I say, terminate the program. This is where you go, no, I’ve got rights. 

Rachel: Yeah. Do I get shut down now? Is that what happens? 

Alan: Yeah. Sorry. Yeah. Cause you’re not real and you don’t have any rights. 

Rachel: Send me for some updates. Yeah. And 

Alan: when you’ve been glitching, you’ve been glitching a bit.

Rachel: After my maternity leave, I can return with a, you know, new, restored version. 

Alan: Yeah. Right on that note. I think it’s been brilliant. I hope that we met the brief, which I think was, how do I train to teach computing? Something like that. 

Rachel: Pick one of the training programs. But the main message is just do it please just train to become a 

Alan: computer student.

How hard can it be? 

Rachel: We can do it. 

Alan: We can do it and we’re not even real. So how hard can it be if you’re an actual human? No, it’s a 

Rachel: brilliant, joyful career and there’s lots of Lots and lots of opportunities that come from it, so would thoroughly recommend. So yeah, thanks for having me. It’s been a joy.

Alan: Yeah, no, it’s been great to talk to you and thanks for coming on. I will I haven’t heard anything, so I guess in the background. 

Rachel: Yeah, your little 

Alan: ones are still asleep. 

Rachel: Yeah, two out of two. 

Alan: Good, so you might even get an hour of telly. 

Rachel: Treat myself, there’s a, I’ve gone back to watching Grey’s Anatomy from the start, so 

Alan: that’s why.

From the start? 

Rachel: Yeah. 

Alan: Oh, good. Not actually done that one, but my wife’s, what’s, where is it that she’s watched, Friends about ten times, but have you seen that new girl with, Zoe Deschanel or something. Yeah, she’s watched that about three times. 

Rachel: Yeah, 

Alan: I don’t mind. That’s quite funny. 

Rachel: Yeah, so light hearted 

Alan: good so I will let you go and have some precious quiet time.

Rachel: Thank you, I don’t know the 

Alan: robots need quiet time. 

Rachel: We need to, refresh overnight and install updates and reboot and restart. 

Alan: All right, okay, lovely to talk to you, Rachel. 

Rachel: Thank you, thanks for having me. Take care, bye.

Alan: So that was a fun episode to make hope you enjoyed it. Let’s revisit our fertile question. How hard can it be? Have we answered it. Let me know in the comments or on the socials, this has been how to teach computer science, the podcast. I’m Alan Harrison, please do visit my website. I’m not being paid for this. 

So buy my books or buy me a coffee, please details at HTTCS.ONLINE. And subscribe now. So you don’t miss a thing. Have a great weekend and I’ll catch you next week.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!
Categories
podcast

Podcast Episode 6: How do we prepare for Exams?

Another episode of my podcast is live, listen here: Episode 6. – Scroll down for the transcript.

Transcript:

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

Alan: Hello and welcome to How to teach computer science, the podcast. This is episode six. How do we prepare for exams? I’ll be answering that question and many more with the help of today’s special guest. 

Adrienne: We used to have a slide in one of my lessons of literally computer science jokes and then the kids had to guess the punchline and then when they knew the punchline, they had to then explain why.So yeah, I very much, I’m on board with your sense of humor. 

Alan: And more on that in a moment. My name’s Alan Harrison. And I wrote the books, how to teach computer science and how to learn computer science. Available in online bookstores, more details at the companion website. HTTC s.online. That’s the initials of how to teach computer science, HTTCS. Dot online. We’re talking about revision today. I remember my computer studies O-level course, I got an A back when there was no A*. So that was the equivalent of a nine. But with inflation being what it’s been since then, it would be an 18 today. 

You might remember last week I revealed the first program I wrote on a BBC micro went something like 10 PRINT “Mr. Charnley is an idiot” 20, GOTO 10. That probably explains why Mr Charnley didn’t like me. In fact, he told me I’d never amount to anything, but since then I’ve built an app that makes you invisible. If only he could see me now. 

Sorry, this episode is late. My Google account got hacked again so I had to give the dog another new name. 

 How’d you make a motherboard. In my case, I tell her what I do for a living.

Mam: What’s a plodcast anyway? 

Alan: Not now Mam. 

Mam: Will you be on Radio 4? 

Alan: Not now Mam. I’m recording.

Mam: Suit yourself. Tea will be on the table at 5 and in the dog at 5. 30 

Alan: so let’s get on with the plodcast. Podcast.

 Let’s revisit our fertile question. How do we prepare for exams? I’ve got an excellent guest this week, always amazingly creative. She’s produced a lot of resources she shared free online and is always a big contributor to the Tuesday night Twitter chat, #CASCHAT. Let’s hear what happened when I met @tough_miss AKA Adrienne Tough.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

 so today on the podcast, I’ve got someone I met on Twitter originally, I think, as Miss Tough. It is Adrienne Tough. How are you this evening, Adrienne? 

Adrienne: I’m good, thank you. How are you? 

Alan: Good, thanks. So just tell us a little bit about your career you’ve had a colourful year or so, haven’t you? 

Adrienne: Yeah, I feel like my whole teaching career has been a bit colourful. I did the Teach First programme to train as a computing teacher, but I am a philosophy graduate, so whether or not I’m classed as a computing specialist, I don’t know, it causes debate. And I have been a Head of Computing for a few years now, and I’m currently working at a school in Kent as their Head of Computing.

Alan: Brilliant, brilliant. Oh, don’t worry, philosophy and computer science are more closely linked than you probably think is something I should get into in a future podcast, I think.

so you’ve got a slide of jokes that you put up in the classroom. Do you remember any now? 

Adrienne: Every now and again, yeah, so one of them that the kids always were like roll their eyes at, but it led to a good conversation, was why was, the computer late to work?

Go on, 

Alan: why was the, oh sorry, have I got to, have I got to guess the punchline? Go on, 

Adrienne: guess it. 

Alan: Why was the computer late to work? Ah, something about buses? 

Adrienne: Nope. Nothing about buses? This is what we do with the students. Oh no! They so did to get their answers out. And it’s because it has a, because it had a hard drive.

Alan: It had a hard drive. 

Adrienne: So then we then go into, oh, I’m proper nerdy in the classroom, right? Okay, so what would make this better? And then you draw out, like, how to solid state drive, and then the kids would then go into the factors of CPU and, Whatever kind of links we can make, but we actually really got into it and then some students would come in the next week and they’d say, can I do the joke today?

And I was like, I made up a joke and they never went as well, but it was nice. It was nice to get them all interested. 

Alan: Students making up jokes. That’s what we need. Yeah, I am going to try and get more of those jokes out of you before the recording is out,

so we were talking earlier about, oh, you said you listened to all my podcasts. Thank you for your support. You’re my, one of my 500 or so listeners. That’s great 

so the reason I’ve got you on is because I know that you have in the past published a load of resources and stuff to do with revision and you’ve always had some brilliant ideas on CAS Chat on Twitter every week when we’re talking about revision and preparing for exams.

What do you think? 

Adrienne: Okay, I have got a few, I don’t think these are going to be very original, but so one of my favourites when we have finished the exam content is looking through past papers. And sometimes I’ll let them use their revision notes. Sometimes we’ll do it blind. I normally set them as homework for a full paper, but in class. It’s more guided, I think some of the exam boards, are very pedantic with their expectations. And I think the more students look at past exam papers, they end up feeling more confident because they can almost start predicting trends.

They’d have a question on secondary storage one year related to a digital camera. And then the following year, it would be on like a smart TV or whatever the scenarios were. But because they’d done it a couple of times and they then saw secondary storage, they knew that keyword was non volatile. They knew they had to relate it to the context. 

Alan: Definitely. The first thing to note there is, reading over your notes is all the evidence shows, if you read the stuff from the EEF, that’s the Education Endowment Foundation, for example, it will say active activities are better than passive if you’re revising, as in things that make you think harder, so reading is not great, but you Answering past paper questions is good just doing multiple choice quizzes or anything that makes you think.

But the other things like transforming information from one form to another which could be mind mapping a subject or sketchnoting. I like to do those things. Do you get them to do mind maps, pictures, that type of thing? 

Adrienne: No not mind maps and that’s more because of me as a student. I would always get told at school to use my maps, but the way my brain works is as soon as it starts looking messy, I wanna restart and I’d start to do like a color kind of pattern, and then I’d realize that something that I didn’t fit didn’t quite fit into my pattern or my color scheme, and then I became too focused on the wrong kind of things I should be focusing on. And I can see some of my students with all their highlights and gel pens and everything, that’s what they start.

 I do try to be creative with Kind of the atmosphere and the resources we have. So one of the ones before, which has been quite successful is something which I called comp emoji. So what I did was I use like emojis on the phone and put them on a PowerPoint slide and they have to guess what the emoji, link to and they really got into that. And then once they could guess it, they then had to define it. Because especially for the I lower attaining students, like who are able to do the threes or fours. The best thing for them, in my opinion, is just getting their definitions as accurate as they can. And these activities they really engaged in. They didn’t really feel like they were revising because they found it quite fun trying to, 

Alan: No, I’ll tell you, the emoji thing sounds great I didn’t do emojis, but I did something similar, like defining words to the class I think it was a kind of a daytime gameshow that Richard and Judy did called You Say We Pay where basically it’s like taboo you’ve got to define the word.

Advertisements

Adrienne: Yeah, I think I actually uploaded it to CAS a couple of years ago. Very similar. I think I called it, don’t say it, which was basically a play on like the taboo cards, and they’d have that word at the top, but they would also, for extra challenge, they would have words which they weren’t allowed to say to describe it.

The students found it quite fun and actually what’s very useful in these kind of situations is for me to then listen to the misconceptions, and then that will always feed into the following lesson, their starter, five questions. That is some form of retrieval, so it’s using these revision activities, whatever they are, finding the misconceptions, and then that feeds in to the next lesson starter activity. 

Alan: Definitely, and I always use a starter activity, like you say, five questions or Some kind of retrieval practice quiz and I might choose that. I also use a bit of a plug this for Craig and Dave’s smart revise, but it is brilliant and they do that on the computer as soon as they come in. And it self marks if you’ve done the multiple choice questions and then you just sort by least understood so you can sort it. by the ones they got wrong most, and then right there and then I will talk about them and discuss what the right answer was and why, and get some ideas of why that’s the right answer from the class. And so I basically re taught those two or three questions, topics, if you like and I did that at the start of lesson Every lesson really with exam classes and I think that really helped. 

Adrienne: Yeah, I think I, I’m sure it’s not unique to the students that I teach, but I had this pattern where if I try to give general feedback, the students won’t think it applies to them. Even though they would have made the exact same mistake of what I’m talking through, they just, for whatever reason, you literally see some students saying, it wasn’t me. And I’m thinking, no, this definitely was you.

But what actually I’ve found has been really good is when you mark work or when you hear those misconceptions, I have put them and I’ve phrased them as Bertie Bots. I don’t know why, but basically I have Bertie Bots and they’re like three little robots and they will say the misconceptions that I’ve heard in a classroom or sometimes it will be like a direct quote from a student’s paper and the students almost like then take pride I said that, that was what I said.

And then they have to read the whatever Bertie Bott says. And sometimes I pretend it’s come from the classroom, but it hasn’t. It’s just come from my own head. They read it and then they have to then explain to the person next to them why it’s a misconception. But because they think it’s actually coming from them, it’s that all of a sudden they want to, Pay a bit more attention to it and I like a good one for us.

Alan: Yeah, I like the idea that they’re proud that their mistake is on the board. That’s lovely that, but you must have a culture of error in the classroom where they’re not frightened of saying, oh, that was a mistake that I made, and I think that’s important, particularly in computer science. ’cause programming is all about making mistakes and fixing bugs, isn’t it? 

Adrienne: Yeah, exactly. And I’m quite honest. With the students when I make mistakes. I do the whole like typical, oh yeah, that was intentional. I wanted to make sure you were paying attention. But, it was very obvious that typo was just because I didn’t really read my slide properly. And I think if we’re honest about the mistakes that we make. They’re not going to ever help you students help me. 

Advertisements

Alan: That was a deliberate mistake. Do you ever catch yourself saying stuff like that?

That you heard your teachers say when you were at school and go and you think, Oh my God, why am I saying that? That’s just a teacher cliche. Why am I saying it? It’s your own time you’re wasting. 

Adrienne: No, I do have that. I had that today when a student said to me, miss, are we doing something fun last lesson? And I said, what do you mean all my lessons are fun?

And I thought, all 

Alan: my lessons are fun! That’s my IT teacher, that 

Adrienne: is what he said to us. And I thought, I’ve become him now. 

Alan: Yeah, I say that one. Yeah. Are we having a fun lesson? What? Don’t we always? Yeah, every lesson’s fun. Oh, there’s a great, there’s a great. 

Adrienne: You do become them, like I had a student today in my IT lesson swing on their chair, and I said, don’t swing on that chair, and she said, let me guess, you’ve had a student that’s fallen and hit their head, and there was blood everywhere and you had to call an ambulance. She said, why did every, why does every teacher have the same story? And so I’m going to be honest with you all. When we’re teacher training, we’re told that we have to tell this story to you all. And they were all like, we knew it. And I was like, I’m lying, but I don’t know what I will say to you.

Alan: You can’t give away all our secrets these are, the teacher’s union secrets. You can’t give them away to the students. They might listen to this podcast and now they’ll all know. Oh, 

Adrienne: they know. They know that we’re making this stuff up. And I’ve never had a student fall and hit their head and have to call the ambulance, but I’ve told them about that. And I don’t know why. And I think why am I buying into this story? 

Alan: So I went to school in the 80s the 1880s, I think. No, I went to school so long ago that they wouldn’t be allowed to do this stuff now, but if I swung on my chair, the teacher would say, in a very convoluted way, he’d say, that chair doesn’t like to be on half its legs. Would you like to be on half your legs? And he’d make you stand on one leg at the front of the classroom for quite a while. Yeah. Teachers, when I was a kid, that they could get away with anything, really but yeah I find myself saying things like it’s your own time you’re wasting and I can stay here all day yeah 

Adrienne: another one that everyone seems to be saying at the moment is it’s not my grades, it’s your grades. It’s not my qualification, it’s yours and you hear it and you see the reaction and you think, oh, I’ve definitely said that before. Yeah, I don’t 

Alan: care if you fail, why would I care? 

Adrienne: Yeah, but secretly we’re all at home working with it because ours we really do care.

Alan: Yeah, we do, yeah. Yeah.. I wrote a couple of books and in how to learn computer science, I put some revision tips. Let’s see if I can remember what I wrote. Avoid procrastination. And one thing I’ve said there is put your phone away when you’re revising because studies have shown that just having it near you causes part of your brain to think about your phone and you can’t concentrate. Do you give them advice on how to revise? Does that sound reasonable? 

Adrienne: Yes. So I used to really enjoy psychology and I read somewhere once that for revision, it should be as similar to the setting as what you’re sitting, So I say that to the students don’t sit in your room where you’ve got all the distractions and maybe posters and everything around you. Try to take yourself somewhere where you’re actually going to be sitting at a desk or at a table. It’s going to be quite quiet and then focus. And. The same with chunks, do 20 minutes, give yourself a break, give yourself a reward, like anything to motivate you. But I do give probably the usual spiel, which I’m sure everybody does, about avoiding cramming and making sure we’ve gone through, like one of the activities we had to do as form tutors, because I’m a year long form tutor, was go through their exam timetables.

I think it’s really important to be able to work with them and then get them to create their own revision timetable and it’s quite interesting the amount of students who will say, oh I’ve got English first, so I’m going to spend the first week looking at English and then you’re like, okay, but by that logic, your end exams, you’re giving yourself a day to revise.

But it is they need that guidance with time as well as the actual methods themselves. And then we do, we give them so many, I give them so many methods. So one of the methods that I did with my computer scientist a couple of weeks ago, and I said you can probably apply it to a lot of different subjects, is alphabet revision.

And there’s loads of different ways you can do this, but the way we did it in class was they had to write A to Z on a PowerPoint slide. And they had to write a keyword that started with each letter, and then when I could see what they were writing, I put it on the board, and then we had to define it. And that was brilliant at allowing me to spot the gaps, because they’re a new class, I inherited them.

Advertisements

One of the students wrote errors, for example, for E, so that’s brilliant. What are the two types of errors? They didn’t know that, so I was like, OK, I need to teach that. Embedded system. What’s an embedded system? They said, Oh, it’s the one where you’ve only got one job. It can only ever do one job. Nope.

It’s designed for a specific task, but it was really nice to see them. But again, I think because there’s almost like a competition element to see who can get the most letters, they enjoy it. They seem to enjoy it. They get quite into it, shouting out the keywords. And I said, you can do that.

I’m assuming with quite a lot of different subjects, like there must be a lot of keywords. Yeah. See which keywords you can write and define, check your definition against the spec and then do that. If you’re enjoying it in class, you’ll probably enjoy it at home because you get to challenge yourself.

Alan: Yeah, it’s about getting that motivation going. That’s the big thing, isn’t it? Really because let’s face it, a lot of our subject is quite dry and is quite, I love it, but as Andy Colley said last week in episode four, he said people, humans, remember stuff that is interesting, and he said, I can remember all the words to the neighbor’s theme tune, but weirdly, the first time I learned about the fetch decode execute cycle, it just slid right out of my brain.

Because it just, there wasn’t anything in it for me to remember it. Yeah, motivation, so gamifying. is really what you’re doing there. Sometimes you did say something earlier that you’ve got to be careful that you don’t make them remember the wrong stuff. So they remember the game, but not the keywords. That’s no good, is it? 

Adrienne: Yeah, that’s the same, I think, with the acronyms and mnemonics, which we use a lot of. And I do use them. I really do think it’s helpful to trigger off information and it actually gives the students a lot of confidence. However, what I do find is that students will remember the mnemonic. They might even remember what it stands for. But they can’t apply it to the correct question, so that’s something which we’ve spent a lot more time on recently. Utility software, again, I tell the kids remember A to F in the alphabet, so A, B, C, D, E, F. They have to name a utility software because in the specs, the main ones they need to know is the compression, defragmentation encryption and then ABF are just extra ones that they can name if they want to. Brilliant, they’ve got it. I can ask my students, what does ABCDF stand for? They’re about to say it. Then I’m like, what topic is this? And then they forget. And I’m like, oh, that’s frustrating because actually, if you’re then asked to name two utility software, you’ve got six in your head, but you haven’t associated it. So then we end up applying it. to an exam question on utility software to almost try give them like different methods of assessing the same information. Yeah, because like you said, they remember their stuff and they’re nearly there, but they’re not quite, they’re not quite remembering it accurately enough to then apply it.

Alan: Yeah, I’m a little, mnemonics have their place. I’m a little nervous about overusing them, because it’s almost like saying to the pupils that this stuff is too hard to understand, so I’m giving you a little trick to understand. The one that I’ll give you is volatile and non volatile. So they seem like strange words, but what I always do is explain what volatile means and we talk about the word volatile in lots of different contexts because it obviously has a meaning in human behavior. Someone who’s volatile is changeable and will blow up and maybe have an angry outburst very easily. So that’s someone who moves about a lot. So in chemistry, a volatile compound is one that evaporates, so volatile is related to moving and perhaps evaporating and disappearing. So therefore, the volatile storage is the one that moves or evaporates or disappears.

I don’t know if that works. I don’t know if that’s a thing that’s going to work with the high prior attainers rather than the low prior attainers, but, that’s what I try and do is try and explain that there that these words don’t come out of nowhere. They do have a meaning in themselves, but someone did point out that mnemonics are very useful if there’s actually no structure to a list of things, and there’s no reason why a list of things are all related, therefore mnemonics are very useful.

Adrienne: I think it’s sequencing as well. I know one of your podcasts. You discussed with your guest about the importance of sequencing and that’s somewhere where I’ll say my teaching practice has evolved because I would have been guilty of saying, oh, this topic. It’s okay. If you remember this, you remember the key. And then because the students have been told that and then explaining, I’m thinking like, why aren’t you listening to me? Whereas now they learn all the content and then the triggers can come at the end because it’s for me, like students like my students with low confidence, whether it’s low ability, low confidence they like the mnemonics because they feel like they can be successful then in the lesson.

Whereas my students who are a bit more confident, I don’t want them just relying on the mnemonics because great you can name, All of these software, but can you then explain it? Can you then describe it? If I feel like earlier teacher me would have put too much emphasis on these triggers and then as you said, it completely undermines the key facts.

So yeah, it’s just finding the right timing to introduce them, which is where I think the revision side of it is good. Because for revision, if We’ve got a lot of content. Some of it is just fast pace. I’m just checking that they know it. And if they can’t name it, then. Obviously I need to reteach. 

Alan: So specific to computer science then, thinking about preparing for the GCSE exams we’ve talked a lot about learning sort of core knowledge, which is very useful for paper one, but then we get to paper two in OCR. It’s the other way around in AQA, of course, the programming paper or the computational thinking and algorithms paper. How on earth do we get them ready for that? What do you do? I don’t know. Get them ready for the 

Adrienne: programming 

algorithm-a- day, I think it was called. Yeah it’s applying it to different scenarios because it’s more skills based, so it’s not so much of just like learning facts, but what I changed in my teaching practice, which I think is having a benefit, is I used to do the classic, and I say classic just because this is what I was told in teacher training, if you have three lessons a week, you do two lessons of theory and one lesson of programming.

Alan: Yeah, but I used to do something similar, but yeah, go on 

Adrienne: and I still roughly try to keep that, but where possible, I will make the programming related to the theory and I had a load of examples that I coined as Algoritheory, I don’t, I’m really weird when it comes to language, but that’s just something which I thought, yeah, that sounds quite good, I’ll keep that.

Alan: I remember you talking about this on Twitter, probably a #CASCHAT thing, and you, and I looked at that and went, that’s brilliant, yeah, so go on and explain Algoritheory. 

Adrienne: So basically, it was trying to make an algorithm related to a theoretical concept that they learned. So for example, we did one recently where students were learning data representation. So they learned about file size of an image and then they have to then create a program. So even though technically this was one of our allocated theory lessons, we had a bit of time at the end where they could then make that into a program and then you’re reinforcing their programming skills of taking input, of multiplying the resolution times the color depth. They’re getting both the programming and the theory side in one and that’s something that I say to the students to do as well. If we’re doing a bubble sort in class or binary search, we’re not doing it on colours, we’re not doing it on numbers, we’re going to do it on CPU components or we’re going to do it on different registers. So it’s, yes, we’re actually just learning what the algorithm colours. Let’s quickly remind ourselves of what these keywords are and that’s why I try and encourage them to do at home as well and I probably now in revision give more time allocation to paper two because I’m conscious that at home they’ve got the online IDEs but I’m having a massive issue with repl. it and the kids turning on the AI feature so then you know it’s like you’re cheating yourself but at home when they’re doing It’s, they’re proud that they’ve got this code, but are they then going to be able to do it on paper? I don’t know because they’re using the AI tools to help. 

Alan: Yeah, it is.

It’s a big, it’s a big leap actually. So a lot of Pupils who can write code when they’ve got an IDE in front of them like IDLE or Thonny or REPLIT and they can write code and debug it and then they sit in front of the exam paper and they can’t get started and that’s a big problem. So do we need to do a lot of written programming questions away from the computer towards the end, maybe of the course? Would that help? 

Advertisements

Adrienne: That’s what I started to do. So I privately tutor as well, and this was some feedback that I gave to my tutee’s parent, because they would every week say, can we, can you do coding? Can you do coding? And I’d watch the student code and they were using, which is great, but they were using the error messages when it says forgot colon, they’d go back and change the colon. They were using the predictive features to then finish their code. And I’m thinking, would you have known how to do that without that prompt? So we instead started sharing a whiteboard. And they had to write it down and then I could then give them verbal prompts, but it gave me a much better understanding of what can this student do without the tools there to help them.

Yeah, definitely good practice, I think, to get them to write or. Like you put some code on the board and you blank out some of the key features and you get them to fill it and that can be done at home as well without the barrier of not having an IDE or of not having a laptop even because not all of our students have laptops at home but they can all take a paper with a printout of code that they need to fill in.

Alan: So that speaks to the scaffolding that some of the students will need. Kids that get completely stuck with a programming question, right, write a program to do this and it could be a bubble sort with nothing to help them. So you could blank out a lot of the code, have a skeleton there, they can fill in the bits that they need to and you can do that for all sorts. You can do it just for basic syntax, The difference between for and while, so you could blank out the for or the while, which one goes in there, talking of for and while, so there was a question last year. Last summer on OCR paper 2 which asked why a condition controlled loop would be needed. Of course the questions about stuff that you can’t run in Python was one of the problems last there was a big question about The way a bubble sort is constructed as well, that threw a lot of last year’s candidates. How do we cover off all of that, the programming content in the paper that goes a little bit beyond what you can do in Python? 

Adrienne: You teach it with the exam reference language, which I think they now call it because, and I think for teachers, my best practice has come from reading mark schemes. I know one paper used switch case, and the examiner’s comments have said students didn’t know what this was. I think going through examiner’s comments makes me more aware of things which might be quite easy to skip over in the spec, which really we shouldn’t be doing.

Yeah, really trying to become an expert on that specification, but showing the students different solutions because. There are going to be different solutions, but an example which we always look at is the substring or length, because in Python they will learn there’s len so len and then whatever the variable name is, but in paper two they can write dot length, so it’s a case of Show them both.

Which one’s correct. And most students, if we vote, ‘ cause I like to try use a bit of peer instruction. So I get ’em to vote first, then they discuss, then we revote. But most students with the initial vote will say that the only one that’s correct is len because that’s what works in Python. But they shouldn’t be saying that they should actually appreciate both of them are okay for the context.

Alan: Yeah, I yeah, part of me wishes that the exam boards would all just settle on Python, but then on the other hand, the exams are supposed to be language agnostic and because a lot of teachers will teach JavaScript or something else, weirdos, but But there are teachers out there who’ve been doing this a long time and they’ve been teaching programming before Python was popular, so you can’t insist on Python, but yeah.

Adrienne: I think what. What was being suggested a lot last year on Facebook, hopefully the situation has now improved, was that because it’s only so far Edexcel that have the on screen assessment, some teachers weren’t actually teaching them how to do it in Python. They were just teaching them how to do the, exam reference language and then I think that caused a big debate of are we now just teaching them to pass the exam because ultimately yes the exam grades are important but then what about those students who are going on to a level where they have that massive project that they need to code 

it’s getting the balance and I don’t think it’s necessarily an easy challenge for people to do, 

Alan: yeah it’s worrying if some teachers are not doing the practical stuff with Python or whatever language, because, first of all, you have to sign a statement that you’ve given the, Students sufficient practical. It used to be 20 hours, but it doesn’t say 20 hours in the spec anymore, but they need to do a lot of practice.

And and I think that’s important. Simon Peyton Jones chair of the NCCE said that programming is our practicals. If you think of science lessons as having practicals, you get the bunsen burners out and stuff. We jump onto the computer and write programs. That’s our practical expression of computer science and without that it’s just a dry subject because the whole point of computer science is, making boxes that do clever things and programming is a huge chunk of that. 

Adrienne: Yeah, and I think from, I’ve worked in a lot of schools, as I said earlier, my career has been it’s actually a bit embarrassing how many schools I think I’ve Now watch him, but it’s given me a completely like different experience in each school. And although I know that there’s disadvantages to moving schools a lot, it has actually been really beneficial as well, because you get to see the limitations in some schools. I worked at a school last year and I was only employed to teach say Year 11s. And for whatever reason, the teacher hadn’t been there, so they couldn’t learn Python. And then I don’t think some of them had the software installed on their computer. And how are we this late in the course? And this is the situation we’re in. But then you also have schools where it takes 20 minutes for the computers to turn itself on and boot. And, you’ve got so many other barriers in our subject that we need to be overcoming as well.

Alan: Yeah, and I’ve taught in a school just part time recently helping out where I would have to arrive at the classroom at least 15 minutes before the lesson started to plug all the mice in and everything that had been unplugged and the keys that had been popped off the keyboard just to, get the computers working again after, Who knows how many cover teachers have been in there who weren’t desperately keen on looking after the equipment and it is difficult. I don’t know what we do about that. Again, it comes back to something we’ve said a few times on this podcast, which is SLT really need to support the subject. They need to give us the equipment and the hours and the teachers, but of course, we’re in a teacher recruitment crisis. So that’s going well, isn’t it?

Adrienne: But I think that’s where resources which we haven’t actually mentioned yet, but ClickSchool the virtual textbook, which I cannot believe is free because I absolutely love it. Like they are so good resources like that. And I’m sure there’s loads of others. I know you have to pay for the Craig and Dave one you mentioned, but those resources they can help plug the gaps. If I have to set cover, which I really try to make rare, it is nice knowing that they’ve got these resources, which if the students have been shown how to use them before, then they can still have quite a good quality of learning experience. And at home, they, some of the students who are off sick or who are on a trip, so they miss a lesson, they’ve got these resources available for them to try and do a bit of catching up as well.

I actually think our computing community is so good. Like it has helped me so much. Computing departments. I’m just so small and I’ve been at schools where I’m the only computing teacher and I’ve become so stuck or I can’t work out a solution or I need another resource and literally post on Facebook, on Twitter, and it’s not even 20 minutes and I would have had DMs, I would have had emails being sent, like it’s so lovely to have such strong network where people do help each other.

Advertisements

Alan: Yeah, it is good, and I’ve obviously used CAS since the beginning, computing at school, and you go on that website, there’s a whole resource section where I’ve uploaded stuff in the past, but I’ve, when I first started out, I was downloading everything from CAS, and that’s before stuff like Teach Computing came along You mentioned ClickSchool, which is a chap called Laurence James, who I’ve spoken to many times, and there’s some great stuff on there.

And like you say algorithm a day and stuff like that. So I would do lots and lots of exam style question practice towards the end. 

Alan: So we’ll go back to that conversation with Adrienne very shortly. I just want to remind you that you can buy my books and all the other books on JohnCattBookshop.com with a discount exclusively for HTTCS pod listeners. The discount code you need is HTTCSPOD that’s HTTCS P O D. And you can use that at JohnCattBookshop.com that’s JohnCattBookshop.com. And you will get 20% off everything. There’s books by Mary Myatt, Tom Sherrington. Adam Boxer and many more. And my two books, How to teach computer science and How to learn computer science, 20% off with the code HTTCS pod. At JohnCattBookshop.com. So let’s get back to today’s chat.

 One thing I do, just coming back to my top tips, I think we should do a few top tips that we haven’t mentioned yet. Have you heard of the BUG technique for assessing an exam question? BUG stands for Box Underline Glance. You box the command word. It’s important that you go through the command words with them, then you underline key terms from the computer science domain, and then you glance at the whole question to make sure you’ve read it all. Command words are important though, aren’t they, in the exam? Do you explicitly teach them, Adrienne? 

Adrienne: Yeah the starter activities we will have a different command word which will be in red and then normally, A lot more heavily at the start, we’ll discuss, like I’ve said. Name a component of the CPU. What else could I have said? I could have said identify, I could have said state. And then the next question might say describe. And we’re like what’s the difference between describing and naming? I think it’s so important to focus on command words. Also, to tell the students to focus on the amount of marks available. If you have a six mark question, they’ll say, oh, miss, I’m done. You’ve written two sentences. Like, how many marks realistically do you think you’re going to get from this?

Alan: Yeah, absolutely. So often you’re marking mocks and it’s a two mark question and they’ve written one word. And the other thing that, you know, that I always talk about is not just the number of marks, but I do go over the assessment objectives AO1, 2, 3. Because if it’s more than two marks, you’re probably going to have to go up to an AO2 or an AO3 mark. And what that is I know them off by heart, of course, AO1 is just knowledge and understanding. That’s just your basic facts. AO2 is applying that knowledge. So what does that mean? And then AO3 is creating or evaluating something. If you get up to 3 or 4 marks, it’s going to need some application knowledge AO2. If it’s 4 marks or above, there might be a part of it that’s create or evaluate. And and so I get them ticking off the marks and going have I done any application knowledge here? Or have I just stuck to all I don’t know facts so going through that with them towards the end as well. AO123.

Adrienne: Another tip I have, I actually don’t know if this is going to be a popular opinion, but I tell them to do it. Quite often in paper one, you get like an eight mark question and I know it’s not always on, on ethics, but quite often it is. Yeah. I tell ’em to look at the eight mark question at the beginning of the exam and then go through the paper Nice. And then go back to it at the end. And the reason why is because structure obviously helps. And sometimes, when you then go back and you’re doing your simple one or two marks in the background, your mind is then thinking about that question. But actually what a lot of the time happens is they use knowledge that has been triggered by answering the earlier questions that they can then put in that 8 marker. I don’t know if people have different opinions, but I like recommending that. 

Alan: No, I love it. And what you’ve done there is told me something I don’t know. You’ve given me an idea I’ve never heard before and I think it’s brilliant. I really do, because I do believe in this idea that your subconscious mind can be processing something while your conscious mind is busy on something else. I think there is some psychology behind that but that’s a brilliant idea to read the big eight marker and then go back and carry on but like you say, they’re going to, they’re going to be, have some thoughts triggered by all of the other questions that they’re answering. I think that’s great.

Adrienne: It’s been okay. 

Alan: Yeah, so last summer’s OCR paper 2 was a struggle for some of them, but, what I would say is, there were a lot of teachers on Facebook saying, we hadn’t taught repeat until and we hadn’t taught, the structure of a bubble sort, and they’re on the spec, so it comes back to making sure you cover the whole spec. And one thing that, You mentioned was, mark schemes, but there’s also examiner’s reports. Do you read the examiner’s reports? Because they’re absolutely vital. 

Adrienne: Yeah. And all the comments like on the mark scheme, then quite often I shared them with the students as well. Yeah. They can see, previous mistakes. And I think last year, what I think let the students down is they’d read a question and they would think, oh, it’s so hard and they just skip it. And you should never ever skip any coding question because even if you can just read it and it says output an error message. You can all do that.

You can all do a print statement. Even if you can’t do the subroutine or you can’t do whatever else because yes, my weak programmers are not getting four out of five or four out of six, but they’re getting two or three out of six. If they could do that on every single question, then They should get a grade that they’re quite proud of. 

Alan: Yeah, absolutely. So the little trick of just writing input something and print something, usually gets you two marks out of six for a short coding question. And then after that, see what you can get. If it says. that you need to do something many times, then that’s a loop, so chuck a for or a while in there.

Adrienne: Yeah. And it’s the same with flowcharts. For whatever reason, a lot of my students don’t like flowcharts. So we’ll do different flowchart examples and they had their mark recently and they’re doing the Pearson paper and the flowchart that they had was to do with determining if a number is odd or even.

But most of them could do a start at the top, they could do the arrows. Yeah. Pearson gave them the flowchart symbols, which I thought was quite nice in this question. Oh yeah. And then they just had to pick the correct ones. Only I think one student skipped that question. Everybody else gave it a go, even though they couldn’t, they didn’t know how to do it.

And now they know if they have a flowchart and they can’t do it, put your stop, make sure you join with an arrow on some of these exam papers that seems to get you two out of six marks.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

Alan: So yeah any more top tips? 

Adrienne: No, I think we’ve pretty much covered all like the basic ones that I can think of and then.

Alan: Good stuff. 

Adrienne: Yeah, and then I suppose it’s just making sure you’re using whatever activities you’re setting to inform, your teacher practice that we discussed before about the would you rather questions, which have been quite popular in, in lessons that you give students a would you rather, you give them two options, you get them to debate. And that’s the key part there as a teacher is then listening to what they’re saying and then trying to pick up the patterns if. What are your strengths and what are your weaknesses? Because something actually, which this reminds me of, is students like to revise the topics that they’re good at, which is not very helpful for them because they have that confidence, right?

I know a lot of teachers will do like the whole ragging or they’ll get students to rag, but I do find students will then start focusing on topics And I think that’s where they’re actually quite consistently getting good marks in it, because they don’t want to go over the things they don’t know because that’s hard. So things like the would you rather, gives me the insight. So I’m like, okay, actually, a lot of you are struggling with this, would you rather scenario. So I know I actually need to teach now before we do any more of these revision activities. 

Alan: Yeah, tell your students to revise. It’s funny that, so yeah, it just, it comes back to Willingham again, why don’t students like school? And it’s because learning is hard, and so they will revise or learn, if you like, the stuff they already know. So yeah, trying to get them to revise the stuff they, Don’t know I know it’s another plug for smart revise, but there’s leaderboards on smart revise that are quite motivating and there’s a heat map so the students and the teacher can see what topics they’re doing well at and what they’re not doing well at. But then, yeah, do get them to do the ones that are red, not the ones that are green. 

Adrienne: Yeah, or there’s a, I’m gonna plug here, and this is actually I’ve seen on Twitter recently, or X, or I should say, It’s a bit controversial, the gamification, but Blooket I have not used that as much with my Key Stage 4 just because of time pressure, but I have set some for homework for them, but in Key Stage 3, that is brilliant because Blooket is Like a retrieval quiz, a bit like Kahoot, but it’s got more game modes.

Alan: I’ve used Blooket before. They like doing the oh, what’s the one where they steal gold off each other, gold quest or something.  

Adrienne: I don’t like that one as much because there’s a, Bit more of an element of luck there, because they can randomly swap. So the best one that I like as a computer scientist is using the crypto hack, because while they’re entering their PIN, while they’re entering their PIN, I’m like, okay, we’re hacking, I’m giving you permission.

So what type of hackers are we being today? And then, you start drilling in other kind of Bits of knowledge, and they like might roll their eyes, but it’s the case of some students are quite slow at typing in the PIN, so you get them thinking and it relates to, okay hacking, what legislation does that break?

You’re feeding enough information but a key tip, if you are using something like Blickit, is set a target, and I know I think it was, I think it’s Anaconda, but someone mentioned this before give them like a percentage that you want them to get as a class. And if they get this percentage as a class, they can have a house point or two houses, whatever reward it is, because otherwise I was finding there was a few individuals who weren’t actually reading the questions.

They were just clicking whatever because they wanted to get as many through or because they weren’t taking it seriously. Whereas giving them that class motivation of. Regardless of where you are on the leaderboard, if as a class we can get a 70%, then you all get a house point and they start working with each other by doing that rather than trying to sabotage each other. And again, you then get to hear their conversations and you’re getting more data. Again, which is useful. 

Alan: Yeah, I had a terrible time with Quizlet Live. I used to use that a lot and some classes that, you’d get put in teams, but in some classes they just didn’t want to work as teams and they’d sabotage their own team rather than get the right answer. It is difficult to know what’s going to be motivating. Ah, children, eh? We’ll never work them out. 

Adrienne: No, but my, the behavior at the school that I’m at now has been a bit more challenging compared to I’m used to, and I think that was partly because I joined later on in the year. They are great now. I love working there now. I have to put that out there, and I genuinely do. But to start with, they were more challenging than what I was used to, and Blooket was the game changer. That was their motivation. They can do the last five minutes as a reward. And then once we got to that stage, it was okay, now your reward comes from your house points, which be determined on the leaderboard, or we’ll do class house points. It’s just if anything it’s a tool, it’s how you use it that’s going to decide. 

Alan: Yeah, absolutely. Yeah, I know all the arguments against gamifying or against, rewarding students for working because, that’s saying the learning isn’t worth it in itself. However, you’ve got to do whatever works in the setting you’re in. And if you, like you say you’ve now moved towards different motivations and you’ve now got a class that enjoys being in your classroom and will work for you. So that seems to have worked. It’s tricky. Everyone’s got to do what works for them. 

Adrienne: Yeah, agreed 

Alan: we’ve been talking for over an hour. I’ve enjoyed that, but I’m sorry I’ve kept you I just wonder if you have your slide of jokes to hand, or you can remember any other ones that you’ve used. 

Adrienne: Yeah one of them was the hard drive one. One of them. How do robots eat pizza? You know that one ? 

Alan: I don’t know that one, I don’t think. How do robots eat pizza? 

Adrienne: One byte at a time. 

Alan: One byte at a time. Yeah. 

Adrienne: And then obviously. The follow up question is how many bits in a byte? What other measurements can we name? Yeah, if I find my slides I will send some to you and you are free to use them. I might just have to filter out some of the ones that the students contributed because I don’t think all of them are entirely accurate. 

Alan: Have you got this one? Why do astronauts use Linux? 

Adrienne: Nope, I’ve not heard that one.

Alan: Because you can’t open windows in space. 

Adrienne: Oh, no.

Alan: Yeah yeah, good stuff. If you think of any more, pop them over, I’ll put them on the podcast and I’ll credit you. If your students make any up, I can read them out and name check them. Although we’re trying to keep this podcast secret from the students, aren’t we? We don’t want them to find it.

Adrienne: Oh yeah, I won’t be telling the students about the podcast. 

Alan: When I started teaching it was all like make your account private because the kids will find you, they will hunt you down, they will not stop until they find your accounts and then they’ll share all of your secrets. But I think, the world’s moved on a bit. I think teachers should be able to have social media accounts as long as they don’t bring the school into disrepute and hence mine is public. So the kids all found mine my Twitter account anyway. So I just made sure that I didn’t put anything embarrassing on there. But occasionally 

Adrienne: it’s slightly different to Instagram and TikTok where you’re sharing like more images or like photos of yourselves or videos and I think absolutely we should. I just would not recommend anyone to put themselves in that position unless they’re so careful on what they’re posting. Even, like photos of people in a bikini. You should be able to post photos of you in a bikini but then you do have students commenting on it or students in lessons discussing and I’m thinking you’re adding a lot of kind of a grey area here of to we need to tell students to be respectful and all of this. I don’t know what’s right or wrong, but my advice is probably just to try to protect yourself. 

Alan: I can confirm for the listeners that I shall not be sharing myself in a bikini on social media at any point. The other thing I won’t be doing is TikTok. I just can’t get my head around it. I’m just, I’m like scrolling through TikTok and the videos are like three seconds long and I’m like what just happened? I’m probably too old. 

Adrienne: But students love TikTok. So I don’t have it, but I find that I end up getting told about it a lot because especially with the in the pandemic where, a lot of teachers are doing the virtual teaching and then before you know it, the virtual teaching like, screenshots are going up, and then 

Alan: I appeared in a few TikToks. Yeah. Yeah. It wasn’t pleasant. 

Adrienne: But yeah, social media is, it is scary, it is brilliant, but it is scary and it fascinates me how much students manage to trick us. I’ve had students, Pretend to be a teacher before. They created a fake profile under a teacher name because they knew that our school was very big on teacher Twitter and CPD and they followed a load of teachers on Twitter and they found out a lot of information that perhaps the teachers wouldn’t want those students to know, but it just makes you think yet again how careful you have to be when you are posting things online.

Alan: Absolutely. We got off the topic quite successfully there, Adrienne. Yeah, I think some time ago we were talking about preparing for exams but now we’re on teacher Twitter and yeah, teacher TikTok, it scares me to be honest. Anyway, so we got onto social media I should be tweeting the link to this podcast eventually but it’ll be a couple of weeks when I’ve edited it, because we’ve got over an hour’s worth of stuff now. 

 That was great. I better let you go. It’s nearly half 8. I better go in. Yeah, thank you so much. 

Advertisements

Adrienne: Hope it goes well with the editing. 

Alan: Yeah, brilliant. All right.

Adrienne: Thanks a lot. Have a good night. Bye.

Alan: So we come to the end of another epic episode. They’re getting longer. I hope that’s okay with you. When I get talking, I just can’t stop. So what was today’s fertile question? It was, how do we prepare for exams? Have we answered it? Let me know in the comments or on the socials. 

This has been how to teach computer science, the podcast. I’m Alan Harrison. If you want to give me feedback or get involved, just go to HTTCS dot online or check the show notes. Remember if you like this content, please subscribe to the podcast. Tell your friends, buy my books. Leave a review of my books on Amazon or at the very least buy me a coffee. That last one would be really kind details at HTTCS dot online subscribe now, so you don’t miss a thing. 

 I have to say your response there, Rachel, was. Absolutely what a deepfake would say, so you know.

Rachel: Well, so 

Alan: I don’t think you’re, I don’t think you’re real at all. 

Rachel: I always say please and thank you to Siri just in case because I am scared about what might happen in the future and at least if I’m polite to the robots in my life. Then I might have some favour in the future.

 Yeah. So that’s Rachel Arthur. From teach first or is it on next week’s episode? Subscribe now tell your friends. Um, that’s all for today. I’ll see you soon. Bye. 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!
Categories
#LEARN computing general podcast programming teaching and learning

Podcast Episode 5: How Do We Teach Programming?

Welcome to another podcast episode! The podcast is here

Transcript…

 Hello, and welcome to how to teach computer science the podcast. This is episode five. How do we teach programming? I’ll be answering that question and many more with the help of today’s special guests. 

, I do think it is really important for children to learn to program. I know we’re talking about it can build up resilience and it can be really creative and it helps you think outside the box.

 ChatGPT and the other AI things, are all really great for writing bits of code, but I think, it’s a lot more valuable to be able to understand what the code’s doing, and then that way, if you have an error, then you’ll know why that is. 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

And we’ll hear the full interview shortly. My name is Alan Harrison, and I wrote the books how to teach computer science and how to learn computer science available in online bookstores, more detail at the companion website. HTTCS dot online. That’s the initials of how to teach computer science HTTCS dot online. So last week’s episode with Andy Colley proved to be an epic. Even with drastic cuts, it was still 43 minutes and this week proves to be just as difficult to edit. So there will be no more wasting time with silly jokes. 

I’m just going to. 

What? 

oh, so it seems Alexa is listening and has a joke for me. Let’s see how this goes. 

Who’s there? 

A hardware interrupt. 

Oh, dear. 

 All right, let’s try something else. Alexa. Why was six afraid of seven. Because 7, 8, 9. ​

 If you like this content, please subscribe. Tell your friends, buy my books at HTTCS.Online. Leave a review on Amazon or at the very least buy me a coffee, details at HTTCS dot online on how you can do that. Every week, I’ll transcribe this recording and blog it at HTTCS dot online slash blog. 

So if you don’t like my voice. …

We’re talking about programming today and soon I’ll introduce my guests, but remember in the books HTTCS and HTLCS each chapter starts with a story from the hinterland of our thrilling subject. Today’s story takes place in Boston, Massachusetts. 

It’s April the 10th, 2019. Late afternoon. The final stage of the pipeline of algorithms is executing. Dr. Katie Bouman sits at her Mac. And watches open mouth as the picture starts to appear in the upper left window. She and a team of computer scientists, astrophysicists and electrical engineers have been working on this project for three years. Five petabytes of data on half a ton of hard drives from telescopes around the world, arrived here at MIT over a week ago, and the algorithms have been churning it ever since. 

Advertisements

 The black hole, Doctor Bouman is analyzing, looks tiny from earth. About as big as an orange word on the surface of the moon. Refraction limits what we can see with our telescopes. So the very best image of the moon from earth consists of 13,000 pixels. But each pixel at that distance would then contain around 1.5 million oranges. To take an image of a black hole we would need an earth sized telescope. We can’t make one of those, but we can connect telescopes around the world, giving us lots of low resolution images from different angles which could be processed by computers into a single image. That’s what Dr. Bauman did creating an earth sized computational telescope called the event horizon telescope. Just like several different, low res images of the same face can be used to generate an accurate prediction of the real face. We can use these sparse noisy images and put them together to create a more detailed image. Doctor Bouman has spent the last three years building a computational pipeline to do just that with the images from the radio telescopes around the globe being fed into the algorithm, which eventually produces an image. The full story can be heard on Dr Bouman’s Ted talk, but what excites me is that the programming language chosen for all this computation was Python. 

So it was at around 6:45 PM. On April 10th, 2019. A researcher took a picture. Of Dr. Bouman at her computer in an image, you can see in my books and is reproduced on the cover. We can see a code window on the right of her screen, which looks like the matplotlib Python library. 

 We can see the now famous image of the M 87 black hole, but most importantly of all, we are privileged to witness the joy of discovery. 

 Dr. Bouman presses her hands to her mouth eyes wide open in wonder. An algorithm, her algorithm has unlocked one of the secrets of the universe.

 So you can buy. How to teach computer science or how to learn computer science, to read that story again, and many more. I did put lots of hinterland of our wonderful subject into the book. So that you can share it with your students or enjoy it just for itself. As for my story. Well, I learned to program in the eighties home, computer boom. My school was one of the first to get the BBC micro . On which Mr. Charnley taught us to program. And of course the first thing we did was write a program that went a bit like this:

10 PRINT. ‘Mr. Charnley is an idiot’
20 GOTO 10.
And then press run. 

Mr Charnley was not an idiot. he was a very good computing teacher I got an a in computer studies in 1984. And it’s all been downhill since then. 

 So that was my classroom experience. But today’s guests are going to tell me a little bit about theirs. 

It’s time to introduce my special guests on the podcast today and I’m delighted to have Harry and Anna Wake with me, who are the young creators of Mission Encodable. So please do tell us a little bit about yourself. Harry first, perhaps, and then Anna. Harry. 

 Yeah my name is Harry. Of Mission Encodable and I’m Anna’s cousin. I think a lot of our interests are quite similar, a lot of what I’ll say will also apply to Anna, but I’m studying maths, computer science, physics, and further maths at A level currently.

And about two years ago I made Mission Encodable with Anna, which is a website that teaches students to code in a fun and engaging way. 

Over to you, Anna. 

So yeah, as Harry said, we have very similar interests, but I am the other co founder of Mission Encodable, and I’m doing exactly the same A levels as Harry.

But it’s also fair to say that outside of doing computer science and programming, we also like climbing and swimming and running and all those activities, 

I think we do both like all of those, so it’s quite handy. Just means that whenever we have to write a bio out, it means that they both look almost identical, like they’ve been copied. It’s because we are just very similar people, I think. 

yeah. Thank you for the books, by the way, they are really nice.

Yeah, very nice. Nice little little book, yeah. So I wrote the first one, which is sat over here, for teachers. There you go. That one, the teacher one, but this is full of stuff that teachers need to know, and you don’t need to know, not unless you’re going to teach it, which is something you could do in the future.

You think, ever think about going into teaching? 

I have read quite a bit of pedagogy stuff recently, just because I find it interesting, and it is funny because the more you learn about it, the more you watch your teachers doing things. cold calling, found it. 

Yeah, I often think about that when, I make this podcast and there’s lots of other teaching podcasts and YouTube channels and stuff out there and just books generally, and I think, do the kids know what we’re doing?

Would the students, if they knew what we were doing, would they try and undermine the pedagogy techniques? That would be mad. So you don’t undermine cold calling, do you like keep sticking your hand up and annoying the teacher who’s trying to do cold calling? No, I mean I’ve 

never quite got to the extent of some pseudo reverse pedagogy, but yeah, it is really interesting and I’ve got teachers who do more of it than others do as well, it seems.

Yeah, that’ll be interesting, if I can talk to you sometime about, about the good teaching and the bad teaching that you’ve seen. in classroom, but we’re going to try and stick to computer science today.

So while we’re on the subject then so your experience of learning programming in school, I was, I must admit, I did my homework, I was watching that video you did with Craig and Dave from nearly two years ago now, I think, where you were introducing Mission Encodable, and you were saying that you were Coding for fun during lockdown.

Yeah, so during lockdown I think Harry and I, we started to have our Zoom meetings at the time. Yeah. We called them our executive meetings and we’d just make little projects. I think the first one we did was in Scratch. And very imaginatively, we called it Wake Mania. It had lots of games, all sorts. It was a bit like a board game and then you could play it with your family

so it was really nice. And then we made a website. And it had lots of puzzles and things like that. I had a Caesar cipher all kinds of, number pyramids, all that kind of thing. And that used just HTML, CSS, JavaScript.

But it was quite fun. And, we had a lot of fun designing it and making all the problems work. And then we entered that into the coolest project competition. And we did win, and we’re very pleased with ourselves. 

Brilliant. Brilliant. Coolest projects. That’s run by the Raspberry Pi Foundation, I think, isn’t it? Did you have to go to a prize winning for that? 

No, because it was in lockdown. 

Of course it was. Did you have a, did you have a Zoom prize giving ceremony? 

It was a YouTube prize giving, wasn’t it? Yeah. It was like a live stream and I think, we both watched at the same time waiting.

I’ve got kids roughly the same age as you. One who’s just gone off to university, and one who’s in year 11, and she went through secondary school when there were no trips anywhere.

So she didn’t do any school trips at all. From year seven to year 11, it’s pretty sad. So everything happened online. 

You’re that generation that loads of stuff just went online during a really important part of your life. How was that for you anyway, ? 

Yeah, it was strange, I think, but I think we also adapted to it rather well, or at least I seem to. There’s a lot of benefits that have come out of it. I don’t think Anna and I would be having these little meetings each week had lockdown not happened. There are positives that have come out. 

Like this, the way that we just jump on a Teams call and everyone just does that now, Teams, Zoom or Google Meet, whatever, so the world’s changed and one of the problems we’ve got as teachers. Is we can’t work at home a lot of teachers are leaving the profession because they’re seeing their other halves working at home and going, I want a bit of that.

Advertisements

Yeah, quite, until all schools go online, that’s going to be a big problem. 

Yeah, there is discussion about that now, isn’t there, whether virtual remote teaching could be a thing and if everyone could just stay at home all the time and more people signing up to programs that do that.

I don’t like the sound of it very much, so I’m quite glad I mostly avoided it. But, 

yeah, do you know, I think there’s a place for that for certain students. There are a lot of students who, have trouble going to school for various reasons, disability and so on. And I think, so online schools really need to happen. But I don’t think it would be good for everybody. Not all students need to do that. 

No, I agree. I think there’s a nice social aspect of actually going into a school and seeing your friends and seeing your teachers and things.

And I don’t think you get that online, but then equally, there’s a persistent attendance issue at the moment. So for some people that find it difficult to come in for all those reasons, I can imagine it also has lots of positives. So yeah, it’s an interesting one. 

It is, yeah I read something recently come back to technology this is primary school children going to school and they’re unable to read a book. They’ve never seen books before and they swipe the cover of the books as if it’s an iPad or something. 

That’s quite scary, isn’t it? I’ve heard of people getting to secondary school in their computing lessons, having never used like a proper monitor and keyboard before, and they start swiping at the screens apparently, but I’ve never heard of it with books. 

Oh yeah so yeah kids unable to use a book when they start school is quite tragic. Okay, don’t get me wrong, I love my Kindle and that’s where I read everything, but that’s mostly because I’m 50 something now and my eyes have stopped working and so I can’t read the text on ordinary books these days. Kindles are great for that. 

 So I want to First of all, ask you about learning programming and what it was like for you learning programming in school. And before I go into that, I’ve just interviewed Andy Colley who’s on last week’s podcast by the time this comes out.

And he wrote the Python course for Repl. it. Yes, I know we all know about Repl. it and that’s a A big deal for you guys, I’ll talk about that in a minute, but so he knows a bit about teaching programming, Andy Colley, and he said 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

I’ve seen so many programming courses that go variable assignment, input, output, and now recursion. Yeah, absolutely. And there’s this giant pit that you fall into. You’re on your back like a turtle and you can’t get out. And I see that look on the faces of students all the time

. Those are the words of Andy Colley. Have you experienced that in the classroom? Have you found yourself suddenly lost by where the programming teaching has gone? 

I think a lot of teachers. Yeah, teachers know not to do that, I think as a general rule. Not all, but the majority, I think, they’ve taught for long enough to know that, you do have to transfer your knowledge in a way that students can understand as well. But if that is happening, something’s going a bit wrong, I think. 

Yeah, so what I’m driving at is you probably had decent programming teachers

Anna, what was your experience like? 

It was all right. I think I was quite lucky because my dad is also quite into programming and he when I was, not super little, but probably. Year six or seven, we would make like Python games and all that kind of stuff. So he taught me a bit of Python before I got to school. I think for a lot of people it just becomes quite dull at school because the projects, they’re all very samey and they can get quite mathematical and that some students find that hard to relate to.

Yeah, I guess you guys are, like, not typical students, really, because you probably a bit like me, learned how to program before you went to school or before you went into secondary school, at least. And you said about mathematical problems and stuff, and I was watching that YouTube video you did with Craig and Dave nearly two years ago now and you were quite keen to put into your product mission encodable, which we will come to in a minute stuff that wasn’t mathematical. You did madlibs and a band name generator, I remember. Was it important for you to put in stuff like that rather than just oh, this is the volume of a cuboid 

yeah, absolutely. I was going to say earlier, if you can create games and. actual projects with your programming, like right from the beginning, like with my dad, we did connect four and tic tac toe and that kind of thing. And it just, it shows you what you can do with the programming that you learn 

and I feel like occasionally that’s missing from the projects that you do, like finding out the volume of a cube is all very well, but it’s not really showing you how important it is and all of this so yeah Harry, do you want to talk about mission encodable yeah, not being mathematical.

Yeah, let’s hear- harry, what’s Mission Encodable? 

Oh I’m very happy to give you the elevator pitch. Thank you. So Mission Encodable is a website that Anna and I made about two or three years ago now, and that we are always working on it and we designed it because we wanted to make learning to code more interesting.

So I think, as Anna’s just touched upon, a lot of tutorials are just. Quite dull to be frank, like they will talk a lot about mathematics or other things which aren’t very relevant to students lives, and we were seeing a lot of our peers get quite switched off by that, I think, and we really liked coding, so we didn’t want to just watch that, so Mission Encodeable was what we made to try and inspire people a bit more and to find, the more enjoyable aspects of programming, because it is really creative.

So it’s a free course and it teaches Python. All the way up from students not knowing anything about coding, having never written any code, or knowing what an IDE is, or even what Python is, all the way to being able to answer some of the very top tier questions in their GCSE computer science exams. So it’s split up into several different levels.

I think we’ve got nine at the moment, although by the time this comes out, hopefully that will be incorrect, we’ll actually have 10. So there’s lots more to come. But the principle of it is that we want to make learning to code really fun and enjoyable for everybody. So there are lots of projects in there.

There’s step by step walkthrough explanations, so teachers, students, everything they need to know, and they get to see it applied in practice in a really fun and engaging way. 

Yeah. That’s brilliant. I’ve had a play with it and yeah, I can see what you mean. You build up the skills and then there’s a project and it’s something interesting.

Like you say I mentioned the band name generator earlier and the Madlib it’s quite a good incentive to, to get all those skills because you can make something that’s fun. 

Yeah, good. And like I say, I watched you talk about it on your YouTube video it must seem like ages ago now, with Craig and Dave and just as an aside, I know Craig and Dave very well and we’re fans of each other’s work, I think. So the book that I’ve just sent you a copy of how to learn computer science, haven’t I?

And if you turn to the foreword, you will see a foreword by Craig and Dave, because they were very supportive of my book projects and and Dave actually proofread the whole thing and gave me lots of pointers. 

When I was working on the book, I had this brilliant class, which I pretty much took through computing from year seven to year 11.

And they did brilliantly in summer 22, and but they asked me about Craig and Dave. Oh, you, do you know Craig and Dave? And I became a minor celebrity when I went on Craig and Dave’s youTube channel and that like they made me keep putting it back on. Oh, Sir show us when you did that collab with Craig and Dave. And I went, what’s a collab? 

And but they started asking me questions and this thing happened and Craig and Dave, neither of them know this and they’re going to listen to this podcast and they go, oh my goodness. But I got asked a question. And a perfectly innocent question, so I thought, and the class asked me Sir, are Craig and Dave married?

And, I know you’re ahead of me here, because I know you’re teenagers and you know what that question means. It’s not what I thought it was, and so I said yeah, I believe they are. And there was suddenly a whole load of whispering like, I told you, I told you! And I went Told you what, we knew they were married, like whoa guys, they’re married to separate people. And so it took a little while to sort that one out. 

 Oh, that noise means it special offer time. My wonderful publishers. John Catt bookshop.com have kindly given all my podcast listeners that’s you guys 20% off, not just my book, but the entire store. Head to John Catt bookshop.com. That’s J O H N C a T T. bookshop.com and enter the code. HTTCSPOD that’s HTTCS P O D for 20% off everything including books by me. And by Adam Boxer, Geoff Barton, Mary Myatt, Zoe Enser and Dylan William, and many more. That’s the code HTTCSPOD for 20% of everything. At JohnCattBookshop.com now. Back to the interview.

about Craig and Dave Yeah

it was a few years ago and that was more or less at the very start of Mission Encodable for us, so that was really generous of them, I think, because, we were very small at that point, still are quite small, but, at that point, we had very few people on our website, so it was really generous, I think, of them to give us that platform initially, when no one had really put any trust in us at that point, that was great and we’ve done a lot more work with them over the last few years as well actually, haven’t we? So it’s not just been that one thing, there’s a lot more that’s gone on. Perhaps Anna could talk a bit about that. 

Yeah, so you might have seen on our website that we have lots of, mission encodable in partnership with Craig and Dave, and that’s because we’ve done a lot of work with Craig and Dave they have their programming site, Time2Code, and we have Mission Encodable.

And we’ve worked really hard together to make sure that our levels perfectly align. And they cover all of the same concepts in each level. And Time2Code will cover it in perhaps a more pedagogical way. It uses the TIME framework, which is a bit like a version of PRIMM throughout. And the programs are a bit more serious, and Perhaps a bit more mathematical throughout, and then on mission encodable, you have the more kind of fun and guided projects that hopefully are more relevant to, or relatable to students like Mad Libs that you mentioned.

Advertisements

So I think it’s really great because you can use both to make your. Learning to programming experience really well rounded because you can have the kind of set like guidelines of time and then you can go and maybe make some more fun projects to test your skills or you can go through our projects and our steps and then go and look at time to codes projects just to test everything.

So it’s been really good and I think yeah, very generous of them again to reach out to us to do that. 

Yeah, good guys. Yeah, absolutely. No it’s great. So how does a teacher get onto Mission Encodable and start using it in their Classroom. 

It’s very easy to get started with, so probably the best thing to do, honestly, is just have a look at our website. So it’s missionencodable. com and you can look at our tutorials really easily. You just have to click the big orange get started button and you’ll see everything you need to, so you can see our whole course.

You can see it all mapped out in front of you, so you can use that to figure out roughly where your students are at and what you’ll find in there are different tutorials. Separated into levels, so you might have level one, which is the introduction to print statements and inputs. So if your students have never coded before, that would be a great place to start, but we do also have lots of other levels, the more advanced coders.

What teachers might do if they maybe don’t feel as confident teaching the programming themselves or, they want to set it as homework, for example, you could give your students a link to a level of mission in and have them do that. Or alternatively, you could teach them. Bits and pieces from the front end of the class, and then you could show the mission encodable, as a revision resource or as some projects to do.

So there are lots of different ways to use it. The other thing that I would say is that we do have a teacher’s page with lots of resources on it. So if you want, perhaps a sheet and a spreadsheet to track what your students are up to in our course, you can download that from our teacher’s page. We’ve got a launch presentation, so that will introduce students to Mission Encodable in their very first lesson.

We’ve got posters, we’ve got notebook sheets, all sorts of other useful resources, and they’re all free to download. Everything is free, Mission Encodable, just in case people didn’t know. So yeah, best way to start is have a look at our website, explore it. And and if anyone does have any questions who’s listening to this about Mission Encodable, they’re thinking, would it be right for their students?

They’re very welcome to get in touch with us just send us an email or fill out the contact form and then we’ll gladly meet with them and discuss in more depth how it can help them. 

Absolutely. So you said there that it’s free. Are we talking about free levels and premium levels or is the whole thing free?

No, it’s all free. Every bit of it is free. People do like to ask so we don’t make any money out of it at all, but it’s all free to access. There’s no accounts required either, so there’s no friction. You don’t have to give us an email address, just go on there, use it as you please. We wanted to do that, I think, just because lot of things are paid, but people can’t always afford them. And initially like we thought if people want to use it, they don’t want to stop them by getting in their way of the paywall. Often schools don’t have very much money, particularly at the moment. So we’re really happy to provide it for free.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

I have, I’ve been head of department. And for five years. And I remember looking for resources for teaching programming and being quoted, thousands of pounds. And I remember having this conversation with one vendor who said, and we can do the whole thing for you for 7000 pounds. And I said, you don’t know anything about school budgets, do you? No, no computing teacher listening to this has got anywhere near that kind of money, so it’s great to know that you’ve made all of this available for free. That’s brilliant. I also heard you tell Craig and Dave that you coded the whole thing yourself I would have, like Dave, put money on WordPress, but no, no, you taught yourself web design and the React framework and away you went. So that’s pretty, pretty amazing that you’ve got that under your belt now at this stage of your lives. So are you hoping that, to take that to some employer and go this is what I made when I was 15, is that your plan for the future?

I think it is a really good project to have. It, it was, it’s an amazing, I think it’s a really good thing to build and to put your skills to the test as it were. And show what you can do. It’s also got a database and it’s all set up. We did have quite a bit of help from my dad, who we now call technical support, but , most of the the HTML, the React we’ve all written we were also really lucky. The design that lots of people say, Oh, that must be WordPress. But we had some help from my mum and all that, those people to make it look the way it does. Harry did an excellent job of designing it. So yeah, it’s a really good project.

Proper, proper family business. This isn’t it. Oh, good stuff. Yeah, so it must have took you, a lot of resilience to get that coded. I think it’s important when you’re learning to program to have that resilience and just keep plugging away. Do you think that’s important? 

I definitely think so. When we started making it, probably Mission Encodable was slightly above our skill level, so we had to teach ourself a lot, but in a way like that’s good because it helps you learn stuff. So I definitely recommend that to any students who are listening, perhaps, or teachers with students.

Yeah, you just dive in and start saying. If you just learn what you need to learn, it’s a really good way of learning, just experimenting with different things, and you will hit roadblocks along the way, which are quite frustrating sometimes when you get stuck for ages, as long as you’ve got someone you can ask for help, or nowadays you can ask ChatGPT if you want to.

You can, and I’ll tell you a better chatbot to use, and that is the new one from Harvard’s computing department that’s called cs50. ai. So cs50 is Harvard’s famous entry level computer science course which they make available for free online. There’s hours and hours of lectures and problems to solve, and to go alongside it they Looked into, you’ve probably heard of rubber duck debugging.
Have any of your teachers given you rubber ducks to talk to? 

I’ve never had that, but in my current computer science class, we have a lot of ducks that have been stuck on the walls. I think possibly the previous upper sixth left them as a bit of a prank. So just in random places, you’ll find them dotted around. 

They probably had a teacher that tried it and said, look, if you’ve got a coding problem, you talk it out to a rubber duck. You just go it should be doing this. It’s only doing that. It’s not doing that. This line has given me an error. What do you think? And the principle of rubber ducking is just the fact that you verbalize the problem you’re trying to solve actually sometimes helps you solve it. You suddenly realize where the error is because you’re talking it out with a rubber duck.

So you just go cs50. ai, it’s free, you need to sign in with a free GitHub account, annoyingly, but they’re free, and then you just ask it questions, and you can say, oh, I’ve written some code, I’m trying to do this, I’m trying to output all the rows in my table, but it’s only doing the first 10, not 11, and it will go, Oh, have you got the range function correct in your Python?

And it will not give you the answer, but tell you where to look. So it’s got a picture of a rubber duck on the website because it is supposed to be AI rubber ducking. So that’s something to try if you get stuck.

So what you said, Harry if you’ve got a project in mind, if you’ve got, a goal to reach and it’s currently beyond what you’re able to do, Then that’s a brilliant motivator for finding out the bits that you’re stuck on. There’s nothing better than having that motivating project, which is brings me back to mission encodable. You’ve got that project at the end of every level, haven’t you? Whether it’s a Madlib or a band name generator. 

Yeah, we have, we call them capstone projects capping a level off and they are independently completed by the learner doing the level, and it should put all of the skills that have been learned in that level to the test, and I think it can be great.

It’s really easy to say, Oh, it shows you what you need to work on. It does, and it shows you if you need to go back and go over something and try doing it with more examples and that kind of thing. But also I think it’s nice. It shows you your strengths and it gives you maybe a confidence boost.

If you feel like, yes, I can do this. I am. Feeling quite skilled, actually, with my new Python knowledge. So I think it is a very nice thing to have at the end of a level. And also, we’ve tried to make them quite nice projects. As you were saying, you can show your friends and you can play a game. I made a our new level which Harry mentioned will be in Turtle and I was making a Turtle racing game during my free period and my friends got very into it.

They were like, oh yeah, pink, go pink, go yellow. 

I love that. Turtle’s very motivating actually. Turtle graphics in Python and trying to do things like, I like doing fractal flower patterns and things like that. And I often do Turtle graphics, Christmas cards. With year seven or 
eight.

Advertisements

I know it’s a nice little, yeah, I know. I like it. Always does encourage a bit of silliness, I think.

Yeah, yeah, nice. So why do children need to learn to program? You can go, ChatGPT, write me a program to do this and it will do it. What do you think?

I think, I do think it is really important for children to learn to program. I know we’re talking about it can build up resilience and it can be really creative and it helps you think outside the box. I think it’s a very good skill for that. And I think that if you if you don’t know what you’re doing and you just say, Oh, write me a program that does this and writes your program, but it doesn’t work, or, it does something unexpected and then you don’t know why. And I think it is. I think it is good to understand why something works the way it works or to be able to fix any problems yourself.

And also all of the, skills, like being creative and thinking about it logically and building up that resilience and confidence that can come with learning to program is really important. And you won’t get that from just 

I think as teachers we call that computational thinking usually, and it’s it’s the hard bit. Really, it’s the solving the problem and you know churning it out in Python and getting the syntax right isn’t really the hard bit. And so you know, having the idea and fleshing it out, maybe drawing flowcharts or diagrams to To get your ideas out there that’s the hard bit and that still needs a bit of creativity that I don’t think AI is quite there with yet.

You might as well have just written it sometimes, or search stack overflow for the code, annoyingly, Stack Overflow has now got AI answers, so you know, in a few years it’ll just be AI talking to itself on that website, so that’ll be interesting to watch. 

I didn’t know it had that, but that’s quite annoying, because Stack Overflow is great, but always use it. Yeah, don’t we all? ChatGPT and the other AI things, like the Harvard one you just mentioned, are all really great for writing bits of code, but I think, it’s a lot more valuable to be able to understand what the code’s doing, and then that way, if you have an error, then you’ll know why that is.

You can look at it yourself, because if you aren’t able to do that, You don’t have any more skills than anyone does, 

really. No, I think it’s really, that’s a really important point. And one of the big problems with AI, and if you watch a film called Coded Bias you’ll hear about this.

It’s a great film about the the pitfalls of AI and how it can entrench the biases that already exist in our society. And one of the problems with AI is that. If you use a machine learning model to make decisions for you, it can’t tell you why it made that decision and. There’s no real legislation around this at the moment.

For example, women will be denied credit cards that men in exactly the same financial position will be given, and the AI can’t tell you why it’s denied that woman that credit card, because it doesn’t know why it made that decision. 

Yeah, definitely. I’m doing an EPQ at the moment, which is an extended project qualification. So you write, I think it’s a 5, 000 word report, and I’m doing mine around bias in AI, which is basically what you just said. And a lot of the time, the issue that people face with it is that you don’t know how a decision has been reached.

And there’s not really any hard way that you can prove that an AI model is going against the Equality Act, but it probably is. And, there are scary cases of women being denied credit, for example, where it hasn’t even been told that they are a woman, but it’s like it’s picked up other bits of information.

Yeah, and it’s figured that out itself. You definitely need people to work on that who understand the ethical implications, I think. And that is what a good computer scientist can do. 

Yeah, absolutely. Oh that’s fascinating that you’re doing that EPQ. I’d love to read that when you’ve written it. I love all this. I’m really into learning about AI at the minute. So talking of bias against women, sorry Anna, but that’s the world at the moment is it’s slightly problematic, shall we say. Okay, so what we really need. What we really need to solve that is more women in technology so how do we get more girls to learn to program or for girls to take computer science GCSE in England.

I think part of it lies in making it more interesting and more relatable. Because I think a lot of people don’t do computer science because they find it boring and Some of those people will be girls, so if we can make the projects more interesting, then more people will want to do it. The content that’s covered more interesting, more people will want to do it.

Also, I think that making the programs, I’m talking about programming here, because that’s what Harry and I do. 

Yeah, absolutely. 

Make the projects I think my dad has been doing some research into this and he’s talking about making it apply to the wider world, so things about how does computer science integrate with medicine or geography, like lots of different fields.

And I think he was saying that girls can find that more interesting and more relatable. But I will just say that one of the things that I personally find really irritating is when People think, oh, how can we get more girls into computer science? Let’s make the projects more girly. And then they have perfume or nail polish or pink or something. In fact, actually, as you were talking about, if you ask ChatGPT about projects that might interest girls, it comes up with stuff about nail polish and perfume and all of that. And as someone who’s not interested in that, and I think many girls will spot that immediately, and they’ll be like, oh, honestly, this is really annoying.

Stereotypical. It goes back. So what you’re saying happened in 2015. IBM, that global technology giant with hundreds of thousands of IT professionals around the world. They wanted to encourage more women into IT and they launched something that became infamous in 2015.

It was called the hack a hairdryer campaign. Hack a hairdryer and calling all women in tech join the hack a hairdryer experiment to re engineer what matters in science. And there you go. And it was on Twitter and you can see the Twitter replies and somebody says, that’s okay IBM, I’d rather build satellites instead, but good luck with that whole hack a hairdryer thing.

Yeah, exactly. Yeah, it’s a difficult one, isn’t it? Because, we do need more women in tech desperately working on AI, for example, because that is one of the ways that they can spot biases that are appearing and, prevent them from Being extrapolated, but equally it’s really odd because a lot of girls just don’t seem to have an interest in it and somehow we failed to capture that, I can’t see how that will be a biological thing, but, all the research that I’ve read about it, I’ve never, no one’s given me a solid sort of reasoning as to why less girls are doing it because it is an issue and a lot of the stuff people will say just sounds relatively sexist.

Like it will be something like, Oh yeah girls like to see, you know, things that are more humanities just because they don’t like hard maths and you think that can’t be right. Yeah. Yeah. So where it comes from, I don’t know, but I’m very interested to know if anyone has any research they’d like to share.

Yeah. So one of my other jobs is I work as a professional development lead for the NCCE, the National Centre for Computing Education, and they’re running a big program called I Belong to try to get more girls to take the subject. And yeah, I think it is true according to the research, that relevance really helps getting girls in, because I think generally speaking, boys are happy to mess about with technology for its own sake, and girls, this is generalizing greatly, girls would like to see, something important happen at the end of it, so that’s why I always, when I’m In the classroom, I’m talking about careers.

I always talk about, like you say, medical technology, bioinformatics, and so on. One of the things that fascinates me is things like VR being used for therapy, for like trauma patients, and so on.

And so I read something that, a load of boys were asked, what would you do with a VR headset? And it was like. Every single one of them said I’d write games and then girls said oh I’d make a therapy environment to help people who’ve been traumatized in war 

I think it’s really important to show the relevance of technology, but I think, it will inspire more girls into it, which is great, but also it will inspire everyone into it, because if you show how it’s relevant, I think no one’s going to be opposed to that.

You might as well do that and show people, no matter what you’re interested in, if it’s climate change, if it’s space exploration, if it’s nail polish, which it might be for some girls, but probably not for all of them. Or hack a hairdryer? Yeah. I think that’s really important that we show people how computer science can be applied in all sorts of different fields and how it can help lots of different types of people.

Absolutely, I think there’s quite a lot of stuff about role models like with the I belong program. We have some of the posters up in our CS classroom, but I think That is a good idea too, and it shows you also what you could do with computer science if you do it.

Also, just, I hadn’t really thought of this before I started talking, but Harry and I have got a Computing Legends campaign going on at the moment. Every month we have a pioneering computer scientists just trying to highlight the importance of computer science and show people that it is not all I don’t know, there is lots of things you can do with it outside that field of just, engineering a CPU or that kind of thing.

Yeah but a really good, really fast CPU could solve climate change, or lots of them put together. So yeah let’s talk about what will become possible. One of the things I say to my students when I’m trying to encourage them to take GCSE computer science, and they say why should I take it? And I go because, come the robot apocalypse, we want more human soldiers on the human side. And so all my students, you know, okay. And then I occasionally have one student says, no, I’m on the side of the robots. 

It’s a good argument that, if that’s not going to convince you, I don’t know what is. 

It’s coming. The robot apocalypse is coming. We need soldiers. We need people who know technology. I’ve seen Terminator. I know what happens. 

 It’s been great to talk to you. 

 I think, I think we covered everything I wanted to cover. That was brilliant. I think that went well. 
Just about. So thank you so much for being on,
. Well, thank you for having us. Brilliant to talk to you, thank you so much for your time, Anna.

Thank you very much. Thank you so much, that was brilliant. 
Thank you to you as well.
All right. Right. Thanks, guys. Lovely to talk to you. 
Thanks, Alan. Have a good evening. Bye. You too. 

This has been how to teach computer science, the podcast I’m Alan Harrison. If you want to give me feedback or get involved, just go to HTTCS dot online or check the show notes. Remember. If you liked this content, please subscribe to the podcast. 

Tell your friends, buy my books, leave a review of my books on Amazon, or at the very least buy me a coffee details at HTTCS dot online. I’m also available for staff training, inset days and student master classes. See the website for details. 

 Next week’s guest is the amazing Adrienne tough or miss tough on Twitter to you. And that is an unmissable interview. Because it’s got more jokes in it. I’ll leave you with one of the jokes from next week. Why was the computer scientist late for work? Find out next week on how to teach computer science, the podcast. It’s been great to talk to you. See you then.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!
Categories
pedagogy podcast teaching and learning

Podcast Episode 4: How DO we teach Computer Science?

Episode 4 is here!

Transcript

 Hello. Welcome to how to teach computer science, the podcast. This is episode four. How do we really teach computer science? I’ll be answering that question and many more with the help of today’s special guest. 
every time I make a joke in class, I say to the kids, I say, there aren’t many computing jokes and the ones there are aren’t very good. 
No, that is true. So I’m trying to buck that trend. I’m trying to bring in some new humor to the subject. I think it’s necessary. I think that might be a bigger task than sorting out the pedagogy but. Yeah, it could well be. Yeah 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

More on that in a moment. My name’s Alan Harrison, and I wrote the books how to teach computer science on how to learn computer science available in online bookstores, more details at the companion website HTTCS dot online. That’s the initials of. How to teach computer science. HTTCS doc online. You know, it’s been quite a week. 

I’ve had a lot of feedback on the podcast. Most of it positive. Thank you so much. And I was in a teams meeting with other teachers of GCSE and A-level computer science this week. Run by AQA. Thank you, Steve Kenny for inviting me. And there was a lot of love for the podcast and it seems you appreciate my humor, which is nice. 

But I did say there are a load of cheesy computing jokes, which are not going to make it into the parts such as why do computer scientists confuse Halloween and Christmas? Because OCT 31 equals DEC 25. 

Advertisements

 Like I say, I won’t be doing cheesy jokes like that. But just for Ian Bissix in the AQA meeting, this is for you Ian what sits on your shoulder, shouting pieces of seven pieces of seven. A parroty error. 
 Which reminds me, what’s a Pirate’s favorite programming language. Ye might think it’d be R but his first love be the C. If you like this content, please subscribe. Tell your friends, buy my books at HTTCS dot online. Leave a review on Amazon, or at the very least buy me a coffee details on the website. Every week, I will transcribe this recording and blog it at HTTCS dot online slash blog. 

If you prefer reading, you can always print my blog and read it on the train like it’s the 1990s again. Talking of printing. I was going to put this story in the book, but I’m not sure of its veracity. a listen and tell me what you think. We have to go over to Germany in the 15th century for this story. 

1440. Johannes Gutenberg has just invented the printing press. And just five minutes later at 1445, the printing press has invented the first paper jam. And at 1530, despite printing only in black and white. Johannes printing press has demanded a magenta ink refill. Gutenberg’s invention heralded what historians call the printing revolution. Although teachers are waiting for the second printing revolution where they all just work. 

 swear the teacher workload crisis is caused by 15 hours a week of marking and 20 hours clearing other people’s paper, jams and screaming. Jean! Where the hell is the duplexing unit cover? My advice. Stop printing anything at all. Use OneNote as their digital exercise books. And when mocks come around, use your school’s printing service, often described in that unique way schools have of clinging onto nostalgic terms from a bygone age as the reprographics service. Make sure you greet Mina in reprographics every morning, and don’t forget her at Christmas and she’ll print your stuff first.

 This week on the podcast, I have a special guest he’s been a CAS Master teacher for many years. He wrote the excellent Python course for REPLIT. And is very active on X, formerly Twitter when CAS chat comes around every Tuesday. 

I’m delighted to welcome a fellow computer science teacher, Andy Colley. How are you, Andy? 

I’m very well, thank you. Thanks for having me on. It’s slightly unusual this because I’m pretty much sat up in my spare room and I reckon if I look out of the window on my left, I could probably wave to you because you’re about two streets away from me.

And yet we’re using the magic of the Internet to record this. Maybe next time we’ll get in the same place. So the how the tables have turned because I was on your podcast probably a couple of years ago now. So just Fill us in. What’s your podcast about Andy? 

I mean I’ve never been one to be backward about coming forward, but for those of you who don’t know me, my name is Andy Colley. I am a rather fancily titled Director of Computing, which is a posh title for Head of Subject at a school called Laurus Cheadle Hulme in Cheadle Hulme, South Manchester.

Advertisements

And in my spare time when I’m not teaching people, I like to talk about teaching people. And one of the ways I do that is through a podcast called Learning Dust with an unbelievably good better half, podcast wife on there called Dave Leonard, who is a network manager a MAT network lead, IT director and so on.

And he’s fabulous. He was one of the first people to steer my career down the way of using technology. Pedagogy first technology, if you will. Not just using it because it’s a shiny box, but using it because It helps learners improve the way they learn and remember more and be able to do more.

Yeah, he’s an all round good egg, Dave, isn’t he? I keep bumping into him as well at conferences. 
I know he’s annoyingly popular, isn’t he? Yeah. But you called that podcast Learning Dust. Just remind me where that phrase came from. 

I think the first time I heard it was back at a conference called Rethinking ICT. In about 2010, I want to say, and it was Professor Tom Crick who used the phrase, he said, magic learning dust does not fall out of the bottom of an iPad, just because they’re using technology doesn’t mean that automatically the learning is going to happen. And I’ve remembered it for years and years because the way I’ve taught and developed my career over the last 20 years in education is I was an advanced skills teacher, I was a lead practitioner for teaching and learning, I’m now running a subject.

Throughout all of that it’s about how do you do what you do in the classroom to the best effect so that your kids. Learn as much as possible for that limited amount of time they are with you and then can remember it for the next time you see them. 

Absolutely and hence our shared belief in the need to plan really effective lessons, not see if we can use this new shiny thing that’s come out and and is going to, oh, the latest thing that’s going to revolutionize education, let’s throw that into the classroom and see if it does.

You’re dead right and what we were saying just before we started recording was that I think we’re in such a much better place now both as the teaching profession and. Also as computer science teachers in particular about information about pedagogy that works, best practice pedagogy.

Dylan Wiliam speaks a lot of sense. He says, everything works somewhere. But what we do have now is a set Of best bets, if you will. Of things that have been shown to work in a majority of situations that we can default to. I like to call it minimum best practice. So there are certain techniques that you use with questioning, that you use with explanation, that you use with modelling, that are my default techniques.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

And from there, I’ve raised the floor. Yeah, if my department are using cold calling and think pair share as their default questioning techniques, if we’re using mini whiteboards as our default check for understanding, if we’re using dual coding and live modeling as our default method of explanation, then that floor standard is a much higher, and there’s much more consistency in terms of It sounds flippant, but the worst it can possibly be, and then, what I say to my department is okay, that’s our minimum. If you’re going to do something different, let’s make it better than what we’ve already got. And we can use that as our benchmark. And like I say, we’ve got so much more information now, I’m looking at the Teach Computing, Big Book of Pedagogy here. And there’s what, a dozen things in there, a dozen concepts. Alan’s reaching for his as we speak. This is live podcast. Yep, here we go. Ta da! There’s page five. There’s a dozen things there. 

Yeah absolutely. This is I was going to talk about this. I’m flicking it in front of the microphone. Like that’s helpful when we’re on a podcast, but yeah, it’s I like what you say about a sort of a floor level of performance and then you can build on that.

So I do recommend everyone reads something like the Big Book of Pedagogy. There’s other stuff out there now, like you say, loads of it that we have access to now in the last 10 years, like Sue Sentance’s, computer science, education book. And I wrote a book by the way, I don’t know if you heard about that.

And I do mention it occasionally. Yeah. And William Lau’s and many others. What I tried to gather was some of the best bits of , it’s a bit of a magpie book. Really, I magpied all the best bits of pedagogy from other people’s research, but I did credit everybody.

 So yeah, I like what you’re saying about, questioning and whiteboards and there’s sometimes I come across people who say oh we’re in a computing room we’ve got to use the computers all the time and I think good teaching is good teaching you don’t have to be on the computers all the time.

Magic learning dust does not fall out of the bottom of an iPad. 

Advertisements

Exactly you know if it’s the best tool for either explaining something to them or checking that they’ve learned what you’ve taught them. Or getting them to practice individually, what you’ve learned, what you’ve taught them, then if the best tool for that is a pencil and paper, then use a damn pencil and paper.

Mini whiteboards are brilliant. I’ve used them for years. And, And, you can ask a question and bear in mind there is what people call a lot of theory to our subject. There’s a lot to know. There’s a lot of declarative knowledge as well as procedural knowledge, if we’re using those terms in the Ofsted Research Review.

You’ve got to check for understanding and that’s a skill that we can use in any classroom with mini whiteboards. One thing I would say is I did start to, I did use occasionally something called Socrative and of course the poll option and just asking questions in Teams if you’re on Teams.

So you can use technology to imitate mini whiteboards. And I like the, this Socrative. com would allow you to ask a question, they would put their answers in, and then you could choose two or three to push back to the students in a poll of best answers. And so you can tweak. The check for understanding with a mini whiteboard with technology in some ways, but it’s still a check for understanding.

Yeah, once I’ve got the mini whiteboards up, I will get some off the students, particularly if we’re learning how to write code fragments and I will put them under the visualizer. And then we’ll debug them together or they will discuss what I like about this particular example or where they’ve used, let’s say, variable assignment in here and so on.

But I’m I’m zooming we’re zooming right in at the moment. If I back off a minute and look at big principles in terms of information about teaching in general, Daniel Willingham said memory is the residue of thought. For me, that’s my Occam’s razor. That is, is. Everything I’m doing in the classroom, getting the kids thinking hard about what I want them to think about.

sometimes that can mean that I have to stop doing something really good to make sure that we’re doing something better. A great headteacher once said to me, if they’re learning, get the hell out of the way. I like it. And I have been as guilty as anyone of having a lovely computing adjacent discussion and if I’ve got a class that’s interested and engaged, I will swerve off what I want them to learn in the lesson and I’ll stay off that for too long.

Oh yeah, my kids knew how to get me off on tangents but yeah.

 Yeah talking of tangents. We’re just going to pause the interview with Andy Colley there and have a quick look at next week’s podcast.

 But I will just say that one of the things that I personally find really irritating is when People think, oh, how can we get more girls into computer science? Let’s make the projects more girly. And then they have like, , perfume or nail polish or pink or something. And as someone who’s not interested in that, I think many girls will spot that immediately, and they’ll be like, oh, honestly, this is really annoying.

 That was a sneak preview of next week’s podcast. You’re not going to want to miss it. That was Anna Wake who with her cousin, Harry. Was talking about. Getting girls into computing and their website mission. encodable, it’s a fab podcast next week. Subscribe now, but first back to Andy Colley. 

Advertisements



if I’ve got a class that’s interested and engaged, I will swerve off what I want them to learn in the lesson and I’ll stay off that for too long. 

I’m all over that. The Willingham quote. I use that a lot. And it leads onto the ratio blogs from Adam Boxer. Yeah. And Ben Newmark’s Golden Silence. Um, Yes. So it’s, frightening sometimes when, kids are silently working, you think, oh God, I should say something, but the pressure to fill the void, yep. Like I say, I like that quote, get out of the way if they’re learning, and the ratio thing, in case listeners haven’t heard about it, is, what percentage of my pupils are thinking hard about the stuff they should be thinking hard about 

 We were talking about that semantic waves idea there we’ve introduced the abstract idea of ratio. Let’s zoom into an example now. For example questioning in the classroom. If I say to you, Alan, what is this? The moment I say Alan, everyone else in that classroom stops thinking.

Yes. Yeah, or if I go for hands up, then there are some kids who can quite happily sit there and never put a hand up and never have to think. Whereas if I say, I’m going to ask a question, I want everybody to think about their answer, and I’m going to take several responses. Yeah. Ask the question, pause, then Alan. Now, the number of students that are thinking up to the time I say the name is hopefully everyone.

And then, because I’ve said I’m going to take several responses, I can move it around. And that’s, that’s the sort of The nutshell of cold calling, isn’t it? Yeah, it is. And I was talking about this. I was delivering a course at the STEM Centre in York a few weeks ago and we were talking about questioning.

And I brought up the fact that novice teachers often don’t. really understand the purpose of questioning and they remember their school days of teacher asking a question and kids put the hand up, teacher asked the child who put the hand up and everyone moved on

we have to make explicit for novice teachers what questioning is about and it’s a pedagogical technique that ensures that the students are all thinking about what you want them to think about. In a sense, getting the right answer is really not important. The thinking is what’s important. And you mentioned cold call, which is what it’s called in Teach Like a Champion, of course.

And you also mentioned something that Doug Lemov, Teach Like a Champion bloke, calls wait time as well, which is asking a question and waiting. 

 All these things are little habits because it’s possible to do all of this stuff really badly and I say that from a position of having done all this stuff really badly. Yeah. Early in my career, I started behind the eight ball because I started in the era of engagement, the era of how many different tasks can you have going on in a classroom? As long as people look busy, that’s fine. Yeah. And from that, I’ve moved to be If I want them to learn something, I’ve got to explicitly teach it to them, and then check effectively have they learned what I’m teaching.

So from the engagement era, then you go through the right it’s the slide design as lesson planning. And you end up, especially working with non specialists, or you’re trying to produce a curriculum that can be picked up and run by other people, temptation is you just put everything you’re going to say on the slide. Absolutely. Which is, yeah, we’ve all sat in those insets, haven’t we? Read out of a PowerPoint, and yeah, look at what some of us do to kids. 

It’s funny, some of the teachers CPD historically has been some of the worst teaching that any of us have had. But yeah, . We’re the toughest crowd out there.

Yeah, we’re, yeah, we’re sat there going, my brain’s overloaded, why am I suffering cognitive overload in a teacher CPD session? But yeah, again, 

Let’s dig into that then, because that’s the first time we’ve mentioned cognitive overload, isn’t it? And Sweller and his cognitive load theory and being a non computer scientist who learnt to teach this subject. It’s really easy when you are an expert to think that everybody else finds things easy. I’ve seen so many programming courses that go variable assignment, input, output, and now recursion. 

Yeah, absolutely. 
And there’s this giant pit that you fall into. You’re on your back like a turtle and you can’t get out. And I see that look on the faces of students all the time. 

So, yeah, my lesson slides now are a lot more pared back. There’s a lot more diagrams or part diagrams that I then complete in front of the students. The note section is where I keep my explanations and I don’t know how long it, I dunno, it was far too long it took me, but before I started practicing my explanations.

Actually get into an empty classroom and say what you want to say. Are you doing it with brevity? Are you doing it as simply as possible? And then you can start to build in your analogies and your what william Lau brilliantly talked about in terms of semantic waves where you go from concrete to abstract to concrete back to abstract you pack you unpack and so on.

So you as an experienced teacher you pick up on a load of those analogies don’t you? And you’ve got to be super careful about picking those as well because if you pick the wrong one you can build in misconceptions. You know, , you bake in the misunderstandings and You can do just as much damage with a bad analogy as you can enlighten with a good one.

Yeah, someone pointed out to me, the variable analogy is a box, and I’ve used that with novice programmers down in year 7,8,, And the box thing comes with the possibility of a number of misconceptions, the main one being a box can hold many things at once.

So that’s where you check for understanding with your mini whiteboards.

Yeah, as you get more experience you learn that if you have a bit of code on the screen with the variable num1 being assigned I don’t know four times in ten lines You can put that up and you can say right predict on your white boards What will be stored in num1 by the end of this code?

And you’re trying to draw out that misconception that you don’t just add them all together, or you don’t shove them all in the variable. And by doing that with the handover phase, the checking for understanding phase, the sort of we do it together phase, and especially by, oh, brilliant, I’m glad you thought that. Loads of people think that when they come across variables for the first time, and we can really learn from that now. And getting discussion going about why this isn’t the case and questioning like that, you can turn your classroom into a place where it’s okay to make mistakes. Absolutely. Where we’re learning from this, this is a learning process, so we are not afraid to have a go, 30 answers up in the air you can see 30 different answers from 30 different brains and pick out those misconceptions. And as you get more experienced, you get better at setting up those questions and those examples to check for understanding, to draw those out.

For example, when you’re teaching selection and you do if age is greater than 18, output you can vote, and then you do what will happen for an input of 18. Yeah. Because we don’t read the comparison operator properly. 

I used to call it the bouncer program because it was you can go into the pub and then someone pointed out that I should really not be encouraging drinking.

Advertisements

So it became the you can vote program. Yeah. And yeah, you can teach, with that one example, you can teach , variable tracing, and dry running a program to see if it will work and testing as well. Yeah, that’s. 

That leads us on to that to Sue Sentance’s really quite fantastic PRIMM, doesn’t it, in terms of code comprehension and learning to read before you can write? 

Yeah. I put a quote in the book from David Gries, computer science educator, 1974, said, if you’re an apprentice carpenter, you don’t get given a load of tools and an example of a finished cabinet, and then be told go and make one, 

 so the idea of PRIMM’s been around some time, reading code before you can write it and getting familiar with it. But it’s good to have the research to back it up. 

Yeah, I think also, though, being super careful with that cognitive load theory and that Willingham idea of introducing new material in small steps, , again, we can fall into that expert trap of we’re teaching selection, so Yeah, with an if and an else, and then we go to a make task and it requires selection and oh, there’s an iteration in there as well, and then we’ve got lists built into the make task as well.

Who was it who described I think it might have been Sue Sentance again. A single line of code can be so syntactically dense. Yes. There’s so much going on. There’s so many concepts to understand, yes. Let’s go back to selection again. You’ve got the selection statement, you’ve then got a condition, so you’ve gotta understand what a condition can be made of. A comparison operator, it can contain a variable, it can contain two variables, two pieces of data, strings, integers, and then you’ve got indentation, and that’s a single line.

So much going on. You can have a subroutine call and then in Python, you don’t even have to go if. Valid input equals true. You could just go if valid input. Yeah, 

hang on. that’s a fun one to discuss when you’re doing selection and conditions and stuff equals true. You don’t need that. Ah, yeah, but I teach it with the equals true. 
And then you can take it off and explain why later. 

I call it the long way round for a lot of my students. I say, I’m going to teach you the long way around and we’re going to do one thing per line.

Oh, it never stops. This idea that we simplify for the age or the level of the audience that we’re teaching to. It never stops because of course when you get to A level you learn functional programming and when you get to university you learn all sorts of esoteric languages that do parallel processing with abstraction and so on.

So the first thing that you teach children about programs is they are a sequence of steps to solve a problem and then you get to a level and they’re not anymore because a functional program is not that. So we’ve got this idea that we teach, abstractions again of the knowledge at each level and then sometimes we have to unweave the abstractions and teach them what the truth is.

Again, it’s are you baking in misconceptions and it’s really hard because it’s tricky and I guess this is pedagogy and this is what we have been researching 

yeah Yeah if we move on from programming a minute. What other pedagogy is there in our subject that, besides programming I’ll give you an example. I teach networking, what’s called a threshold concept of packet switching. Yes.

Just as an aside, someone asked me, do we need to teach packet switching? because it’s no longer in the spec. It’s true that in the OCR spec, you don’t have to describe packet switching, but you can’t possibly understand networking without understanding the threshold concept of packet switching. So I get nervous sometimes when teachers ask me, can I drop this from my classroom? And I go no, it’s a fundamental concept. 

So I get it across with post its. Post it packet switching, I call it, and they write one word on each post it and they write who it’s to and the number of that. Post it in the message and I send them around the classroom and so these post its are standing in for the packets and that’s my analogy but I’ve got to make sure I go back up like you mentioned, go back up the semantic wave and explain how this analogy is the same as packet switching and the ways it’s different. For example, it’s not one word in a packet, it’s a number of bytes and so on. 

Are there any other pedagogical tricks and techniques that you use for the non programming stuff? 

Yeah my overriding thing is before I go into the classroom, I’ve really planned what I want to say and how I want to explain it and then how I want the students to respond to that in the handover phase.

And the majority of the time that will be an explanation, a diagram, checking for understanding with mini whiteboards, think pair share discussion time or cold calling. And again, I’m picking up on those if I expect them to know the answer, I’ll use cold calling. If I need them to discuss something or to have a think and safety in numbers, that would be think pair share and so on. I do almost something similar when we’re talking about CPU architecture, the different parts of the processor.. So we will have some students sat along one side of the room with instructions.

On their mini whiteboards, add this load that, do something else. Yes. And then in the middle of the room, on a table, I will have my CPU. And again, it’s abstraction. So I’m using the program counter the memory address, register the memory data Registered the control unit, the A LU.

So the program counter tells the memory address, register. Which number instruction is next the memory address register then shouts that to memory instruction one That gets brought to the front. Yeah, and if I really want to complicate it, I will have a student counting down as the clock So we’ll have a five second clock speed Five four and it’s got to be the instructions got to arrive at the processor into the memory data register control unit decodes it gives the ALU if it’s Arithmetic and so on and they’ve got five seconds to complete this Yeah, good stuff.

Stuff. And then we go again and we go again. So they’re actually moving the instructions around and if you get a class you can trust, that’s great. 

Yeah exactly. So absolutely fab. Yeah, .What else have I been doing? A couple of revision sessions, with 11s on binary search, and again 

Play the high low game. We’ll play the high low game, of course we’ll play the high low game, I will read your mind. Six guesses or fewer, 64. 

But what I’ll do is Before I introduce binary search In order to do that, you’ve got to master finding a midpoint. And in order to find a midpoint, you’ve got to do integer division, floor division. We will do lots of practice of floor division to get the right answer. Then we will do floor division to find the midpoint. Here’s a list, what’s the midpoint? We’ll practice several of those until I’m convinced they’ve got it.

And then we’ll introduce the idea of binary search, so that We’re introducing in small steps. I’m getting that high success rate. They can all do floor division. They can all find the midpoint now binary search midpoint is our search item higher or lower? Yeah, and then we show them how it works So we it’s just about really thinking carefully about what I’m doing and making sure that I’m pre teaching the skills They need for them to be successful because there’s nothing worse than that Jump from input to recursion when you are absolutely lost

And, and it’s so easy to do. It’s so easy to do. And startling to realize, but some of our lovely students do not do what I do and spend every minute between one lesson and the next thinking about computer science. No, I know. So there is a chance that they may not.

You can’t be remembering the stuff that you want them to remember from one lesson to the next, especially at key stage three. 

Talking of remembering stuff from one lesson to the next, how can we help them do that? So yeah, I’m hinting at retrieval practice. 

 You got a lot of retrieval practice going on, Andy? 

Every lesson. Every lesson. Every lesson. With very few exceptions. And again, at Key Stage 4, Smart Revises is the best platform I’ve seen for that. They’re constantly making changes. It’s worth the money. Constantly making changes and updates.

One of the best things they’ve done recently is introduce topic, guided topic filtering. So with my 10s, as I teach a topic, I can add that to the smart revised question set that my 10s see. And then when they do mixed retrieval, just the topics we’ve covered. are built in there, because retrieval should be something you’ve already encountered.

It’s practicing remembering, isn’t it? Because when you’re sat in an exam, that’s all you’re doing. That’s what revision is. It’s tricking your brain into remembering stuff that it really doesn’t want to remember. I know all the words to the Neighbours theme tune. Not doing it now. No idea why, but for some reason my brain, when I first encountered CPU architecture and parts of the processor, it just slid right off.

So revision is just doing and doing until it blooming well sticks, until that synapse pathway is strong enough. At Key Stage 3, actually, I use something called Quizzizz, it’s that absolutely, it’s that sweet spot of engagement and hard thinking. And if you find me on Quizzizz as Mr. A. Colley, you can nick all my Question sets and question banks it also lets me celebrate, oh this class today we got 70 percent as a class.

Let’s aim for 75, and we can give out house points for quality performances, things like that. It’s great. 

Absolutely. You touched on something that Willingham said there, which was knowing is remembering in disguise.,

that’s, that links back into cognitive load theory, doesn’t it? Because when, as we keep going back to programming, because we’re computer scientists and it’s what makes our socks roll up and down, isn’t it? But when you see a problem to program now. You’ve got a stored bank of experience of problems like that you’ve seen before, and how you saw them solved, or how you solved them yourself.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!



So you’re not processing that as new information. So your experience, and the fact that you can retrieve those and remember them, they’re in your long term memory, means they don’t take up. Any of the, is it five blocks? Five things in your working memory. Five new, five new things. You’re not trying to process that as a new thing. So that frees up your working memory to process the new things that are different about the problem. It also means as an expert you can use that experience to focus on the parts of the problem that are important to do that mental abstraction that you need to do. Whereas a New learner can’t do that yet.

They’ve not learned what’s important and what’s not. They give everything equal weight So when you’re saying it’s blooming easy. Of course you need selection there. Of course you need a loop there Because you’ve seen it a thousand times. They haven’t. By practicing retrieval, by remembering experiences or skills we’ve had, you’re removing that cognitive load, you’re removing the opportunity for overload, so they can process the things that are different about that problem.

And it’s all computer science in disguise, isn’t it? It’s pattern recognition. Abstraction. All of that stuff. So, there’s a reason I was talking about best practice and floor levels earlier and that’s because this stuff is proven to make it more effective for our learners to learn new things and without cognitive overload because it’s hard enough as it is 

absolutely you said about noticing what’s different and I Listened to a talk from William Lau about Marton’s variation theory, which Really explains all that.

Yeah, you’ve heard of that. Yeah. Yeah, so So, giving examples and non examples or varying one thing at a time. And so the learners notice the thing that’s varied and how that changes the situation. 

Even the way you set your questions up in your practice. I’ve reworked my binary conversion practice questions. Yeah. So that a lot of my examples. change just the least significant bit from one example to the next so they can get to spot that then evaluates out as one higher in denary. Yeah,. 

Which brings us back to last week with Andrew Virnuls and we were talking about this then about how the principle of the number of bits in a sample, or the number of bits in the bit depth of an image, the number of bits You have on the width of your data bus and so on, are all the same thing.

And it was interesting that Andrew said we had a chat. A few weeks ago about the number of topics there are in computing and how much content there is to cover.

And novice computing teachers will talk about there being 30 topics at Key Stage 3. And Andrew and I could probably think of seven. And I think it’s the understanding of the subject gives us this overarching vision of six or seven strands that everything relates to, whereas novice teachers will see, a unit on Photoshop as separate to a unit on vector graphics and as separate to a unit on data representation of images. 

And the hard thing is in your lessons then how to keep the main thing the main thing and introduce that information in small parts when you can see all these really exciting joins between the topics, and then you’re off on a story.

Yeah. I know, I keep, every time I make a joke in class, I say to the kids, I say, there aren’t many computing jokes and the ones there are aren’t very good. 

No, that is true. So I’m trying to buck that trend. I’m trying to bring in some new humor to the subject. I think it’s necessary. I think that might be a bigger task than sorting out the pedagogy but. Yeah, it 

could well be. Yeah. Because in my experience, I did computer science degree way back in the dark ages the others on my course weren’t particularly funny or entertaining, so I didn’t hang around with the computer scientists.
I hung around with archaeologists and English majors. 

There is. At the risk of alienating the entire audience, there’s a there’s a stereotype about computer scientists, isn’t there, which is wildly exaggerated and, but you hear it everywhere you go. But for most stereotypes there’s a grain of truth in there somewhere.

And sometimes the things that make you like computer science and make you good at it are not necessarily the same things that make you good as a classroom teacher. 

Yeah, that’s probably true. I’ve had this debate online about, does a degree matter? Does I think subject knowledge is important, hugely important.

Otherwise, we wouldn’t be, doing this. But, yes. Not all computer science graduates make good teachers, I think. So 

And not all great teachers, so better make good computer science graduates either. I think it’s . It’s a what did Liam Neeson say? It’s a particular set of skills. . . 

Yeah, exactly. On that threat from Andy there. Given that I’ve got a particular set of skills, a new skill being podcasting. I learned from the best. Go and listen to Learning Dust with Andy Colley and Dave Leonard after you’ve finished.

Listening to this podcast. What’s your week like, Andy? What’s it looking like this week? This week in Laurus Cheadle Hulme, you it’s option year, nine options evening, tomorrow night, which is exciting. And tiring both rolled into one because it’s that chance to change some minds or 

To come 

can anybody take computer science in your school? Yep. Yeah, . I hear about a lot of gatekeeping. A lot of schools are nervous about results, and so they try to steer some pupils away from computer science, which I think is wrong. I would like it to be open to everyone.

I think if you’re gonna come in to the classroom and you’re gonna work hard. Yeah. And you understand as you’re coming in, if your key stage three curriculum has set students up to understand what they’re really getting into. Really getting into. ’cause you’ve gotta love, learn to love the pain a bit at GCSE.

Yeah. You know that’s true. My 10, my tens are my 10. Some of them are really wrestling with Subprograms right now. Yeah, really wrestling and when you said about sequence before I’m thinking yeah Because I’ve just introduced subprograms to them looking at me going I can’t I just do this as three lines of code rather than having to define a subprogram and call it in the main Ascended parameter because we’re doing it a very simple level at the moment.

It’s yes, we’ll make things better later You know, we’re doing we’re taking the pain now they have to be prepared for that and if you’re gonna come in and Work your backside off and get a grade two because you work your backside off and that is a hole in one for you. Then I am as proud of you as I’m as the person who comes in and works the backside off and gets a grade eight or grade nine.

Yeah. Don’t forget, grade two, three can be a positive progress eight score for some students, let’s not forget that.

It’s a big achievement for some students and some of my Best results were low prior attainers, and they thrived in the subject. 

Catherine Elliott talks about what we’ve talked about. That’s these sorts of pedagogies of new information in small steps, avoiding cognitive overload wherever you can, of high success rate of code comprehension.

She talks about those as key techniques in creating an inclusive classroom. And these techniques are just great teaching. And if you are doing that and your classroom is a place where great teaching is taking place, that helps everyone.

Yeah, a high tide lifts all boats is how I explain it, which is the old fashioned phrase, but yeah, I remember the days when, you know, my head of department would go tell me all the ways you’re helping these students, and it would be a list of characteristics, and it would be EAL, and PP, and SEND, and so on, and oh, tell me how you’re differentiating your lessons 20 different ways . And, we’re over that now. We talk about inclusive and adaptive teaching, which means, teaching it well and responding to the needs of the pupils.

 Know your subject well. Know your subject well. Explain it well, model it, check for understanding well, hand over that hand over lesson stage well. Give students opportunities to practice what you’re trying to teach them and then explore and vary William Lau and the variation theory with your better programmers, right, how many different ways can you make this happen? And have you seen that that competition they have every year of making the worst user interface? 

Oh yeah, I love that. 
Take inspiration from that. What’s the worst way you can make this program? What’s the most inefficient way you can make a program that does this? And have some fun with it at that creative end. You can’t take a solo on an instrument till you’ve mastered your foundations and you know your scales and then you get creative with it once you can play with the forms and break the rules And that’s the creative end of computing for me.

So yeah it’s about quality teaching. And that comes back to, there’s things like, now is intervention season, isn’t it? It’s how many extra revision sessions are you running for this? How many days of your Easter holiday are you giving up? Actually, and this is a big bug, bear of mine.

Actually, the number one time you get with those kids is in the classroom, in your lessons. You don’t get any chunk of time that’s bigger than that. That’s where the difference is made. 

I’ve worked places where the head of department had me rattling through the curriculum to leave loads of time for revision and I knew it felt wrong at the time because I was just flying through the content ticking it off, if you like, so that I had time to revise it, which meant that they weren’t getting it. So they needed more revision time. And it was a self fulfilling prophecy. 

So by the time they get to the revision, they’ve got no confidence in it. Yeah. Yeah. That high success rate, that, that small steps, high success rate is what builds learners confidence in your subjects, especially in a hard subject like ours.

Yeah, absolutely. So you’ve got options evening tomorrow ? Sell the 
subject tomorrow. I’ve got loads of Key Stage 4 lessons at the moment. I’ve got some fabulous groups of kids who are just smashing it out of the park and really lucky this year.

I did see when I popped in, I loved the idea that you had this open ended, long list of programming problems that they were just jumping onto at the end of lesson, and I thought that was fab. 

That comes from something you said a while ago about you never finished. Yeah, so what I’ve done is I’ve taken the Craig and Dave, the TIME and the mission encodable time Programming projects and I’ve adapted them a bit. I’m delivering them through Repl. it at the moment, but we can’t do that anymore Can we? So I’m gonna have to find a different platform And yeah especially my year 10s. They’ve just absolutely gone nuts for it Yeah, in a way that I’ve never had before and they’re just loving it.

They’re smashing through them they’re doing, they’re doing four in lesson and then going home and doing another six. 

That’s great. It’s great when you get that.
It’s brilliant, but I’ve got so much marking to do. Not marking, reviewing of code. 

Reviewing, yeah, so yeah, I was never a big fan of marking myself and so I tried to do as little as possible and do things like, reviewing stuff online that they’ve done or self marking quizzes and stuff. Like I said back in class at the time, those mini whiteboards again, get it under the visualizer.

That’s feedback right there when they can do something about it. 

Feedback, not marking, that’s what we say. I know I said earlier, you’re never finished. And I’m grateful that you mentioned that, that blog. I blogged about it, didn’t I? I banned the words, sir, I’m finished from my classroom because because basically they should never be finished.

They should always have something to do. But time is run out for us we are finished. This is the problem, we talked about brevity of explanations, but when you get me 

going. Both of us the same, so we can talk about computing pedagogy all day. And I’m sure we will again, because we can come back and talk about something else in a few weeks.

It’s been great to talk to you. Andy Colley, thank you for coming on the podcast. An absolute pleasure. Thanks for having me, Alan. 

And this has been how to teach computer science, the podcast I’m Alan Harrison. If you want to give me feedback or get involved, just go to. HTTCS. Online or check the show notes. Remember, if you liked this content, please subscribe. Tell your friends, buy my books, leave a review of my books on Amazon, or at the very least buy me a coffee details at HTTCS dot online. So don’t miss next week’s episode when we will have the amazing Harry and Anna Wake of mission encodable, that was a fantastic interview and you don’t want to miss it so. I’m heading down to that London at Easter. So I’m just printing some stuff to read on the way.

But I’m printing black and white.

Okay. Okay. 
 

What. 
Jean!. Where the hell is the duplexer cover? 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

In case you’re wondering, R, is a programming language used mostly for data science. Also no printers were harmed in the recording of this week’s episode. Although this one’s going to get it in a minute. It’s been lovely to talk to you. Speak to you next week.

Categories
Uncategorized

Podcast Episode 3: What do Braille and Burger Emojis have in common?

The transcript of episode 3 of my podcast is here!

Transcript:

 Welcome to how to teach computer science, the podcast. This is episode three. and we’ll start with a fertile question. What have Braylin burger emojis got in common. I’ll be answering that question and many more with the help of today’s special guest. 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

 One of my old lecturers asked me what I thought for me epitomizes computer science. And at the time I said algorithms then went home and I thought about it, actually I thought no, it’s data representation isn’t it? Because it links everything together. 

More on that at the moment. My name is Alan Harrison, and I wrote the books how to teach computer science and how to learn computer science available in online bookstores, more details at the companion website. HTTCS dot online. That’s the initials of how to teach computer science.online. If you like this content, please subscribe. Tell your friends, buy my books. Leave a review or buy me a coffee. details at HTTCS dot online. 

Every week, I’ll transcribe this recording and blog it at HTTCS to online slash blogs. So, if you don’t like my voice let’s begin to answer our fertile question. What have Braille and burger emojis got in common? Let’s start our story over in Paris, not far from where Disneyland Paris now stands, in the town of Coupvray, in the leather workshop of La Famille Braille.
 

Louis Braille injured an eye in his father’s leather workshop at the age of three, and the resulting infection caused him to go blind in both eyes by five. At age 10, he obtained a scholarship to the Paris Institute for Blind Children. which at the time used a system of raised letters. Braille found the system hard to learn and when he was shown a system of raised dots used by the military to communicate at night, he took it and improved upon it using just six dots to represent all the letters of the alphabet, plus numbers and some punctuation symbols.

Each dot is raised or flat and a blank space, effectively six flat dots separates words and sentences. In this way, the grid of six dots could represent two to the power of six or 64 different characters. Braille is therefore a binary code for representing text. If we ordered the dots as Braille did from one at the top left, finishing with six at the lower right, then each of the Braille codes can just as easily be written out as a sequence of bumps and flats.

So A is bump, flat, flat, flat, flat, flat. And H is flat, bump, bump, bump, flat, flat. Replacing bump with one and flat with zero we can write A as 100000, and H as 011100, We can now write any text using just two digits, zero and one. Braille has created a binary code to represent text, and electronic computers have not yet been invented. 

Fast forward to 1961, when IBM engineer Bob Bemer proposed a single code for computer communication and two years later announced the American Standard Code for Information Interchange or ASCII. ASCII is a lookup table that translates letters and punctuation marks to numeric codes. A character set thus enables the storage and processing of text by a digital computer, which also means data created on one computer can be processed by another computer.

Advertisements

Originally a 7 bit code representing only 128 unique symbols, international popularity demanded more characters. Various 8 bit versions, often called extended ASCII, were popular in the 1970s and 1980s, with an 8 bit standard emerging in 1987. Computer makers standardized on 8 bit bytes in the early 1970s, so the extended ASCII character set made perfect sense.

But the 256 different bit patterns available from 8 bits were not enough for languages such as arabic, Chinese and Japanese and the Unicode standard was inaugurated in 1991. Originally a 16 bit code giving over 65 000 characters, a later version called UTF 8 allows up to 32 bits per character, which has given room for all modern languages.

Unicode opened up the internet to non English speaking peoples who had previously been forced to work in European languages. And in that sense, the Universal Character Set was an important leveller. As Unicode consortium lawyer Andy Updegrove put it in a 2015 interview, 

“Without [Unicode] we would be stuck in an upgraded example of a colonial world, where historically first world nations continue to force their cultures and rules on emerging nations and their peoples.”

Advertisements

So why does all that link braille and burger emojis? Well in each case real world information has been encoded into binary. Braille is a 6 bit binary code, and emojis are part of the Unicode 32 bit standard. This is all part of the computer science topic of data representation. At the heart of this topic is the idea that if we can turn information into binary data, we can use a computer to process it. 

Digital computers process binary numbers because they use two state electrical signals. The challenge is therefore to find a transformation from real world information to binary. This transformation is called encoding, and it makes use of a code. ASCII and Unicode are used to encode text. JPEG, GIF, and PNG do the same for bitmap images, and WAV, MP3, and AAC encode digital sound as predicted by a brilliant young mathematician, more than a hundred years ago. 

“[The Analytical Engine] might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine. Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.”

Ada Lovelace, 1843

But it’s important to realize that there are virtually limitless ways of encoding information, and these are just the techniques that are widely used owing to their effectiveness, or official recognition, or both. That’s really the fundamentals of data representation covered. The most important concept is we need a way of encoding information as binary, and then we’ve cracked it.  You can read more about data representation in my book, How to Teach Computer Science. 

 I am delighted to say it’s not just me rambling on today because I have a special guest in the studio today hello to the man behind advanced-ict.Info welcome, Andrew Virnuls. How are you, sir? 

Very well, thank you.

Good to have you on the podcast. So you were listening to all that, was that a reasonable intro to data representation? 

It was, and it made me think that that idea of the combinations is also an important idea, isn’t it, across computer science from things like, how many rows you got in your truth table, to the width of your data bus, to colour depth, and in fact the way that you can actually make a binary counter using nested loops as well. 

Yeah, absolutely. Can you just tell us where you work and what you do, Andrew, for the listeners? 

So, I am lead teacher and computing specialist for a service in Warwickshire, local authority service for children out of school for medical reasons. So, effectively like a hospital school, but Warwickshire hasn’t really got a hospital. it’s interesting. It’s got some challenges. So we get students from schools all over the county with a variety of, , backgrounds and prior learning, and all doing different courses, possibly, and some having learned different programming languages.

That sounds really fascinating. I mean, There’s a lot of teachers listening, thinking, well, I’ve got quite a diverse bunch of classes in my school and then, and then there’s you with 

well, yeah, in the same class a couple years ago, I had students doing three different boards in computer science, most of them doing Python, but one of them doing visual Basic, which made demonstrations of programming techniques quite interesting. Luckily, the theory is quite similar, actually, between the GCSEs these days. 

Yeah, no, that’s true. And you’ve got a website. Let me get the address. Right, advanced-ict.Info, otherwise known as computing and ICT in a nutshell. That’s you, isn’t it? 

That’s right. It used to be called ICT in a nutshell because I created it back in the ICT days. And it started off with the databases section because I used to find every year the A level ICT students would ask me the same questions about, you know, normalizing their access databases.

But I’ve added the computing stuff over the years. I did, I did toy with the idea of. Changing the domain name but I thought, well, actually, you know, I think like BMW still use the propeller, even though they don’t make aeroplanes anymore, don’t they? Oh, that’s a good 

point. Yeah. No, I have used, I’ve used your website in the classroom. A number of times, there’s some really useful stuff on there. I like the bitmap generator thing to demonstrate things like bit depth and number of colors relationship. And, and we were talking about the sound wave one recently, and you’ve improved it after conversations with me. I think sampling the sine wave I think that’s really useful.

There’s some great stuff on there. So the metadata one was the interesting one because we were talking about misconceptions and I suppose it’s not quite a misconception, but I found that the students didn’t really remember what metadata was for. So I added that you could upload a picture and basically it shows the pixels but just arranged into a square, so you have to kind of rearrange them into the right width and height to reconstruct the picture. So knowing the colors of the pixels isn’t enough to reconstruct the picture. You need to know how they’re arranged as well. Yeah, 

I like it. I like it. made a note that I wanted to talk about today the parallels across different file types. You know how things like bit depth is the same principle in JPEG images as it is in digital audio. So the number of bits in a sample is the same concept, no matter what sort of file you’re in.

Advertisements

Yeah, so yeah, the other thing I think about image representation is there’s obviously different types of things. One of the things I’m never sure about with GCSE, for example, is what we do about palette based file formats like GIF, because it was an interesting question a few years ago, and it was one of those true or false tables, and one of the statements was the color for the pixel is stored in metadata, and I thought, oh what if the actual colours are in the palette, which is presumably the metadata?

Yeah, that’s a statement that could easily be misinterpreted, couldn’t it? And I think I’ve seen questions like that, exam questions asking where the the colors are stored, and I guess there’s a difference between the color of a pixel and the colors in the palette. So I guess the palette needs to be stored somewhere, and that would be in metadata.

Yeah so all of this stuff, so. WAVs or JPEGs or PNGs. Underneath, it’s just binary noughts and ones. So somewhere in data representation, when you’re teaching it, you have to teach binary. So how, big question, how do you teach binary? 

Well, what I tend to do is first of all, say everything’s stored as a number and then say the numbers are stored as binary. And I don’t know whether I’m getting better at explaining binary. or just whether students have more exposure to it but find as time goes on they seem to struggle less with it because if you look on my website there’s a number base abacus which I used to use quite regularly and I say well you know this is it with tens and hundreds and things and you would Slide the beads across to represent certain numbers then say what would happen if you only had one bead on each row and could we make a number that way and then say well basically you take that abacus you turn it on its side and those are your columns and you know those are the same as the binary digits but actually I tend to find I don’t need to do that now I can jump straight to the noughts and ones and they they seem to get it.

That’s interesting I mean I guess our colleagues down in primary are teaching this now, so it’s it’s good to know that it’s coming through. I like what you said about the abacus and if an abacus only had sort of one bead, I always try to explain binary as just a place value number system in the same way that denary or decimal is and I’m at great pains to go back and forth between decimal and binary and to reinforce the notion of place value because it’s just a different number base, but the numbers work exactly the same way as decimal. So I go over that place value thing over and over again. I think that’s very important to say and in fact I start off by saying actually if you want to communicate a number, say four, what’s all the different ways we could write that down?

We could write it in roman numerals or tally and binary is just a different way of writing it down effectively. But actually the first slide of the presentation that I use, because I know PowerPoint’s a bit out of fashion, I teach mainly online, I don’t know if the listeners know that, so we have to have something that they can see.

Trust me, PowerPoint is not going anytime soon, but I know exactly what you mean. I teach a lot less on PowerPoints now, but yeah, sometimes you need them. Sorry, 

carry on. So my first slide is literally just a reminder of how denary works, because I think that when you use something so often, you tend to stop thinking about how it works.

So I’ll show them why it’s based on tens, and the fact, you know, as you move across, the place value increases by a factor of 10. And in each position, you can have one of 10 possible digits. And then I repeat that slide when we look at binary, and I use the same slide, I just replace the word ten with two and then replace the word two with 16, but and then I also show them other things.

So in the same way that 99 is one less than 100. So effectively the largest value you can have in a given number of digits is one less than the first unused column in that 111. You could say, well, that’s four plus two plus one, or it’s one less than eight, which is the first empty column. 

And then also the shifting idea. So if you move numbers one place to the left. They get 10 times bigger, if you do it with binary, they double. So it’s about making it appear consistent. I think that’s the, that’s the thing for me. 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

So I said in my intro to the podcast that if we can turn information into binary data, we can use a computer to process it. And I called that encoding. So we just need a different encoding method for different types of data. So ASCII and Unicode are a way of encoding text, how do you go about teaching ASCII and Unicode in the classroom?

Well, I just, start off with everything that needs to be stored as a number. So how do you think we can, how can we store text? And actually. That’s probably the most straightforward of all of them in terms of the students being able to understand. So I just show them an ASCII table and say, look, everything’s got its own number.

Sometimes they struggle with the idea that uppercase letters and lowercase letters are different, but I point out that that’s actually why, if you write in your Python program and you say, you know, do you want to continue y or n and they put a capital Y, that’s why it doesn’t recognize it. Whereas Google doesn’t care or Access or Excel tend not to care in their searches because actually it’s checking the aSCII values. And similarly, when you sort things into order obviously letters are, in alphabetical order, but also things like punctuation marks and stuff get sorted into that order as well, presumably based on the ASCII value of, those symbols.

Yeah, no, that’s a good point, and I hadn’t really thought of mentioning things like sorting in algorithms at this point when teaching ASCII, but it’s a good link to make. So if we can get things into numbers, we can process them.

So, Images. Thinking of JPEG and so on, this is one of my favourite topics to teach. Do you get the graph paper grids out and get them to colour in? Do you do colouring in when you’re teaching images, Andrew? 

I don’t because I don’t physically see a lot of our students, but I have, there is a, there is a page on my website where they can click and color in the dots. And I do explain that like, like knitting patterns as well. You can kind of knit things with different color stitches or cross stitch that might be familiar with. Yeah, 

So there’s a story in the book. Did I mention I wrote a book? There’s a story in the book about the woman who created the first icons for the Apple Macintosh, and she was a cross stitcher. Susan Kare, and she was hired to create some striking fonts and icons for the Apple Macintosh. So it’s her fault you’ve got the bomb emoji and things on a, on a Mac. But she was a cross stitcher and so it was exactly the same principle of creating images with just a grid of pixels. 

It’s interesting that idea as well. You know, people say, why do you need to know this? But I think it kind of demystifies the process of editing images and things. And that’s why I created the page on my website where you can upload a photo and it pulls out the numbers of, you know, the amount of red, green, and blue, and you can add or subtract from those numbers and see the impact on the image, and then you realize, like, Photoshop’s really just arithmetic. 

But then once you start thinking about how things are stored, so one of the things I say to the students is basically, But Computers only deal with numbers so if you want to store a new type of information you need to think about how you can measure and store that as a number and I used to give the example of smell for example so you know something unfamiliar you need to think about how you do that and then about two or three weeks ago my wife was reading the news one evening and she said oh Apparently there’s this new screen where you can lick it and you can taste what’s being displayed and my first thought was obviously but I hope it’s a personal device

But secondly was, I thought, well, how does that work? I said, could you, could you make a flavor? By mixing together amounts of, you know, saltiness and sourness and bitterness and umami. And she went, yes, that’s exactly how it works. How did you know? And I suppose it’s that computer scientist mindset, isn’t it, of how you store stuff? How would you do that? And again, it’s the same principle that we’ve been talking about today, data representation. And yeah, just turning that information, in this case a taste or a smell, into numbers. I’m sure I’ve read somewhere about, not taste, but smell generators that they’ve been experimenting with that you can pass digital data to and a smell will come out.

But I’m kind of hoping that they, that stays on the drawing board, because imagine, imagine pranking your friends with that if they had a, smellable monitor that’d be fun. I like it when students ask questions and it doesn’t often happen. I just live for the day when I explain binary to a Key Stage 3 class and somebody puts their hand up and says, but you’ve only mentioned positive whole numbers. You know, what about fractions or what about negative numbers? But I did get a question the other day. I was doing representation and I talked about ASCII and a lad said, So if you want to store a whole sentence, do you add up the numbers? Oh. So I thought that that’s, that’s an interesting. Well, not misconception necessarily, but a thought of how, how it might be done.

And I’m wondering the reason that nobody’s ever asked that before. We have a quite a high turnover of students and sometimes I repeat lessons from earlier in the year if the class has changed. And so normally I do firstly representation, everything stored as a number, and then we do binary and I include things like binary flags. So, you know if you number stuff 1, 2, 4, 8, you can have unique combinations of those. And I think we’d done that the week before. So it was a slightly different sequence. So we, I suppose he’d seen me adding numbers together that represent different things, and then he’d, he’d made the leap to the ASCII, which is interesting.

So it made me wonder whether actually the order is more important than I thought it was. I thought in my head, storing everything as a number and then numbers are binary was the logical way to do it. But whether that actually has an impact on the learning, 

I’m still thinking about that. And I’d love that question to be asked of me in the classroom as well, because I’m just I’m whirring away in my head there thinking what I could do with that question. It’s great when the kids ask those questions. The answer is, of course, no, but It’s, I could lead on to hashing and check sums.

 It’s a check sum, isn’t it? So, Mm-Hmm. We could talk about the problem of transmitting data with integrity and the idea that you could send the whole ASCII sentence, but you could also add up all the ASCII values and send the total. Yeah, and we do a bit of parity as well you know. 

Yeah, and it’s a bit like parity. So, so you could explore those things with that question, but I’m totally with you. Students asking questions is the best thing to happen in your classroom, and I wish it would happen more. 

And sometimes they ask things I’d never thought of myself. So last year I was with a GCSE class, we’d done adding binary and this lad said, oh, can you, can you multiply binary in the same way? Now, I’ve, I’ve been doing computer science for like 40 years and I’d never thought, thought of that. So we did it on the board exactly as you would do with binary numbers. So adding the zero and, and it worked. And I thought, oh yeah, I don’t know why I’d not thought of that myself.

Yeah, why wouldn’t it work? Because again, it’s just a place value number system. So yeah, but it’s not something you do a lot. I had a question in the class popped into Andy Colley’s classroom earlier in the week. And he’ll be on the podcast next week, and he was doing a little bit of programming at the end of the lesson, and I like the idea of doing a little bit of programming at the end of every lesson, which is what Andy does, and it was his year 10 class, and we were talking, I don’t know how we got on to it, but.

Oh yeah, some website had a rounding error on it, and I said, oh, just do this. 0. 1 times 3 in the Python shell. 0. 1 times 3 in the Python shell, and it came up 0. 30000006 or something, so a binary rounding error, and we got on to why that works, and suddenly year 10 are being taught binary fractions, and getting it, you know, and it was a fun diversion.

 Oh, that sound means it’s competition time. In episode one, I asked you to promote the pod on your socials and someone who did just that is Mrs. Bowen, AKA. Tech craft girl on Twitter. who wins a copy of how to teach computer science. In episode two, I set a riddle and let’s hear a sneak preview of next week’s episode to hear the solution. 

I just wondered if you had an answer to my riddle last week. So if I made a binary worksheet, Andy, and accidentally guillotined off the right hand edge, it wasn’t really important. Why was that? 

The right hand edge, not really a significant bit, is it? Yeah, 

there you go. , I’ve just cut off the least significant bit of all my binary numbers. 

 Well as Andy Colley on next week’s episode with the answer, on the socials, the first correct answer was from Mr. Pete Dring, who wins a book and I’ll be getting Pete on the pod sometime soon. 

This week’s competition is back to shameless self promotion. If you have one of my books, you can enter the prize draw. If you review it on Amazon, the prize is the other book if you don’t have it, or if you have both books well done you, thank you for supporting my work, you can have some lovely merch an HTTCS mouse mat, mug and pen can be yours. Plus a shout out on the podcast in a couple of weeks. So give me a review on Amazon and win a prize. Amazon links are at httcs.online/books. 

 So let’s get back to today’s discussion with Andrew Virnuls. 

We were talking earlier about bit depth and sample rate before we came on air and how those things are kind of the same across images, text, and sound. This is something I try to make clear that the number of samples per second in a sound file is similar to the resolution of an image file or, bit depth the number of bits you are allowed to play with for a text character is similar to the number of bits per pixel or bits per sample in sound. So is that a concept that it’s important to get across? 

I think so, and I recently made a page for the website which is in the math section. I think it’s called a range of binary values because in the space of one week I found myself effectively teaching the same thing but in different contexts. So there was the sample size and the color depth, but also we were doing truth tables. So the number of rows in the truth table for a given number of inputs was, is basically the same thing, isn’t it?

So you’ve got three inputs, you need eight rows, and also again nested loops. So if you had three nested loops, each looping through values of zero and one, then that effectively gives you a three bit binary counter with eight rows. So there’s that idea of effectively combinations, and students are quite okay with that idea if you explain it like, you know, if they’ve got a combination lock on their bike and they’re familiar with the idea if you put an extra digit on there it makes it more complex, but there’s that, there’s that idea, there’s that misconception, isn’t it, that twice as many bits gives you twice as many values.

Yeah, yeah. I’ve seen that misconception in several places where you know, bit depth being the number of colors in an image, or color depth being the number of potential colors in an image, when of course it’s just the number of bits, and you have to raise two to the power of the number of bits to get the number of combinations, which is of course true across text, images, and sound, which is kind of the point I’m making.

Any more tips on teaching this whole topic? We were talking about when to teach this topic earlier, weren’t we? So what would you say about when to teach it? 

I suppose they’re all interlinked, isn’t it? One of the things I quite like about computing compared with ICT is ICT seemed to be a bit of a random selection of stuff. You know, like one day you were making a spreadsheet, the next day you were reviewing a website. But you’ve got these overarching ideas in computing. the two state thing. So storage, you’ve got two states. Most storage media rely on You know, so you’ve got your north and your south and your magnetic storage and things reflect, or they don’t reflect, or back in the days of paper tape, a hole or no hole.

 So that you can link that to the binary. So I tend to do that first, because I suppose that you need to think about where this stuff is actually going to go. Then I say computers only really deal with numbers.

And then I go on to the numbers are stored in binary form, but I do that early on first term because actually, you know, then that idea of representation goes across everything. So you do networking. Well, what’s in your network packet? How do you address it? they’re all kind of forms of representation, aren’t they?

Advertisements

Yeah, there’s a link there. I like what you said about the overarching themes of computing which I never really thought about it, but you’re right, ICT is just. A load of random stuff.

I quite like the way you can go back and revisit stuff as well. So you can do binary, you can do Boolean logic, and then if you so choose, you can combine the two to do bitwise logic which is really not any, extra thing. It really is just a combination, isn’t it?, I don’t hear much about bitwise logic these days, but it’s something that we do at Key Stage 3 because there’s that thing in the National Curriculum that says operations on binary numbers, when I first read that.

Because it was in there with the binary and the Boolean logic, my first thought was bitwise logic because that was something we did when I was in school and actually it’s quite useful. So if you want to write a program that converts to binary, for example, I would do that using bitwise logic. So you do, you know, AND 1 for your end digit and then AND 2 for the next digit and AND 4 and so on.



So practically, it’s a useful thing because the thing about computer science. It’s both a theoretical subject, isn’t it, because you’ve got the written paper, but also there’s the practical aspects to it. So those might not appear on paper two in OCR, for example, but you might want to use them to create a program, you know, in the evening or whatever.

Yeah, absolutely. So we’re going to run out of time about there. It’s been fantastic talking to you. So it’s Friday afternoon.

Are you done for the week, sir? Just a little bit. I’ll do some backing up and stuff of our, because I do the IT systems as well, so I’m going to back up our lesson recordings and registers and stuff. 

It’s been lovely to talk to you, Andrew, on the podcast. 

Well, thanks for having me. 

You’re welcome, and I’m going to ask you back in a few weeks to talk about the GCSE qualifications, we can, at that point, have a little reminisce about Computer Studies O Level, which we both sat in the 80s, that’s right, isn’t it?

That’s right, and it’s surprisingly similar, I find, to what we’re doing now. I was just 

talking to someone about it Andy Colley, who’s going to be on next week, and I was saying, I remember in my computer studies O level exam having to write a program in binary. I don’t know if you remember doing that, or just assembly language.

Opcodes and that kind of stuff.

Yeah, opcodes and operands in binary. so we will have a chat about that in a few weeks, thank you very much for coming in, Andrew. Well, thank you.

We’re out of time. So let’s revisit our fertile question. What have braille and burger emojis got in common? Have we answered it? Let me know on the socials, this has been how to teach computer science, the podcast. I am Alan Harrison. If you want to give me feedback or get involved, just go to HTTCS dot online. Or check the show notes. 

 I’m also on threads, Mastodon, an X as mraharrison. Or you can email me, Alan, at HTTCS dot online. Remember, if you liked this content, please subscribe, tell your friends, buy my books, leave a review of my books on Amazon. Or at the very least buy me a coffee details at HTTCS dot online. 

 So I’m off to change my password because I keep forgetting it. So I’m going to change it to the word incorrect. Then if I forget it again, I’ll get a nice little hint. Unfortunately, we sometimes have to pass a Captcha, you know, prove you’re not a robot. I am so bad at them. I mean, does this sliver of bicycle tire count as a bicycle? I feel like getting the guy who invented Captchas, sitting him down in front of one that just says tick all the squares without a tick in them. And he can’t leave until it’s done. That’ll sort it. Then you’ve got secret answer questions, which tempt my intrusive thoughts. Like what’s the name of your first pet? And I type Sleipnir the mighty Steed of Odin the All -father. Is that just me? 

Next week on how to teach computer science. I will have special guest, Andy Colley, and we’re talking all about pedagogy. 

You’re not going to want to miss it. It’s going to be a real groovy fella. See you next week.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!
Categories
Uncategorized

Podcast Episode 2: What IS Computer Science?

The transcript of episode 2 of my podcast is here!

Transcript:

Hello. Welcome to how to teach computer science, the podcast. 

 This is episode two. They said it would never last. What is computer science? Is the title of this episode, the one you’ve been waiting for no need to study for three years, or even do a SKE for six weeks next summer. Just put this on, repeat for a few days and you’re done. Heh, my name is Alan Harrison. I wrote the books how to teach computer science and how to learn computer science available at many online bookstores. And you can find out more details at the companion website httcs.Online. That’s the initials of how to teach computer science. HTTCS. Dot online. I’ve got 25 episodes planned, which will take us up to the summer holidays and some fab guests booked in including drum roll, please. 

 Andrew Virnuls of advanced-ict.info. Adrienne Tough, Andy Colley, Beverly Clark and Harry and Anna Wake from mission encodable. Looking forward to inviting those fantastic people onto the podcast in a few weeks. There will be parables practice and pedagogy in this podcast. And a lot of computer science, subject knowledge and more jokes probably and anecdotes and other fun stuff like competitions and prize draws. As I was writing this script. Yes. I wrote a script. Don’t be rude. The thesaurus packed up in Microsoft word. So I have no. Thesaurus now, which is terrible. It’s also terrible. 

Oh, no. Now the dictionary is gone as well. I have no words. 

If you want to give me feedback. On that. Or anything else? Or get involved, just go to HTTCS to online or check the show notes. 

I’m also on threads Mastodon and X. mraharrison, or you can email me alan at HTTCS dot online. Remember, if you liked this content, please subscribe. Tell your friends, buy my books, leave a review on Amazon. Or at the very least buy me a coffee. At ko-fi.com/mraharrisoncs details at HTTCS dot online. The transcript will be on the blog as normal. That’s HTTCS online slash blog. 

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

So if you don’t like my voice. You can get your favorite text to speech engine to read out my words. Who’s this. 

Alan’s podcast is essential listening for me. I tune in every week. There is no life I know to compare to pure imagination.

Alan: That was Willy Wonka actor gene Wilder. Bye Gene. Thanks for popping in. I wonder who’ll be on the show next week? 

So let’s get today’s episode going with another fertile question . If you don’t know what that is, go back to last week’s episode. So today’s fertile question 
what is computer science? I’m now about to tell you in under 30 minutes using the TLDR sections of each chapter in the book, if you’re not terminally online, like I am, you might wonder what TL semi-colon D R stands for. It is of course too long didn’t read and you’ll see it if you dare post anything longer than a tweet on any internet forum these days, kids just don’t have the atten-. 

So here we go then. What is computer science?

 1. Data representation. 

The heart of this topic is the idea that if we can turn information into binary data, We can use a computer to process it. Digital computers process binary numbers, because they used to state electrical signals the chMastodonges, therefore to find a transformation for real-world information to binary, this transformation is called encoding and it makes use of a code. ASCII and Unicode are used to encode text. JPEG GIF [00:04:00] PNG do the same for bitmap images and wow. MP3 and AAC and code digital sound. But it’s important to realize that there are virtually limitless ways of encoding information. 

And these are just the techniques that are widely used. Oh into that effectiveness or official recognition or both. I’d love to digital conversion is the process of mapping the original data to the digital representation. And it’s vital to understand binary, to really grasp the importance of that debt resolution and their effect on file size. Metadata is data about data and describes the contents of the file or something about the original information. That’s really the fundamentals of data representation covered. 

The most important concept is we need a way of encoding information as binary. Then we’ve cracked it. 

Advertisements

Talking of binary. I made a worksheet for my class full of binary number questions then I went and guillotined the right-hand edge of all the [00:05:00] pages. Chopped off the last digit on the right, other side of all the binary numbers on the worksheet. But it didn’t matter, why? 

That’s today’s competition. 

Find my tweet, threads post or Mastodon post entitled “podcast competition” and answer this question. Why did it. Not matter that I chopped off the last digit of all my binary numbers? 

 Onwards and upwards. Let’s talk about. 

Two. Programming. 

In 1968, Donald Knuth wrote, the process of preparing programs can be an aesthetic experience, much like composing poetry or music. Thank you, Mr. Knuth Renowned Dutch computing pioneer Edsger Dijkstra is famously supposed to have said, computer science is no more about computers than astronomy is about telescopes. 

Although this isn’t on record anywhere, but he did say surgery isn’t called [00:06:00] knife science. Programming is not about devices or even key words or punctuation or indentation. Programming exists to solve problems using machine. First we find a way to state the problem computationally. Then we get a machine to perform the computation. The first part is what we now call computational thinking. It’s easily the largest part of the process, but novice programmers often forget this. 

And sometimes expert instructors do too. Programming is about using abstraction to determine inputs, processes, outputs. And deciding which variables and data structures are needed. Then using decomposition and algorithmic sinking to design an algorithm to process the data. You will need sequence selection, iteration, and sub programs, which you will combine in a structured program. Remembering to make it maintainable with meaningful white space and the use of sub programs, that’s functions and procedures to break a problem down into smaller problems that’s [00:07:00] decomposition. In all programming instruction, developing computational thinking or CT skills is where we should spend our time. And we heard last week that in all teaching, we should consider cognitive load and make sure learners are thinking hard about what matters, getting better at designing programs, using CT and not about working out where the punctuation goes. This is why when we’re teaching programming, we should do lots of code comprehension. 

We should use PRIMM. Parsons problems. Sabotaged code. Smelly code and pair programming to reduce cognitive load and I’ll be discussing all of those in a future podcast. 

So that was programming, but we need to make with our programming skill… 

Three. Robust programs. 

Early program mes designed and debugged their own programs. Building in code to prevent failures due to user error or hardware failure was pioneered by Margaret Hamilton for the Apollo space

program. Her work led to the creation of a new discipline, software engineering popularized by a NATO conference in 1968. New techniques and tools were created throughout the seventies to address the software crisis and improve software quality. Glenford Myers published the art of software testing in 1979. And the software development lifecycle was born.

Advertisements


Industry found The original waterfall development model, unresponsive to change. And iterative techniques known collectively as agile grew popular in the 1990s. Many companies began to employ test automation, software to reduce costs. Modern robust programming techniques you need to know include. Anticipating misuse through authentication, access levels, sanitization and validation. 
So let’s look at those. Authentication is keeping out unauthorized users by verifying the user’s identity usually with a [00:09:00] password more on that in the cybersecurity episode coming soon. Access levels limit what a user can do to their permitted functions. Input sanitization, such as removing spaces and punctuation prevents bad data getting in and defend against SQL injection hacks. Again, more later in the cybersecurity episode. Validation checking inputs are reasonable. For example, the birthday to the living person must be sometime in the last hundred and 50 years, right? 

Robustness also comes from structured programming techniques, focused on modular maintainable code that uses meaningful identifiers, indentation, white space and sub programs. 

Testing is also important for robustness. Iterative testing is carried out during development and final testing at the end. Black box testing means treating the code like a black box we cannot see into, instead checking each input causes expected output. White box testing, which should actually be called transparent box [00:10:00] testing, describes testing with knowledge of the code. 

For example, you might run tests that ensure every line of code is executed. Do not confuse white and black box testing with white and black hat hackers. They are not related.

Languages and IDEs. 

We need to remember that at its heart a computer is just a collection of logic circuits that process digital signals of high and low voltages representing zeros and ones. The circuits can decode patterns of zeros and ones, and we call these bit patterns. Instructions. Each CPU responds to a finite set of these low level instructions, its machine code instruction set. 

Coding in binary is difficult and error prone so each binary code is given a short, memorable name or mnemonic such as load add or branch. This assembly language is still difficult to code and contains no useful constructs, such as [00:11:00] loops or arrays. So high-level languages were invented, which are more English like, and allow us to write complex programs very quickly. Python Java JavaScript, VB.NET, ,CC plus plus, and C sharp are popular high-level languages. 

High-level code must be translated into machine code before it can be run on the CPU. For this, we need a translator. Compilers translate the whole high level source code program into machine code creating an executable file of what we call object code. Interpreters translate the program one line at a time which allows for rapid coding and debugging but slower execution than compiled code. Assembly language may still be used for small mission critical programs because machine code compiled from high level code may not be optimal. an integrated development environment or IDE is usually used to develop code. An IDE provides many features to speed up coding and debugging, such as syntax [00:12:00] checking autocomplete, stepping break points on variable tracing. As an aside, my favorite ID for beginners is now Thonny, from Thonny.org.

Algorithms.

Earlier we heard that programming is not about using the correct keywords if while and, so on but the process of solving a problem with the building blocks of code, sequence, selection, and iteration. Algorithms predate computer science by thousands of years and derive largely from mathematics and the natural sciences. Indeed the word algorithm comes from the name of a Persian scholar. Muhammad ibn MÅ«sā al-KhwārizmÄ« who worked in Baghdad in the ninth century. Some algorithms are so useful, they crop up again and again so an understanding of searching and sorting algorithms is necessary. The bubble sort algorithm passes over a list or array of data, many times repeatedly swapping, adjacent items. Insertion sort maintains a sorted and unsorted sub-list, repeatedly picking the next unsorted [00:13:00] item and placing it into the correct place in the sorted sub-list. Merge sort breaks a list down to individual elements, then recombines elements into sorted pairs, pairs into sorted fours and so on. Until the list is whole again and sorted. 

As for searching. Well, linear search just checks each item in the list until it finds the target and this works on unsorted data. If our data is sorted, we can use binary search, which repeatedly checks the middle item and discards the left or right half of the array each time, which is much quicker. As we can see two or more algorithms can be created to solve the same problem. And they will perform differently given particular inputs so it’s important to choose the right algorithm for a task. Learners must also be able to interpret an algorithm from flowcharts and pseudo code, correct errors and complete unfinished algorithms. To help with all of this, they should be able to trace an algorithm, thus driving out logic errors. 

Advertisements

Okay. Little break [00:14:00] now let’s play the high, lower game. 

 I’m thinking of a number from one to 64. Guess what it is. Oh, I’ve got a text here from a listener. I’ll text to speech it. 32. Ah, you’ve played this game before, haven’t you.
Lower? 16.
Higher. 24.
Higher. 28.
Higher 30.
Lower. 29. 
Correct. It was 29. 

Well done. Random listener on the text message there. Yes, no matter what number I choose between one and 64, you can guarantee to get it in six guesses or less. It’s one of my party tricks in the classroom, but why is this? And what has it got to do with algorithms? Well, you can message me. Just for fun. To tell me the answer or I’ll give the answer next week.

Architecture. 

Alan Turing described the concept of the stored program computer in [00:15:00] 1936, John Von Neumann built on Turing’s work explaining in 1945 how a cycle of fetch decode execute could allow the same memory to hold programs and data. Freddie Williams led a team at Manchester university that built the baby. Which ran around 700 instructions per second in 1946. Its success led to the 1951 Ferranti Mark I, the first commercial computer, for which women wrote most of the programs. Valves gateway to much faster transistors in the 1960s and this exposed the Von Neumann bottleneck solved by the Harvard architecture of separate memories for instructions and data. 

Early memory stores included paper tape, magnetic tape, magnetic drum, acoustic delay lines, and core rope memory until semiconductor RAM arrived in the 1960s. Magnetic hard disk drives provided secondary storage from the 1950s onwards with flash memory becoming popular in the 21st century for portable storage devices and solid state disks. Compact discs invented in [00:16:00] 1979 and DVDs and Blu Ray disks are examples of the third common storage type, the optical disk. Computer performance is limited by the three CS, clock speed, Cores and size of cache. 

Advertisements

From the baby to the modern smartphone, all CPUs still contain an arithmetic and logic unit or ALU, some registers and a control unit. And they perform a fetch decode execute cycle first described by Von Neumann in 1945. Talking of Von Neumann, I’m saying NOY-mann because he was Hungarian. And not to be confused with Max Newman who worked at Bletchley park with Alan Turing. So von Neumann thank you for your contribution. And inventing the arithmetic and logic unit, talking of logic. 

Boolean logic.
George Boole published his paper, in 1847. Describing what became known as Boolean algebra. Claude Shannon [00:17:00] saw how Boole’s work could be applied to electronics in 1938. The first digital computers used fragile valves and slow relays. Transistor computers arrived in the 1950s, greatly improving speed and reliability. Computer’s use a high voltage around five volts to represent either true or a binary 1. And a low voltage close to zero volts to represent False or binary zero. A transistor acts like an electronic switch, turning the voltage on or off. Transistors can be combined into logic gates. A logic gate is a collection of microscopic transistors that perform a Boolean logic operation, such as, AND, OR or NOT. Logic gates are combined into circuits, inside a computer to perform arithmetic and logical operations. An AND gate takes two inputs and produces the output one or true only if both inputs are one or true. One input AND the other. The OR gate produces an output one, if either one OR the other input is one [00:18:00] and a NOT gate inverts the output zero to one and one to zero. We use truth tables to list the outputs for every possible combination of inputs. We can write Boolean expressions, such as Q = A AND NOT B, and then draw logic circuits, connecting symbols, which represent the logic gates. 
Hey, talking of logic. Three computer scientists walk into a bar, the bartender asks, do you all want a drink? The first says, I don’t know. The second says, I don’t know. The third thinks for a minute and says, yes. If you know how that works, message me on threads, Mastodon or X. Just for fun.


 Eight.
 System software. 

Early computers were hardwired to perform a single program. Running a different program required extensive manual intervention. An IBM project called stretch in 1961 and Manchester’s Atlas computer in 1962. Provided multi programming features for the first [00:19:00] time. In 1964. IBM’s 360 delivered index data files, program libraries, a job scheduler, interrupt, handling, and print spooling. 

The modern operating system was thus born Two Bell labs, researchers, Ken Thompson and Dennis Ritchie created Unix in 1971, which became the most popular OS on the planet by 1980. Apple’s 1984 Macintosh was the world’s first successful home computer with a graphical user interface. And a year later, bill gates, Microsoft released its first GUI called windows. Mobile versions were spun off in the 21st century, including iOS and the windows Phone OS. Which is now dead. The Finnish student. Linus Torvalds released the first version of Linux in 1991 and it now runs hundreds of millions of devices from home internet routers to Amazon’s data center servers. Linux is open source, meaning anyone can see copy amend and contribute to the source code. OSs are a [00:20:00] type of system software that exists to manage the hardware and to allow applications and users to interact with and control the system by managing memory, CPU time slices and input and output. 

Utilities and drivers are also system software. Utilities help keep the computer running smoothly while drivers communicate with the hardware. Anything, that’s not an application is probably system software.

Nine.
Networks. 
 Let’s quickly look back at the creation of the internet. 
The internet, is that thing still around?
And then the worldwide web. In the 1960s computers on university campuses like UCLA would join together in a local area network or LAN. Then in 1969, the first wide area network or WAN was created between UCLA and Stanford as part of the ARPANET project. Early routers called interface message processors or IMPs performed packet, switching the process of breaking up data into chunks and routing it [00:21:00] across a network with the packets potentially taking different routes. And being reassembled at the other end. This was a key strength of the ARPANET, allowing it to grow quickly and perform reliably. In 1983. The ARPANET adopted a set of standard protocols created by Vint Cerf called TCP IP. Protocols are rules that enable very different computers to communicate. The protocols are arranged in layers with each layer, performing a single job. 

At the top is the application layer where email sits and later websites displayed by the browser. Throughout the 1980s, the internet was used mostly by universities and the military to access text only services like email, FTP, and use net. Home users arrived on the internet in the early 1990s. Thanks to the first commercial ISP, including AOL and CompuServe. 

True story. I sent my first email in 1986 from Sheffield university to my friend at Newcastle university. But within weeks of starting, my course, our email [00:22:00] access was removed because we crashed the server with chain emails, full of ASCII cows. Google ASCII cows and thank me later. Tim Berners Lee combined HTML with TCP IP to create the worldwide web in 1993. This technology allows a browser to download and display pages from a web server anywhere in the world. The web has grown rapidly and around 66%. of the world’s population is now online. 

 It’s important to draw a clear distinction between the internet and the worldwide web. The internet is a global network of cables, satellite links, switches, and routers that join computers together. The web is the collection of websites, apps, and services that make use of the internet to do useful things. 

Advertisements

Alan: Computer networks can be LANs consisting of switches, wireless access points, and Ethernet cables or WANs which use copper, fiber optic, microwave and satellite links to join devices over long [00:23:00] distances. a Router connects a LAN to another LAN or a WAN. The router in your home is actually a multifunction device containing a switch, wireless access point, router and modem. Right. So what’s next. Oh, I think there’s another celebrity guest.

Cybersecurity. I don’t know much about that. Don’t worry, Peter. I do .
Ten.
security. 
Keeping secrets is as old as writing messages. Julius Caesar is said to have encrypted his messages by shifting each letter down the alphabet by a known shift key. An encryption method that changes each letter for another letter or symbol, like this is called a substitution cipher. These are easily broken by frequency analysis. First documented by the ninth century Persian scholar Al Kindi. 
During the second world war, the Nazis used electromechanical machines called enigma and Lorenz. Which were cracked by expert mathematicians working with early computers at the UKs Bletchley park [00:24:00] code, breaking center. Modern encryption uses mathematical methods to ensure that computers cannot brute force the key. Verifying the identity of a user is called authentication. Passwords are the most common means of authentication. But a weak password can easily be brute forced by trying all possible combinations. Passwords can also be guessed or spotted while shoulder surfing. The second layer of protection is added by two factor authentication or 2FA. Typically 2FA requires a code, delivered by text message or generated by a token or app. Or a biometric indicator such as a fingerprint or face recognition. Attacks on the network include distributed denial of service, DDoS, and hacking attempts. Firewalls at the network perimeter will keep out unwanted network, traffic and website should be protected against SQL injection attacks by sanitizing their inputs as we discussed earlier. 

Malicious software or malware, consists of viruses, Trojans, and worms. Antivirus or more accurately. [00:25:00] Anti-malware software can help, but other security measures such as patching firewalls and user training are vital. Social engineering is often called hacking the human and includes phishing pretexting and shoulder surfing. For any company, educating users is important and this should be part of the network security policy. Finally defensive design means designing systems to be secure in the first place. This can include secure network design code reviews, testing, and anticipating misuse. 

As we discussed earlier, robust programming. And security, thus go hand-in-hand and are linked to many of the topics in the final chapter.
 How are we doing for time? 
Alan: I did say I do this in 30 minutes. So I’m going to have to speed this one up. Okay. 
Eleven.
 Issues and impacts. 

Information technology caused a third industrial revolution and analysts are calling the convergence of mobile internet automation and AI the fourth industrial revolution. [00:26:00] With all new technology comes both opportunities and challenges. We face privacy, legal, cultural, environmental, and ethical questions, and many issues span two or more of those categories, such as automation, equality, bias in decision-making and the future of work. Decisions require us to balance competing issues and impacts. 

For example, automation drives down the cost of production and eliminates hazardous occupations, but can cut jobs or worsen inequality. The internet has opened up communications previously impossible, but has created a digital divide between those, with access and those without. Artificial intelligence is revolutionizing manufacturing, healthcare transport and the arts. But it suffers from bias, discrimination and lack of transparency. Cryptocurrencies such as Bitcoin have been criticized for their energy use and electronic waste is a growing ethical, environmental and legal issue. While finite resources needed in smartphones are mined by low paid workers in exploitative practices.

In every question about issues and impacts of technology we must consider all the stakeholders involved, including the creators vendors, shareholders, consumers, and wider society and balance their often competing interests. 

Advertisements


How have I done for time?. 

Wow. That was a whistle-stop tour of the GCSE in computer science. So now you’re ready to sit the exam. Or to teach the subject So let’s revisit our fertile question. 
What is computer science? Have I answered it? Let me know in the comments or on the socials. This has been how to teach computer science, the podcast I’m Alan Harrison. 

If you want to give me feedback or get involved, just go to HTTCS online or check the show notes. I’m also on threads Mastodon an X as mraharrison, remember, if you liked this content, please subscribe. Tell your [00:28:00] friends, buy my books, leave a review of my books on Amazon, or at the very least buy me a coffee. I’m also available for staff training INSET days and student masterclasses see the website for details. Next week, I have a guest, the amazing Andrew Virnuls, who like me sat the old computer studies O-level in the eighties. And worked in IT for decades. So we’ll be catching up and discussing in more detail one of my favorite topics, data representation, 

 I’m off for a cappuccino paid for by our listener mark Weddell. Thanks mark. Really appreciated. If you enjoyed this, why not do the same? Don’t forget to hit subscribe and I’ll see you next week.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!
Categories
HTTCS podcast

Apodalypse Now.

It’s here! My new podcast…

https://pod.httcs.online/Bookmark my podcast website link: pod.httcs.online or search “How to Teach Computer Science” in your favourite podcasting app, it should appear in Podbean, Google Podcasts, Apple Podcasts and Spotify among others, and the RSS feed is here for your favourite podcast player app.

Every episode transcript will appear here on the blog too. Enjoy!

Episode 001: What’s All This About Then?

Episode Link: What’s All This About Then?

Transcript…

Alan: welcome to How to Teach Computer Science the podcast. This is episode one. What’s this all about then? Well, I’ve had a lot of people say to me, “Alan, your book has been recommended to me and it looks fantastic, but I just don’t have time to read it. Can you make an audio book version?” So I looked into that and it costs a lot of money for little reward. So instead I’m doing this cheap podcast. But before I ramble on, and trust me, there will be rambling for it’s just me today. Nobody to interrupt me or get me back on track. So I hope you can follow me. , as an aside, I saw Ross Noble in concert, the comedian last week, and my wife said, that’s you that is, and I pointed out that’s a line from David Baddiel

[00:01:00] <Crickets chirping>

Alan: anyway, my name is Alan Harrison, and I wrote the books How to Teach Computer Science and How to Learn Computer Science available in all good bookstores and some bad ones. And on Amazon and you can find more details at the companion website to the books httcs.online That’s the initials. of How to Teach Computer Science, httcs.online I’ve got 25 episodes planned

<cheering>

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

Alan: Which will take us up to the summer holidays. And some fab guests booked in. There will be parables practice and pedagogy and a lot of computer science subject knowledge and jokes, probably and anecdotes and fun stuff like competitions and prize draws, talking of jokes. What’s the problem with jokes about the punchline often comes too early race conditions. <crickets>

That’s a degree level, computer science joke right there. More where that came from you lucky people. If you want to give me feedback, not on my jokes, please. Or get involved, just go to [00:02:00] httcs.online or check the show notes on your podcast player.

I’m also on threads Mastodon and X as mraharrison That’s M R A Harrison, or you can email me at alan AT httcs.online. I’d love to hear what you think about this podcast. And if you want to be a guest, just send me an email. Or a message. And if you like the content, please subscribe and tell your friends and buy my books at httcs.online. Leave a review of my books on Amazon or at the very least buy me a coffee. I have a- tag on my Website and blogs so go to httcs.online and bung me a few quid. Because I’m not getting paid for this.

Okay. So. Every week, I will transcribe this recording as well and blog it at httcs.online/blog. So if you don’t like my voice, you can get your favorite text to speech engine to read out my words., You can even go to Speechify to have my words read by somebody else.

Snoop: [00:03:00] What up dog it’s big snoop d o double g, and I’m an English voice from the United States

Advertisements

Alan: so if you really must have my words, read by Snoop Dogg, go to Speechify.com. So let’s get into today’s podcast then, and let’s start with a fertile question.

Alan: What’s this all about then?

It’s the podcast version of the book, How to teach computer science. This book that I wrote is for new or aspiring computer science teachers, wishing to improve their subject knowledge and gain confidence in the classroom. And it’s for experienced computer science teachers who wish to hone their practice. Especially in the areas of explicit instruction, tackling misconceptions and exploring pedagogical content knowledge. So trainee teachers. And NQTs or ECTs. will find this book, invaluable, experienced teachers will find it inspiring and all would benefit from a fresh look at the hinterland and pedagogy that makes computer science a fascinating subject to teach. So go get the book. If I haven’t mentioned it, I wrote a book.

But [00:04:00] today let’s discuss pedagogy in more detail, a little bit about PCK, pedagogical content knowledge. Educational psychologist, Lee Shulman defined PCK as quote knowledge of the most regularly taught topics in one subject area, the most useful forms of representation of those ideas, the most powerful analogies, illustrations, examples, explanations, and demonstrations end quote. Thank you Mr. Schulman. It’s that intersection of content or subject knowledge and pedagogy. PCK for computer science will be different to that for maths, science, or history, but may share some common features. For example, the pedagogy of fertile questions can be used in any subject.

What are fertile questions? I’m glad you asked. So you may know them as big questions or inquiry questions. Fertile questions are intriguing questions the teaching tries to answer and they help to tie all the lessons in a topic together. As explained by Mark Enser in his TES article, “are you asking fertile questions? If not, you should be” TES.com July, 2020. And I quote this sense of intrigue sparks my pupils natural curiosity. The subject itself becomes engaging rather than an activity designed to hook them. By phrasing each topic as a fertile question to be answered. I’ve been able to think more carefully about the disciplinary knowledge that a geographer, because he’s a geography teacher would need in order to answer it. I find myself asking what propositional and procedural knowledge will they have to bring to the question. Rather than what can I teach to fill up the lessons this half term? That’s Mark Enser in TES.

And William Lau gives us some examples of fertile questions for the architecture chapter in his book, teaching computing in secondary schools copy here. Next to the microphone. And it’s a fab book. Inspired me to write mine. And William says. As an example, the architecture chapter could have a fertile question. How can we design the [00:06:00] fastest computer system in the world? Now you see. Phrasing a series of lessons as the inquiry that will answer that question will give structure to the unit and motivation to find out the answer to that question. Individual lessons within that topic could have fertile questions such as why does my phone get hot? And why does cooling speed it up? Why do my phone and tablet boot in seconds while my desktop takes a minute? Why are some manufacturers computers more expensive than others? Why did chip manufacturers stop increasing clock speeds and instead, add extra cores. Why does magnetic storage still exist if solid state drives are quicker. So those questions can set the tone and the objectives for the lesson.

Once you’ve got your lesson planned around your fertile questions, you can start to explain stuff. And I’m a big fan of explanations. One technique you might use is analogy, always use good analogies. Why? Because a bad analogy is like a, bad analogy. Those of a certain age may remember the comedy series Blackadder, famous for terrible analogies, such as Baldrick. There hasn’t been a war run this badly since Olaf the Hairy, King of all the Vikings, ordered 80,000 battle helmets with the horns on the inside.

Alan: But I digress. I told you there’d be rambling.

Analogies help explain abstract ideas, using a similar idea in a familiar concept. Concrete examples exist in the real world and put the learning in context, connecting new competing ideas to other subjects. Which helps pupils assimilate them into their existing understanding. Analogies can be used as part of a semantic wave. Also described as unplug, unpack repack.

So basically you might describe an algorithm as a sequence of steps to solve a problem. Then slide down the semantic wave to a lower semantic gravity and say algorithms are like a recipe. Then go back up, repacking into the algorithm concept. Semantic waves are [00:08:00] described in an NCCE quick read and the link is in the transcript on my blog at httcs.online/blog.

Other pedagogies, unique to computing include unplugged and physical computing. I have a whole episode of this podcast planned to cover those. So just for now, park your physical computing enthusiasm on the stack, and I’ll pop it off in a few weeks.

Misconceptions can seriously hinder learner’s progress. I love a good misconception me like assignment statements make two arguments equal, always, like in mathematical equations or peer to peer networks require a mesh topology. Studies have shown that teachers who are aware of common misconceptions and actively seek to address them. are more effective. That’s Sadler et al 2013.

So. You’ve got your misconceptions. You’ve got your pedagogies. What makes a good lesson? And I think we really need to beef up our explanations. I pride myself on my explanations. So I wrote the book to help you explain things better. My books clear descriptions of each topic and deep exploration of the hinterland should enable teachers to explain topics in great depth suitable for a direct instruction approach to teaching.

Now I wasn’t always a fan of direct instruction. I was very much a progressive teacher at the start of my career. And I thought inquiry learning was wonderful, and constructivism and Constructionism. That’s Papert and everything, but there’s a limit to how much time we can give them to discover things. They’re not really discovering. They’re just finding out stuff that we already know. They’re not small adults they’re children. True discovery. comes after you’ve learned all of the substantive knowledge that’s already out there to learn.

And then, you know how to perform the discipline, of computer science in our case, and then go out and discover new things. So discovery learning is a little overplayed. I think children can’t discover new facts like scientists until they’ve got that body of knowledge, so limit your inquiry learning and don’t get me started on Googling. Googling is not inquiry learning and inquiry learning is. Not always the best way to get new facts across. So. Hone your explanations and tell the pupils most of the stuff they need to know and let them practice using that knowledge in a practical way, applying that knowledge in the classroom.

I’m a big fan of pedagogical approaches such as talk 4 writing from Pie Corbett, children internalize the key terms and language structures needed to write knowledgeably about the subject when teachers talk the text confidently and model their thought processes, and explicitly teach the specialist language of the subject.

So. That’s what I try to do. I’ve always prided myself on my clear explanations and it’s made a great difference to my teaching. For example, I might say a protocol is the rules for communicating across a network. But I might follow up with the word protocol in several other [00:11:00] sentences, such as, two computers communicate using the same protocol. And without a protocol to describe the rules, two computers cannot communicate. These multiple examples help illuminate the key tier three vocabulary so the pupils can grasp and use it themselves.

that music means it’s competition time. So you can win a free copy of one of my books, how to teach computer science or how to learn computer science. Just for promoting this podcast. You’ll find a post from me promoting the show on Threads, Mastodon, LinkedIn and X. Please like and reshare that post to spread the word and I will choose one listener on each platform who has done so to receive a free book. The podcast is available on all major platforms and on the web at, pod.HTTCS.online.

Okay. Back to the serious stuff now. We’re talking about direct instruction. I used direct instruction and other techniques described in the book as part of a wider strategy of research informed teaching. I use an approach that follows Rosenshine’s principles of instruction. First published in 2012 and explained by Tom Sherrington in his book, Rosen shines principles in action, which I strongly recommend link on my blog at httcs.online. So much of the PCK advice in my book is aimed at increasing what teach like a champion author, Doug Lemov calls the ratios. The ratios are explained in a blog by Adam boxer. And I recommend his blog and he’s now got a podcast called they behave for me with Amy Forester, which is a great listen and inspired me to do this. So, what are the ratios? Well, There’s participation ratio. How many of your students are participating and how often? And the think ratio: when they are participating, how hard are they thinking? Increasing these ratios is important because memory is the residue of thought as Daniel Willingham explained in his excellent book why don’t students like school? That book changed my teaching practice entirely, it was my first introduction to cognitive load theory and the impact it has in the classroom.

Cognitive load theory is important for inclusion as well. You can only hold so many new things in your head at once while you’re thinking about them. Pupils who find learning more difficult will have perhaps a smaller working memory. So it’s even more important to make sure you understand cLT and working memory and adapt your lessons accordingly. adopting some or all of the PCK techniques in my book would inherently make your classroom more inclusive. The activities suggested have a low floor [00:14:00] wide walls and a high ceiling, a phrase coined by Seymour Papert that guided the development of scratch at MIT. So reducing cognitive load can support send learners as Catherine Elliott explains in her discussion of PRIMM in Hello World 12.

I’m going to talk about PRIMM in a later podcast. But as Catherine explains, a young person with SEND or special educational needs or disabilities can thus learn about the same computer science concepts as their peers, without the fear of failure or the demand on working memory and recall that writing a program from first principles involves.

So think about your programming pedagogy, things like PRIMM, Parsons problems and pair programming, all the P’s, they reduce cognitive load and I’ll be talking about them. In a later podcast, but they improve inclusion in the classroom. And I’ve got some tips in the book from Beverley Clarke. And she says, in HelloWorld 11, equitable computing would mean experiences that are high quality in terms of pedagogy and robust in terms of nature and scope of learning goals. Taking students beyond the curriculum. Unplugged activities, physical computing and project work offer multiple means of engagement, representation, action, and expression recommended in the universal design for learning, UDL framework. Which was discussed in Hello world 15. Hello world, of course, is a magazine published by the raspberry PI foundation. And it’s available for free PDF download. And if you are a teacher, you can subscribe to the print version and have it drop on your doormat.

Talking of wide walls and a high ceiling as we were, I wrote a blog recently called On banning ‘I’ve finished!’. And why did I do that? Well, surely you want pupils to finish their work in lesson time. And if they finish early, what’s the harm if they find something less stressful to do like going online to play chess with their mates as a teacher on Twitter told me recently that her pupils do when they’re finished. They were really into their chess games, online with peers. Oh they did do that. And she got cross when the IT technicians blocked Chess.com. So she then said, well, just go on YouTube when you’re finished your work.

Well, allowing free time at the end of the lesson, encourages poor performance. Many pupils rush the work to get it done in plenty of time to play games or watch videos. In my early career, I often responded positively to the plea, Sir, if we get finished early, can we go on cool math games? But I learned that dangling that carrot of free time just ensured poor concentration. A tendency to fill boxes on worksheets with the bare minimum and importantly ensured a poor ratio. Remember, that’s the proportion of pupil minutes, thinking hard about the topic instead of other things. Learning is its own reward in my classroom, isn’t that right, class?

Sir, yes, sir!

why would I deprive them of enjoyable learning about our wonderful subject? Why would I suggest that playing games is somehow more desirable than building logic, circuits or learning to code? Why would I do that? So I have a poster on my classroom wall you can see on my blog and it says. ask your self, is this my best work? Am I proud of this and then goes on to list some of the things that I expect my pupils to do when they think they’ve finished and they’ve checked that it’s their best work. So at key stage four, they could use Quizlet, Seneca, or smart revise from Craig and Dave, which is an absolute game changer. More on that story on my blog at the usual place. httcs.online/blog.

Advertisements

I want to talk about an [00:18:00] important topic, gender balance. And there’s now a whole wealth of information available from the NCCE under the I belong banner. So go and have a look at that. But the tips in the book were From CAS originally, which were: Tip 1: women can change the world, right throughout key stage three, make links to the big picture and real-world computing roles, which have an ethical remit. For example, designing assistive technologies to enable people to overcome a disability or highlight technology’s role in medicine, humanitarian work, science, fashion, communications, art, journalism, or sport.

Another tip would be to encourage and praise, and show that praise addresses all aspects of learning computing, including creative solutions, planning, and conceptual understanding as well as technical knowledge and skills. So make sure you’re praising the effort, the progress. You don’t just judge your pupils by, have they finished a program that works. Because all of the stages are important and encouraging resilience, particularly among young people who don’t believe they belong in that classroom is really, really important.

So. There’s an old adage about tech bros that people think Silicon valley is trying to make the world a better place, but really they’re always just trying to make better technology. And this could really change if we get more women into technology.

I’m going to start closing out this podcast now, not before another joke. I was asked, can you write a joke about abstraction? And I thought about it. And I thought, yeah, I can do that. Here’s a joke about abstraction setup(), setup(), setup() punch line().

So why did I write the book? That we’re talking about, how to teach computer science. Well, The germ of an idea for the book was planted by a blog called signposting the hinterland in which Tom Sherrington him again, explains that curriculum can be divided into core and [00:20:00] hinterland where the hinterland is as important as the core and serves the purpose of increasing depth niche details about a particular area of study that deepen, enrich the core and increasing breadth. wider surveys across the domain of any curriculum area that helps to locate any specific core element within a wider frame. Sherrington quotes from an earlier blog by Christine Counsell, which said the core is like a residue. The things that stay, the things that can be captured as proposition often such things need to be committed to memory.

But if in certain subjects for the purposes of teaching, We reduce it to those propositions. We may make it harder to teach and at worst we kill it. What are they saying there well, If you just teach. Sequence selection and iteration. But you don’t understand programming if you just teach the FOR loop syntax., but you don’t understand what a count controlled loop is and if you haven’t got a real grasp of what the low level instructions would do when you compile a for loop. If you’ve got a good grasp of that, then you can really teach FOR loops or iteration or programming much better. So don’t neglect the hinterland.

If you read my book, you will get much more sound grasp of the subject and then you will be able to teach it well. So the original aim of the book was to assist computer science teachers in sharing some of that hinterland with their students to enrich their studies and cement core knowledge in a wider context. .

And so I wrote the book because I don’t think the hinterland and the pedagogy of our subject is well appreciated in the classroom practitioner community. By teachers basically. So I decided to enhance the book, not just with hinterland, but insight into research, making the concepts accessible to teachers with concrete, practical [00:22:00] ideas. That’s why.

So. Go and buy the book. If you’ve bought it, please give me a review on Amazon. I have a learn book out as well, which is aimed at pupils so you could buy class sets for your classroom. And if you email me, alan AT httcs.online. I might give you a discount for a class set they’re literally dirt cheap, because I said to the publisher, I want these books to be really affordable by the classroom teacher it’s my sort of gift. If you like to. Computing teaching community, which really is under appreciated. So the. How to teach computer science book is priced at 15 pounds and is cheaper than that on Amazon. And the learn book is 12 pounds, but if you email me and you want a class set, I can get a discount off that. And you can give them to your learners.

If you are grateful for my blog, please buy my books here or buy me a coffee at ko-fi.com/mraharrisoncs, thanks!

[00:23:00] this has been how to teach computer science. The podcast. And. I hope we’ve answered the fertile question. What’s this all about then? So remember the competition, share the love, share the podcast. Next week I will be attempting. The GCSE specification in 30 minutes, I will talk through the entire content of a typical computer science GCSE in 30 minutes or less.

And I may have some more strange and interesting jokes about computer science. I’m Alan Harrison. I’m on threads Mastodon and X as mraharrison And if you wondering why I’m making that buzzer sound. When I say X , just go and read my blog I’ve quit X and you should too. So thanks for having me today. [00:24:00]

This has been how to teach computer science, the podcast. Please share the love and I’ll speak to you next week.

Categories
Uncategorized

Roundup: Generative AI and the BCLC…

This is a roundup of my recent activity over the last couple of weeks…

I wrote two blogs for the National Centre for Computing Education (NCCE) which you can find here: “What role should generative AI play in education?” and “How can we use Generative AI tools to help with planning, teaching and learning?” -While you’re here bookmark this page to read the latest articles from the NCCE.

And I co-hosted and spoke at The Big Computing Leadership Conference Sponsored by Craig’n’Dave.

You can see some of what we got up to on the hashtag #bclc23 on Threads and Twitter.

Categories
AI computing teaching and learning

Stop calling it cheating.

Stop calling it “cheating”, take a step back and consider why you set that assignment in that way and what you hoped to achieve by it. There might be a better way.

They’ve used AI to cheat!

Now if you’ve ever said this, or even thought it, then some things are clear.

  • One: you have set a piece of work, usually called an assignment, to be completed outside the classroom.
  • Two: marking or grading the submission is important to you: perhaps the grade you give needs to be recorded, reported to stakeholders or counts towards some certificate of achievement.
  • And three: that you expected (or hoped) the students would complete the work independently, using only what they know and perhaps some “approved” source material such as a textbook or a website, such that what was handed in accurately reflected what they knew.

In this article I hope to encourage you to question all three of the above criteria before setting an assignment, and a fourth one, namely, that you need to grade that assignment at all. Because it is only by such introspection that we will arrive at a solution to the idea that your assessments are unreliable because of “cheating” with AI.

Why assess?

In this presentation on assessment, Tom Sherrington explains that assessment serves at least two different purposes: feedback and reporting. Formative assessment provides feedback to students and teachers informing the teaching and learning process, while an assessment designed to report progress to stakeholders can be useful for such a purpose but is much less likely to have an impact on future learning.

We must therefore consider why we are assessing, and ensure the vast majority of our assessments are of the formative variety, giving students insights they can use to answer the question: “What do I need to do in order to achieve my goals?”

Formative assessment helps the teacher too, showing them where they need to direct their efforts in instruction and curriculum design. If the data shows that a topic is poorly understood then we can re-teach that topic, if on the other hand they have grasped it early, we can move on more quickly.

When teachers complain that students have used generative AI (GAI) tools such as ChatGPT or Bard, what they usually mean is that some piece of creative work being used as a summative assessment appears to be the work of a GAI, and therefore it is of little validity as a measure of progress. However, to think like this suggests an over-reliance on the validity of such assessments in the first place, given that “cheating” was entirely possible before GAI in the form of copying, plagiarism and essay mills. Also the idea that an essay completed without any such assistance would somehow be an entirely valid, reliable measure of a student’s abilities is a flawed notion in the first place. All assessment is an unreliable proxy for what we would really like to know, which is “what have they retained about this topic (domain)?”

Someone conducting an educational assessment is generally interested in the ability of the result of the assessment to stand as a proxy for some wider domain (emphasis mine).

Dylan Wiliam

Generally these complaints about cheating arise only when performing summative assessment: when the teacher needs to mark or grade the assessment, thus the result is being used to report to stakeholders on the students’ performance, or counts towards an award (such as a diploma or certificate). But as we heard above from Sherrington and Wiliam, this type of assessment has limited validity and has little impact on future learning.

Why the essay is dead

[Teachers should] assume that 100 percent of their students are using ChatGPT and other generative A.I. tools on every assignment, in every subject, unless they’re being physically supervised inside a school building.

Kevin Roose in the New York Times 24th August 2023

It’s true, the independent essay or other creative written assignment is dead as a valid (reliable) measure of what students have learned. Even if you are testing different forms of knowledge, to include declarative knowledge as well as practical knowledge (skills) and conditional knowledge (judgement) – if the means of demonstrating this learning is via an essay completed outside the classroom, you cannot rely on the results because of the ease of use of GAI on top of the more traditional methods of “cheating” mentioned above. Neither can we rely on so-called AI detectors, because they produce too many false negatives and positives, and students can learn to game the detector, or indeed get GAI to do so!

But you may have noticed that I have made the same point a few times now, this is only an issue if we need a reliable, summative assessment, for the purposes of reporting to stakeholders or awarding a certificate. How many of your assignments genuinely have to be used in this way? Can you set a supervised assessment in class once per term, and get enough data from that to feed your reporting systems, and switch out all your other assignments for formative assessment that truly moves the needle of attainment?

Vintage line drawing of a human head labelled with traits such as benevolence and cautiousness, historically used by phrenologists

All assessment measures a flawed proxy of what is inside their heads.
Image Credit: rawpixel.com

Moving to formative assessment

In the UK, compulsory schooling (K-12) is assessed with terminal exams, at 16 and at 18. We do not have a high-school diploma, grade point average (GPA) or a tradition of graded essays and term papers. It’s therefore easier in the UK to favour formative assessment. Although schools require performance data at least once per term, how this is gathered in each subject is often a matter for the subject leader.

As a Head of Computing I would usually capture my data through a mixture of auto-marking tests – making good use of multiple-choice questions (MCQs) – and a short written test conducted in class maybe once per term. Students on GCSE courses (14-16, years 10 to 11) would sit two “mock exams”, in the summer of Y10 and around Christmas in Y11. A-level students (16-18, years 12 and 13) would sit a written test at the end of each unit, so around 20 tests across the two years. I would set lots of independent work to be completed outside the classroom, but crucially none of this would be marked or graded beyond a measure of effort – did they put sufficient work in?

But importantly, I would use lessons to deliver new material, yes, but also to check for understanding, support the learners in understanding what they need to do next, and use formative assessment techniques to really help them make progress. Let the students assess themselves against criteria you set (self-assessment) or mark each others’ work (peer assess).

Or in a practical programming lesson where they are all solving a series of problems, I would walk the room helping them, and they would help each other. Or if it’s a GCSE or A-level class, and I’ve set an exam question such as “How will robotics affect the world of work?”, I will give them ten minutes then choose some students’ work to critique as a class, then give them more time to improve their own work: rinse and repeat. Without computers, a teacher visualiser device is all you need and this technique is explained here.

The “ungrading” movement

Ungrading is an approach that deviates from traditional grading systems, favouring a more feedback-centric model. Instead of focusing on scores or letter grades, the emphasis shifts towards providing detailed, constructive feedback, encouraging students to reflect on their learning and grow from their experiences.

Leon Furze

This movement away from graded assignments in the US sounds a lot like what goes on in many UK schools already, and I recommend US readers of this blog check out the link above, or Jesse Stommel’s blog post here. The case for ungrading is that a focus on grades drives students to engage in academic dishonesty. 

When the primary aim of education shifts towards attaining higher grades rather than gaining knowledge and honing skills, students are more likely to turn to GAI for completing their assignments.

Emily Pitts Donahoe

Indeed, for students with perhaps 20 essays each term, many with part-time jobs or caring responsibilities, and a GPA to maintain, using GAI is not “cheating” it’s sandbagging their future. And as I wrote in my previous blog on GAI, ChatGPT can level the playing-field for students with disabilities or assist learners for whom English is an additional language

So wherever you teach, moving away from graded assignments removes one of the drivers of “cheating”. If you can deliver sufficient reportable data with fewer graded assignments, then you will get more authentic work from the students.

Feedback and motivation

I want to go back to Tom Sherrington’s slides and revisit the purpose of assessment. Remember, if you’re grading, you’re not giving much formative feedback.

A component of learning, as students build their schema for any given knowledge domain, is a metacognitive process that drives motivation and intentionality: a knowledge of self – what do I know? What do I need to know/do/focus my attention and effort on in order to achieve goals? 

Tom Sherrington

Once we start giving feedback instead of grades, showing the learners that we care about their progress, then chances are they will care more about the process too. Assignments will become genuine expressions of what they can do, and they will value your feedback and become more motivated to do their best work. Not always, and not all students, but we will move the needle if we give it our best shot.