# Computer Science Unplugged

>>Welcome to today’s Techtalk. We are very
pleased to have Professor Tim Bell from the Computer Science Department, the University
of Canterbury in Christchurch, New Zealand. Tim’s research interests include data compression,
computer science for children, which he’ll be talking to us about today and computers
and music. Tim recently completed–I think this is your last leg of your tour–a worldwide
tour, talking about his project Computer Science Unplugged. This is a project that seeks to
teach principles of computer science to–without using any computers. So, that is what we’re
here today. Please join me in welcoming Tim Bell.
>>BELL: Yup. Again, thank you very much. What–I mean, this–the day is just very quickly
run over some of the ideas that we’ve been working on with this unplugged project. I’ll
start with the demonstration just to give you an idea. Also, I suggest–so, I guess,
we have many–got engineers here today. Any sort of non-programming kind of people here
today? One and two, okay. I probably be going fairly quickly over some of the technical
concepts. Where it’s normally if I’m presenting this to people who aren’t engineers, we probably
spent–well, virtually three times as long on some of the concepts and dig in to another
data. But since you’ll be familiar with a lot of them, we’ll go a little bit faster.
And it’s all in the book, okay. You need three more, right. Okay. So, Greg has been helping
me out here with these black and white, squares which will be familiar to a lot of us as representing
the binary digits a little bit, fundamental units of everything that stored on the computer.
And when presenting this to young kids or even general public. I quite often start with
this demonstration where I’ve had–Greg, put up a random mixture of these binary digits
or bits. And I’m just going to add some extra ones to make it harder. And what we’re going
to do is a bit of–hopefully impressive magic trick with it. Running out of bits. There’s
some more here. Pick one in. Put one there. Okay. Now, actually, what I’m going to get–now
Greg is to simulate something going wrong on this digital data. So, it could be a CD
with a scratch blending on it by flipping over one of the bits. Okay. So, if you just
choose any bit and flip it over for me. Yup. Okay. You can try this at home. You know with
coins or cards or anything that’s got two sides. So, we got one flipped over. Just one.
Okay. It could trigger which one slipped there.>>Only one?
>>BELL: Just one. Yeah. One for everyone one. That’s right. And my job as a computer
scientist is to try and put this thing right. So, I think the one that you flipped over
might–I think that it be that one here. It was, okay. Thank you very much. And so, how
is it done?>>Parity.
>>BELL: Parity. Thank you. So, Greg had put down most of these cards here. And I put down
the extra parity ones, to make sure that number of white in each row was an even number. Okay.
So, there’s there, make it white to make it up to an even number. There’s four there.
So, I’ll leave that black because four is an even number. And down–same with the columns.
Three there so, need another white to make it an even number; 2, 3, 4, 5, 6. And 1, 2,
3, 4, 5. So, we need a white one there. And by the way, if you’re out at home that bottom
corner one will be correct for both the check program, the check columns. So, that’s a good
little check that–while you sort of talking and things you haven’t got one of them wrong
or at least you got two of them wrong. And they can be done with any sides obviously
and was–you can do it with coins or caps or whatever is at hand. But the whole point
of this unplugged thing is we take a concept like parity and we turned it into something
that’s kind of fun, maybe it’s big right there if we do it on tables with cards. And then
typically, would–yeah, would’ve start reasoning about it with kids. So, what happens beyond
this? What would happen if he’d flipped over two of them? Okay. And kids pretty soon work
out that if you flipped over two you can’t be sure exactly which pair had been flipped
over. So, if I say–if Greg had flipped over those two there. Then the fact that there’s
an odd number in each row and those rows and those rows, tells me that there’s something
wrong there and something wrong across there. But it could’ve been those two or it could’ve
been those two. Because when you flipped over one, it’s one row and one column that’s got
an odd number of white cards and let them see if therefore that you’d–that identify
the–exactly which one was flipped over. And so, then you one last trick of white–with
magic trick, you explain it to the audience and then you take it one step further and
say typically, I’d think get a kid to flipped over two. And I sometimes have an assistant
and the assistant will say “Oh, its ready now, Tim.” And–or it’s ready now. Okay. And
whether or not they use my name, it’s the one bit code to say whether it’s the top right-hand
one or the top left-hand one. Okay. And so, then you can get the right two. And leaves
almost a bit of puzzling to do. I had some long arguments with kids afterwards about
how it might have been done for doing two. So, it’s just a warm up to the general idea
of what we’re on about with this. And we started this. It sort of came from three things all
happening at the same time. Oh, we’ll move this over, thanks. So, one was–I was involved
in some music education and trying to communicate some of the boring subjects to kids. My kid
started school and they asked me to come and give a talk about computers and if you bring
along computer, it’s kind of a bit boring for the kids because they’ve seen computers
and what’s the big deal. And also we had a science [INDISTINCT] up in town. And they
were interested in displays and activities that would sort of show computer science to
kids. We can’t just put in a computer running software that they probably used at times.
So, what do you do? And I start looking how people popularized science topics. And a lot
of people who involved in popularization of science would take a topic that might not
be interesting. You go into a class and say, today we’re going to do statistics. And they
might not be that interesting. But if you say today, we’re going to lotto. Then suddenly,
it becomes a lot more interesting, which is just statistics with long notes, right? Well
today, we’re going to do viruses maybe not so interesting. But if you say, today, we’re
going to do snort. Then suddenly, it’s interesting. And there is one science festival I went to
where there was a talk that had snort on the title. And all the 10 to 12 year old boys
were going along to it. I mean, what could be more interesting. It was actually just
about viruses but then. Chemistry has it, you know publicized generally, using explosions,
okay. And the thing I’m worried that the next generation of chemist is probably going to
be a bunch of pirate maniacs because they’ve been to all these demonstrations using explosions.
With physics, pretty much the same, blowing things up, lightning and all that sort of
stuff. So, we’ve got this environment with all these scientific things that being popularized
with explosions and fancy things. But what do we do with computer science? And that’s
where the unplugged thing grew. And I meet with a few other people who are thinking like
this and we pulled ideas and tried them out over the years and gradually, put them together
into a bunch of things. So, first of all, there is a bunch of about 20 activities that
we have developed, which all have been tried and tested and work pretty well. And I’ll
show you a few of them so that next time, you’re ask to go and explained it to someone’s
class or some sort of situation where the people [INDISTINCT] and computers, you might
be able to use some of these. There’s also two books that we have developed. And one
of them is a bit more technical. The other one is design for elementary school teachers
that sort of age group and that sort of background. And they have all the handouts, some music,
activities on them and follow up and explanations about how all these things work. There’s a
show that we have developed and generally, this is being run in the middle of winter
in New Zealand in June. And it’s been sold out. Lots of people come along to it. I think
actually, when I see the computer science and the title–I think that we’re going to
show them how to stop, you know, the computer from crushing or something like that. But
from the surveys, we found out that they actually get a lot out of it. These are website. And
I’ll give the URL for that at the end. And a lot of these things are available directly
on the website. There’s a bunch of videos. And if it–one I just–so, we’re working on
a new set of videos. But I’ll just give you an idea what we’re on about with a video and
other activity. This is available on video.google.com. The computer science unplugged.
>>Welcome to computer science unplugged.>>BELL: Okay.
>>These are a series of [INDISTINCT]>>BELL: We’ll play that out in–it’s just
a three minute video. There’s actually three videos there. We’re hoping to make a whole
series of them, illustrating all of the activities. This particular one is not the one I was going
to show it. She just count the dogs. Let’s just skip to sorting networks. Okay, so it
goes through and explains how a lot of the output you see on computers are sorted with–or
sorted by name or age or arrival of an email date or page rank or whatever it is. And,
this is a parallel sorting algorithm. And what’s happening here is we have this chart
on the ground and two children follow along the arrows or the lines. When they meet, they
compare their numbers and this–the smaller number goes out the left-hand line, the larger
goes out the right-hand line. And so this is a parallel sorting network. We get three
comparisons happening at once. It’s sort of conveying the idea of parallelism; the idea
that we want to get this as fast as possible, get as much parallelism as possible. And they
can now sort it which is kind of fun, actually. Then we get to bigger numbers and it makes
a pattern. Then we can develop bigger sorting networks. When we did this video, I’ve had
a great idea at the end, to just throw them all up in the end. And in three seconds later,
I realized it wasn’t such a great idea but it made a good video. The–so with the sorting
network, you can start talking to the kids about–okay, we’re going to–what so we have
to sort eight things, you know, what sort of sorting network would you have. We start
off with three and two and easy ones like that. And then we can talk about parallelism
and how wide can it be, why can’t–you know, if you got six values being sorted, why can’t
it be more than three comparisons wide and all that sort of thing. All right. So, we’ve
got videos. We’ve actually done some outdoor events. This particular illustration here
is “myths in the park”. A bit of not theory on this particular case, which is not directly
computer science but–in the background, that orange on the ground there is actually a sorting
network as well. We have an event–public event. People could come along to the park
and do myths, and including for the computer science. That’s–the biggest sorting network
of Dan is 50. So, if anyone ever does more than 50 people sorting, you can let me know
and we’ll put it up on the webpage. And we built a new building at a university not too
long ago. And as part of the landscaping, we put in the computer science garden. So,
in this garden, you might notice that there are seven bridges. And when I have a bunch
of school kids coming out and they’re getting a bit rowdy in the classroom, we go outside
and tell them to solve the “seven bridges problem.” So, they have to cross every bridge
exactly ones. And it can’t be solved. So, that’s used to give me a good break from the
kids while I ran around trying to solve it. And then when they get suspicious and saying
it can’t be solved, then, we try and get them to, you know, prove it, you know. And some
of them actually manage to reason through–say, the reason is that because the degree of the
nodes is too many with an odd degree on it, right? And, then I use that language. But
they manage to reason that you need to have an even number of bridges and things like
that. At least some of them do. This is the show. That handsome dude there is Arnold the
“Wonder Parrot”, actually. And Arnold tends out to be the star of the show. Small, fluffy
animals will always upstage. Here, he got in as a gag because of the parroty trick.
Okay. But it tends out [INDISTINCT] they like all sort of things, but the one thing that
almost everyone liked was Arnold, the Wonder Parrot. The books that I’ve talked about–I’ve
heard a lot of people ask to translate them into their own language. And so, in fact,
the Korean version of it has just come out and you can order it as to [INDISTINCT] as
you want. And there is two Chinese versions, traditional and simplified Chinese and production.
And there’s even a Swedish version underway. And in fact, there’s actually about ten languages,
one or another person. I just got a request three days ago to–for a Turkish–to do a
Turkish translation. Fair enough. If you really want, there’s actually an Uzbek translation
underway. So, I got an email from Uzbekistan where an aid agency was working with kids
and they wanted to do computing in the schools, but there’s no computers. And so, this was
great because they could do it without computers, that they wanted to translate into Uzbek.
So, cool. So, I’ve talked about the “parrotism”. Let me talk a bit about what the goals are,
in case they’re not obvious. So, the first one is I want to communicate to people what
computer science really is, because, I think a lot of the people–if you ask a bunch of–especially
sort of, 12 year old, 13 year old kids, this is where they’re making decisions about what,
you know, career, direction I want to take. If you ask them what computer science does
long hours in the web, sort of thing. And well, some of those things might be as big
to being a computer scientist for some people. A lot of it, of course, involves team work,
logical thinking and a whole lot of other schools. And sometimes people get counseled
against doing computer science because they are good at working in teams and relating
to people and so on. And we want to try and communicate a lot of those sort of ideas.
I want to reach minority groups, you know, and disadvantaged groups. And I’ve talked
big minority in computer science, of course, is woman. And generally, the kind of environment
that is in schools for using computers is one that’s probably doesn’t always appeal
to women. And you have a lot of these puzzles and interactive team games and that sort of
stuff do. And the problem solving kind of side of it does. So, sort of, by then saying,
you have to learn programming, and then we might lead you to computer science. It’s like
you can do some computer science. And by the way, if you want to do it on a computer, you
might need to learn programming to do that. We obviously want to create interesting computer
science especially the demand for computer science graduates is increasing rapidly. The
supply is decreasing rapidly. And I think a lot of companies are getting very worried
about the supply and demand situation. We use it to promote our own courses. If we’re
invited to go to a school, then this is–gives us a tool to actually interact with kids.
And especially, when we try to influence decision makers, kids making decisions about their
futures, but teachers and parents have a big influence, you know; the parents read the
newspaper, they hear about job losses and outsourcing and things like that. They have
an influence on their kids. And likewise, teachers, you know, they might say, “Well,
you like working on your own and you don’t like communicating with people and all that
sort of stuff, why didn’t you do computer science.” We really want to try and get the
message across to some of those people that, in fact, maybe it involves more than just
the [INDISTINCT] thing. And we have fun. Maybe that one should be first. In terms of who
this is being–the audience that we’re delivering this to, I talked about the family shows that
are really popular and which is, probably, more entertainment than education. But, you
can do a lot of these things, and some of the kids will get something out of it in other
words. Others will just enjoy it and that’s okay. School classes, we can actually sit
down and do exercises and do a more thorough job of looking at some of the concepts. School
assemblies, we have large groups of kids together. Sometimes, they get together once a week or
something. And you might have 500 kids there. Some of these are quite good in the large.
So a lot of these activities are very big and theatrical, and that makes them easy to
deliver in that sort of situation. In New Zealand, at least, we have quite a strong
movement called “SeniorNet”, which is senior citizens who have typically board a computer
so that they can send email to their grandchildren. And then they discovered that they need computer
support. And they get together and help each other with their computers. And generally,
they’re very capable people but they’re completely new to computers. And give them–people to
give them talks and so on. And I found that a lot of these illustrations are very useful
in the talks. They get them very well. And it’s even been used in a trial. In fact, one
of the–one of the methods–so, that compression is near that I’ve worked on. And one case
whereas an expert witness, there was a method that involved LZ coding. And at that time,
when there’s this million dollar–multi million dollar [INDISTINCT] going on, my son was writing
out a story. And he got a bit lazy. And instead of writing out the word, he would sort of
find the word, use the word before and put a little arrow pointing back at it. And I
was sort of going to tell him off. And then I suddenly realize that, in actual fact, what
he was doing was LZ compression. So, what we’ve got here is [INDISTINCT] missing and
to fill that one. And what I’ve done is I followed that arrow there to where it’s occurred
before and, so we can fill in all of that text just by following the arrows. And then
here, we’ve got a really big chunk of text. And we follow the arrow back to where it is
and get a big chunk. And now, the system has kind of learned that big chunk. And they can
replace it like that. So, simply [INDISTINCT] LZ compressions. Sometimes it’s called [INDISTINCT]
zip, gzip, and ping, and gif, and a whole lot of situations. But it’s–we can setup
this worksheet for kids to work on, and then we can give them some text and they can try
and see how many things they can replace with where they have occurred before and so on.
Because, the real LZ methods don’t use arrows. They use two numbers right when it sees how
far back the arrow points and how many characters it’s pointing at. Somehow, we’ve removed all
the zeros from these slides. So, let me just put them in. In fact, so it’s 10 minutes and
that’s 30 minutes. So, let’s continue with the scene here. So, we have to show you that
is–can I give you of sort of a ten-minute Science seemed to sort of show, you know,
with the slide, you know, 3 o’clock this afternoon. There will be a show in the auditorium and
we’ll explain some concepts from Computer Science [INDISTINCT] about a one-hour show
which is the one that we run as part of this mid-winter festival. Usually more than about
an hour we find that no matter how much fun the kids are having they tend to lose concentration
after about that long. With a new–all of these things there’s always a balance between
entertainment and education level. And sometimes I think it’s important not to get too hanged
up on trying to educate people about every fine detail but let them just enjoy it and
think through the concepts on their own. But generally I’m trying to provide some sort
of follow up and these follow up material on the internet too. So, for example for the
Parity one that we did before we were looking–that’s basically a Modular 02, area correction [INDISTINCT]
sum, Okay? Just adding things up Module 02 and then we can follow on to other area of
correction codes. So, for example ISPN numbers, the last digit of an ISPN number is a check
digit. Did you know what modulus the check digit on ISPN is?
>>Eleven.>>BELL: Eleven, yeah. Okay. So, it’s Modular
11 which means those numbers between zero and ten. And if it’s a ten, the digit that
is used to represent is an X. So, in principle one in every eleven of the books in your library
will have an X as a check digit. And it just means that’s a number 10. Okay. And we give
the kids the formula for the check digit and they can go to the library and check that
they all add up. And, you know, what would happen if the digit was typed in incorrectly?
What would happen if two of them were swapped around and they can experiment with all of
those little things. Another really important principle I think with most of the kids is
to get the answers from them. So, for example with the parity thing there, I mean, I–we’ll
explain this parity because most of the audience know what parity is. But with the kids, you’d
set to get them to count the how many what’s squeeze they’re out of it to figure out if
it’s an even number that figure out that there’s an odd number for themselves. And what I want
to communicate there is that they probably act capable of figuring out these concepts
from Computer Science for themselves. And if they can figure out that concept maybe
they’ll go and to deal with some of the problems that we haven’t solved. Well another problem
with education I think is that because it has to be tested. We tend to have a Science
book that contains everything they need to know about Science. They’d learn it all and
if they can get all that right. Then they passed the test. But in actual faith there’s
more in science that we don’t know of them but we do know, right? And the more we find
out the more we find out what we don’t know. And it’s the same in Computer Science. I mean,
there’s lots and lots of problems that we don’t know how to solve [INDISTINCT]. There’s
lots of things that we’re still trying to do. And that’s what I guess keeps us Computer
Scientist some business. But I think a lot of children and the general public would see
that the main events is that Computer Science is can be get from, you know, three Gigahertz
machines to six Gigahertz machines or something like that. But one of–let’s say for example
NP completeness right under the biggest questions in Computer Science. You can deal with quite
easily because it’s about exponential explosion. And it’s kind of humorous, right? You can
take a small problem like Math coloring or what, interpreting cells, Math problem or
something like that. And kids seemed realized that these things are really intractable with
these just two many things to try out. And they can wait out how long it would take if
you could do a million or billions operations if you see [INDISTINCT]. The whole infeasibility
of these problems becomes a bit pretty obvious and because that solved problems like the
parity one, the one we’re trying to think. Well, maybe if they get the Math right and
they work on it they’ll be able to solve some of the other hard problems that we’re trying
to deal with as Computer Scientists. I just run through a couple of the activities that
we’ve developed. Um, just to give you a bit more of a feel for things. Binary numbers
turns out to be a lot of fun and I guess moderately simple concept but very fundamental to everything
that happens on Computer Science because everything is just bits. And these two main ways that
I presented, one is getting a bunch of kids up in front of the class as I illustrated
here. And each one has a dot or number of dots on their card. It’s either visible or
not visible. In fact there is a black and white card because it corresponds to the black
and white that we had on the parity. Okay. So, you get them. One my colleagues does this
way where each card–so each child holds a card and now they had to hand it up or they
held a hand up to which means the audience can kind of read things up a bit more easily.
But either way you get this binary numbers that’s 10101 there. Now, to decode that binary
number you don’t even need to be able to add. You just need to have it count up to 21. And
I [INDISTINCT] there’s 21 dots on the–on the picture. Now, making reasons with the
kids like, well, is there another way that we could have done 21. That card with 16 dots
on it. What if–if that wasn’t showing we can’t possibly get 21. So, we have to had
the 16 and you kind of developed the [INDISTINCT] over them for completing it and so on. Incidentally,
it’s–just giving out the cards has been [INDISTINCT] give out the one card and then the two cards
and ask them what comes next. They’ll figure it out for yourself thing. Normally they’ll
three, put out the four. No explanation but then typically kids will either say six for
the next one. You know, 1, 2, 4, 6. And then they’ll realized that, no, 8, is the next
thing in the pattern and usually you get up about a thousand and 24 before they kind of
run out of steam. It can also just be done on disc so we could give the kids a set of
cards. And each one can play around with the cards and try to get the right number of dots
showing. Just things that maybe obvious to us but are there–is there more than one way
to represent the number five? Okay. What’s the smallest number? Generally, they’ll say
one and then after look [INDISTINCT] they’ll say zero. What’s the largest number? The idea
that the largest number is you double the biggest card and subtract one. All those sort
of patterns that come up with the powers of two. What would the card be, you know, if
I card deal on the table. How many dots and typically they’ll say, “Well, maybe it’s 0
or maybe it’s a -1.” And eventually someone will reason that it’s actually got half a
dot on it. A picture you got to see the cards and they got a half dot and a quarter dot
and so on. And can [INDISTINCT] a fictional binary numbers. Then moving from that unto
just my so called ASCII code which [INDISTINCT] that, how would you decode these as characters.
And again, kids will figure out for themselves that you should use a code something like
that on there. And then introduce the idea of modems communicating using beeps and we
use a low beep and beep for zero and beep for one. Okay. SO, I’ll send you a message.
I should be able to figure this out. So, left to right is the ones in zeroes. So, that’s
beep as zero and beep as one. Okay. Beep, beep, beep, beep, beep, beep. What would be
the–Yup, H, yup. Here we go. And here’s the next letter. Beep, beep, beep, beep, beep,
beep. All right. Okay. And that’s my [INDISTINCT] institute okay? High. And then we can talk
about how, you know, the modem it’s actually go a little bit faster than there and they
make awful sounds and so on. Did it at one school and the kids who went out into the
playground afterwards and were communicating to each other like this because it’s actually–it’s
a simply enough code that you can kind of memorized most of it to work it out and you
hit as you go along. And look [INDISTINCT] just what we’re getting carried away of coding
here. So, base 1 coding we generalized from base 2 to base 1. Okay. Where each places
was one time as much as the previous place. So, here’s the numbers one, two, three, four
five using just one digit. And, you know, where else is that used Telemax, counting
on your fingers, call telephones and you go, tic, tic, tic, tic. And most important application
of this coding and you’ll use a birthday cake. And in fact one of my friends went to a birthday
party with ahead a hundred candles on the cake. And you’re probably aware that as you
get one more candles on the cake its gets more, more dangerous because you kind of get
this up [INDISTINCT] from the flames and this particular occasion actually the cake turned
into a molten ball of wax and set light to the ceiling and that was either the party
they had to get the fire brigade in. Computer Science is so risky. Each candle can either
be lit or not lit. Okay. Okay. So, with five candles, what’s the biggest number we can
do is 31. Okay. In fact, the sum went on 64 is much more significant because that’s when
you need one each of the candle on your birthday cake right there. Also, fingers instead of
just count one to five on one hand. Each finger can be either up or down, right? So, it’s
one, two, three, four, you have to be careful with four, five, seven, eight and so on. If
you realize in New York I find out that the taxi drivers used a digital communication
system. I was driving around New York and they gave me guidance on what I should be
doing using digital signals usually the number four. So, you know, like don’t slow down for
an orange light. That red light doesn’t mean you should be stopping. Let’s just keep moving
here and sort of missed, just like that. Okay. Image compression, for this one, what we do
this is–someone said this is made of a can of beer. But it’s actually spray paint can.
Actually I didn’t–I didn’t bring a spray can with me today because I just got of the
airplane, but I was giving this talk awhile ago and I saw someone the previous night and
they asked if I want anything, I said “Yes, I need a spray can” for this and a pack of
matches for the birthday cake. And they went into a gas station at 10 o’clock at night
and asked for a can of spray paint and a pack of matches which I–you try that if want to
have fun. What we do is–he’s Arnold again. Arnold. Is the feature in the show. So, we
look at how Arnold–how the image of Arnold is coded using pixels. We can talk about how
pixels are just paint by numbers, I mean, it relates back to the bits, and the more
bits you have the more accuracy of how the image you have and so on. But this particular
code here that I’m using is a run-length code and it’s the one that’s use in fax machines
and it’s got the zeroes, it’s missing, you know, it’s missing a couple of key ones here.
And what it represents is the first formings that we’ve got for–it’s strictly black and
white because it’s a fax four white pixels followed by 11 black pixels followed by two
white pixels. And that is the image that I’ve started to do here. So we’ve got four white
pixels 11 black, two white and so on and we’ve just got the last three lines left to do and
at this point we pull out the spray can and have a giant [INDISTINCT] and print pixels
in effect. So, I have a little mask, you know, this we’ll use for spraying pixels through.
If you’re trying this at home, practice first because of it’s a wee bit [INDISTINCT] to
get nice even pixels but it is possible. Now you could do that just using a Power Point
presentation but it’s–there’s a whole of drama when you get out the spray can and you
get out the–and there’s lots of fumes as well by the way. But, it’s–in fact one of
the things about all of these in some ways it’s just [INDISTINCT] Computer Science. It’s
actually just doing it with real things instead of a keyboard and a bunch of pixels on the
screen. And I think for some learners that’s really important. Like there are some people
like to hear it, some people like to read it, others like to actually experience it
and it can make it more memorable. That’s the final picture by the way which if we zoom
out, in fact that’s the original one that it was taken from. So, it’s a coffee cup which
of course is very relevant in computer science [INDISTINCT] Okay. Information Theory or Shannon
Theory. So, like a challenge how are we going to do this? This is a retro fitted activity
and one of the things that tends out to be really good for this is the game of 20 questions
or basically I’m going to give you yes or no answers. So, I’m thinking of a number between
1 and a 100. You can ask any question you want but I’ll give you a yes-no answer. So,
what question do you want to ask?>>How many questions do we get?
>>BELL: You can have as many as you want actually.
>>Is it greater than 50?>>BELL: Okay. Is it greater than 50 is the
question. The answer is no. Okay.>>[INDISTINCT]
>>BELL: Okay. Yeah. Okay. I’ll put you out of–it was 27 by the way. Okay. Just–yeah.
Okay. And I was doing this the other day and someone said is it less than 50? And I said
yes. And then someone else said is it a 100? Okay. And, well, exactly, which actually it
was great illustration of information theory because what is the probability that I’m going
to say no to that is answer? A 100%, right? You know that’s less than 50 so the answer
to is it a 100 a 100% probability of that message. What’s the information content, how
much more do you know now that I’ve told the answer? Zero. Hundred percent probability,
zero information. Okay. That’s Information Theory. That’s what it’s about. It’s the relationship
between probability and information content. So, all right. Okay. Here’s another one. I’m
thinking of a number. I’m not telling you anything about the range now. What question
do you want to ask?>>Is it an integer?
>>BELL: Okay. It’s an integer. It’s a positive integer I’ll tell you that.
>>How many bits in its binary representation, yes or no.
>>BELL: It’s a yes or no question. Okay. So, how many bits in its binary representation?
But then you could guess each others bits using yes or no questions, right? Yeah. Okay.
And–which actually is equivalent to saying is it less than two, is it less than four,
is it less than eight, and so on. And that is actually quite a legitimate way of representing
arbitrarily large numbers and there are other ways of doing it too. Generally after doing
this we can come down to looking at a decision tree so, if I tell you I’ve got a number between
zero and seven, then possibly the first question you would ask is, “Is it greater than or equal
to four?” And suppose I was thinking of the number five, I would end up saying yes, no,
yes. Two points to make here. First of all, the yes, no, yes is just the 1 0 1 that we
were doing with binary before. Okay. So, the path down the tree is the binary number. But
the other one is that if you and I were identical twins like we were computer programs that
always did the same thing because the same computer program will generally do the same
thing. Then I can anticipate what your question will be and so, I can just say, “Oh, the answer
to a question was no, ye, yes.” Okay. And that’s how a lot of data compressions work
is that they anticipate what the questions are going to be and they just see out the
answers to those questions. Now this is a trivial sort of coding, to saying that everything
is equally likely but suppose now we’ll guess a sentence. So, I’m thinking of a sentence.
What’s the first letter?>>Is it Q?
>>BELL: Is it Q? No.>>W?
>>BELL: It’s not W.>>Is it E?
>>BELL: It’s not E.>>S?
>>BELL: Not S.>>T?
>>BELL: T, thank you. Okay. That cost you five bits of information. Okay. Five zeors
and ones. So, five yes’s and a no. Okay. What’s the next letter?
>>H-E>>BELL: H and then E. Anyways. Okay. Cost
you one bit each to get that information. Okay. What’s the next letter?
>>Space?>>BELL: Space. No.
>>R?>>BELL: Oh, very good. Okay. Two bits. Higher
information content okay because there was a bit of surprise there, a lower probability.
What’s the next letter?>>T?
>>BELL: T.>>Space?
>>BELL: Space.>>[INDISTINCT]
>>BELL: Oh. It’s just like working with the kids. The kids are great though. I mean, one
of the things about working with kids–space [INDISTINCT] okay, for those who didn’t hear–is
that they don’t mind asking all sorts of questions and they don’t mind saying, “But you told
us something else before,” and in fact once or twice we’ve actually discovered things
that we haven’t thought of because, you know, the kids challenge you on stuff. One of my
colleagues was doing something with cryptography, you know, using envelopes and messages inside
envelopes and someone had well, got it wrong basically and put the wrong things in the
wrong envelopes and it still worked. And afterwards they looked at it and they realized that in
fact the system that people have been using for cryptography didn’t rely on it’s matching
up to where exactly to still have a high strength of encryption. And so it published a paper
questions. I appreciate that question too. What have we got? T-H-E-R-E space. What’s
the next character?>>I?
>>BELL: I. very good.>>S?
>>BELL: S.>>Space.
>>BELL: Space.>>A?
>>BELL: Not A.>>N?
>>BELL: Not N. Oh, sorry, it’s N, yeah. Very good. I used to be able to get that quickly.
And we’ve got this idea that some letters have high information content some have don’t,
so. And one of the illustrations in the textbook is if you said “Today I got to ride to school
on a spaceship,” low probability high information content. And for those of us who’re really
interested of course we’ve got the negative logarithmic relationship between them. I wouldn’t
normally get into that with elementary school kids. Okay. Basically there’s a lot of math
and number stuff in there but there’s a lot more of computer science in there and human-computer
interaction I think is really important area that we miss out on and quite often illustrate
this with the Stroop effect in psychology. Someone to put up a word and you just kind
of call out what color is the word is written out. Not the word but the color that it’s
written on. Here we go.>>White.
>>BELL: The color’s black. Okay. In new Zealand we call this black. Okay. Just humor me here.
Okay. Next color.>>Red. Blue. Red. Yellow. Green. Black.
>>[INDISTINCT] my glasses [INDISTINCT]>>BELL: Okay. Yeah. Okay. He’s got the idea.
So, you take your glasses off. It’s actually a lot easier. Yeah. And so on. We can do it.
What’s this got to do with computers and there’s lots of examples where this comes up but one
that every kid has probably come across is if you view Microsoft Windows, you’re looking
at the screen what’s the written on then back and that you press to stop the computer?
>>Dell.>>BELL: Dell. Yeah. Okay. And, you know,
who thought it was kind of strange that you press the Start button to stop the computer
and most of them will say “Everyone knows you press Start to stop the computer,” and
point out the first thing in the Start is to Shut Down or Log Off or something like
that. And that off or restarts the computer and so on. Now that’s not a big deal. People
got used to it and it’s a kind of culture thing around that in fact with almost any
audience you can demonstrate [INDISTINCT] ever been frustrated by a computer. Has anybody
ever found a [INDISTINCT] message that tells them not to do what they need to do, you know,
that sort of thing. And, well, in fact quite as safe as anyone of you have felt angry of
your computer, okay, and the violent thoughts towards the computer. And this is my solution
here by the way. This is the stop button. And you cannot–you can’t discuss about–you
know, this new interface would probably confused people on that sort of thing. So here’s a
very familiar if not out-dated error message which sees, you know, it’s either of this
problem or this problem. I’m not going to tell you which one. Okay. Now, let’s just
have some fun here today. But I will tell you the solution, all right. Replace the disk.
And what happens if you replace the floppy disk, you get the same error message. Okay.
That’s like the printer is not working check the printer cable and try again. Then the
result printer not working and check the printer. And what you find as most people have learned
to disbelief error messages or as soon as it comes up or click the okay or the cancel
button or whatever didn’t [INDISTINCT] it gets people thinking about interfaces and
pops the idea of that we need to think a little bit or more about the person using the interface.
That’s one of my favorites, so, yeah. Cannot delete the file, delete some files and try
again. Okay. And actually, I mean, you can talk about what actually might caused that
kind of problem. Taking it, unplugged away from the computer, so here’s an illustration.
This is a road in New Zealand. If you go across the west coast you come across this round
about or roadway. And what you’ll notice is someone has put a roadway line right to the
middle and it really is, a roadway line right to the middle of it. And when–as you approach
the intersection you notice that there’s actually something like 14 signs which really says
a bad design means to you. They have lots of documentation. All right. This is my favorite
one. This is a road and a rail bridge shared. It’s the road that have to give way by the
way. My favorite one is assigned for the cyclist. Okay. It’s a little bit backward in New Zealand
but we do have our ton bits of road. In terms of activities for kids, we’ve got a thing
with designing doors and figuring out, you know, what the affordances are on the doors.
And especially what getting across to kids, the idea that the system is the machine and
the user that, you know, rather than a really good system isn’t just the box that goes really
well, but it’s this thing here, the user plus the machine and if we have to understand this
part of the system and how it works. And maybe we need people who know a little bit about
psychology and sociology and team work and interaction and all that kind of thing to
be designing the stuff that people were going to use which is news to a lot of kids. Okay.
I think, actually, that’s probably, you know, I’ll just do a sorting. So one of the activities
with sorting we have balance scales and a whole lot of weights that look identical,
so–anyway you can compare them as by balancing them and, of course, they completely simulates
the situation you’ve got on the computer with a binary comparisons. It’s pretty easy to
get kids to figure out selection sort. You know, trying to find the heaviest one and
then put that aside. Find–seeking the heaviest and put it aside and so on. But you can even
do a quick sort, you know, just a pick away at random and divide them in the small ones
and the bigger ones and then, of course, they’ll deal with those. And let’s talk about Bozosort
which if you haven’t come across it, it’s basically mix them all up and find out if
they’re sorted and if they’re not mix them all up and try again and see if they sorted,
which, of course, has some exponential complexity and it’s about–it takes a long time, especially
if you got one kid trying to do it that way while someone else is using Quicksort. Okay.
All right. And now I’ll show you the sorting network. I think that’s probably everything
enough to give you flavor of what the things are about. There’s a whole bunch of activities
there. And the goal of the project is just to make this available for people to use,
so a lot it is on our websites. There’s a book that’s about a much more complete list
and we’re just starting off a new project where we’re going to have more videos and
get lots of people contributing ideas for this but we’ll only put them up if they’re
being tested and we know that they actually work well. It’s very easy to come with things
that don’t quite work and vice versa. Actually, one of the activities that goes down incredibly
well is one with–the story line is there’s a bunch of pirates offering a commuting service
between these islands, okay, as they do. And they don’t publish a map, so you go to an
island and you have to say I want to take ship A or ship B and we actually have adults
posted around the building or even around the premises and the kids have to run up to
an adult and–who’s an island and they’ll say, ” I’ll take B.” And they say, “Well,
you have to go over there.” And they race over there and find out where they go. And
then after awhile they realized they should be drawing a map of this and then they realized
they should actually be labeling them with As and Bs, so, because they get sent back
to where they start and so on. And the goal is to get to Treasure Island. And it’s adventure
to get there and the first [INDISTINCT] wins and all that sort of thing. And then we can
start talking about–well, what would happen if instead of islands and so on, I just represent
the map with circles and arrows and supposed that’s the island that you started and I’m
gonna represent treasure island over here with a double circle and we’ll label the map
like that and we can start reasoning about what would actually get you to the treasure
island. Okay, otherwise known as the exiting state. And kids don’t need to be too old.
It didn’t take so very well but they can figure out what it is. And then that begin relates
back to the parroty thing, right, because the exit–well, in this case the treasure
island means that there’s an error that identifies rules and you’ve got an error of the As and
Bs of blacks and whites. Okay. But then in the book, we’ve got things like [INDISTINCT]
that can be constructed by following around these finite state machines. And another exercises,
interfaces, so we can get someone’s digital watch with let’s say three buttons on it and,
you know, we take it a pile basically. So you’re watch is showing the time. And if you
press button A then probably it will be showing a stop watch. Oops. And if you press button
A again and maybe it’s going to let you set the time, and if you press button B here and
what happens–and so on. And we put together this finite state machine that explains the
interface on the watch. And generally it’s moderately complicated and it helps them to
understand that the interface isn’t just the bunch of buttons and like, you know, is–are
we going to use beige buttons today or green buttons or whatever or are we going to put
the okay button to the left or the right of the cancel button. But in actual fact that
this machine hidden under the surface that the user has to try and understand. And I’ve
got some finite state machines like microwave ovens and one of the video recorder. A video
recorder has just got dozen of states and lines going everywhere and it sort of makes
it obvious why so many peoples video recorders are flashing 12 o’clock because, you know,
the sequence you have to navigate your way through in the same way that they had to find
the way the treasure island. Okay. It’s a hidden finite state machine. They have to
try and find their way through it. And mostly we don’t bother reading the map or the documentation
and try to find the way through it. Okay. So that’s the taste of Computer Science Unplugged.
That’s the kind of things we’re on about. Always kindle your ideas, things that you
might have done as illustrations that work really well or activities and also comments.
Anyone that has done some of these things, we’ll track them out. And people always come
of new materials and new ideas perhaps to deal with them and so on. And I want to try
and click that together and make it available for general use. So, on that note, thank you
very much for your time. And if you do want a copy of the book, email me and I’ll give
a free one, PDF. Yeah.>>Any questions or…
>>So just–these are really cool stuff. Are other people doing those kind of like math
or chemistry and going to this extent and having this kind of manual or…
>>BELL: Oh, I get you. Are the math’s and chemistry people making manuals and so on?
There are–there are–especially, for physics and stuffs there are books about–there’s
a whole field called the public understanding of science. And the journals for public understanding
of science and so on, but computer science has tend to be pretty–too busy sort of, you
know, doing the stuff to write some of those–these things down. Yeah. But there are–yeah. And
this is also quite of a bit a math stuff too. There’s a math websites and things like that.
Yeah.>>At what age–how young are the kids when
they can sort of start to interact with this sort of understanding.
>>BELL: How young are they when they can start to interact? Some of these activities
often was like four-year-olds, mainly just sort of I can say are done with four year
olds. But, you see, I’ve done it quite so with four year olds. Okay. Because when you
think about it what’s–and if you got a bit of patience what required is not that high
if you got someone who can cope with a few instructions. And but I also use them like
with me university classes just as a one-minute illustration. You know like maybe at the start
or in the middle or something right there and especially something that I can say I’ve
done this with four year olds. So you guys, you know, should have no problem with it.
The age group that’s really important for us to aim is like 11 or 12 or 13 because that’s
when they’re about to bring some bridges. Like they might decide that they hate math
and they’re just going to do well enough to get through in it. And so I want to get them
excited at their and think, yeah, that’s what I want to do. I better get my math stronger,
that sort of thing. Yeah.>>Okay. That’s it.
>>BELL: Okay. Thank you.