WEBVTT

00:07.260 --> 00:09.840
All right, what he said.

00:11.980 --> 00:17.800
I want to talk today, a rather sensational topic, the six-year-old hacker.

00:18.820 --> 00:26.740
We're obviously not talking about first-graders doing penetration testing or anything like that.

00:26.740 --> 00:28.820
This is my six-year-old hacker.

00:28.820 --> 00:44.020
There will be no first names, because everyone you'll see in my presentation, and if there are comments in the code that's on the CD, all those names have been changed to protect the innocent.

00:44.180 --> 01:00.420
What we are talking about is the way we educate, or the way we're using computer technology in elementary schools nowadays, and some of the shortcomings that I've come up against with that.

01:00.540 --> 01:03.920
I feel like sort of a crotchety old man.

01:03.920 --> 01:16.140
I don't think I'm that old, but I sort of look back at when I was a youngster and say, gee, when I was back in the day...

01:16.140 --> 01:28.660
Anyways, the way this whole thing started was one day after school, I was asking my daughter, so honey, what did you do today in school?

01:28.660 --> 01:33.880
And she went through the normal list of things, and then she said, ah, and then we worked on the computers.

01:34.860 --> 01:41.780
And I was sort of surprised, being the small school that it was, I didn't even at that point realize that they had a computer lab.

01:41.780 --> 01:43.660
I said, oh, really, what did you do?

01:43.860 --> 01:46.440
She said, well, we did Mavis B game.

01:46.500 --> 01:48.640
I was like, okay, yeah, that's cool.

01:48.640 --> 01:50.040
You should be learning how to type.

01:50.140 --> 01:52.340
Then she said, and then we played Math Blaster.

01:52.340 --> 01:54.000
I said, oh, God.

01:54.740 --> 01:55.460
No.

01:55.920 --> 01:56.640
No.

01:56.640 --> 02:21.060
So I very politely introduced myself to the person that was doing computer classes in the afternoon and offered my assistance to sort of bring the computer lab into some sort of consistent state of repair and then started insinuating myself into his lesson plan and after about three months asked him,

02:21.060 --> 02:28.980
so what would you think if I took on some of the third graders and did some programming with them?

02:29.420 --> 02:33.640
And he sort of scratched his head and said, well, I don't know, do you think that's possible?

02:36.240 --> 02:52.780
Really the thing that I see a lot, I work as a networking computer consultant and a few of my clients are school systems, is I see a lot of underutilization of technology in the schools.

02:52.780 --> 03:09.940
I see a lot of computer labs that are used for all sorts of very interesting purposes that I'm not really sure are central to the educational experiences of the children.

03:12.260 --> 03:20.820
There's a lot of what they call computer-based instruction in the schools that really has nothing specifically to do with computers.

03:20.900 --> 03:23.280
That's fine, a computer is a tool.

03:23.940 --> 03:26.340
There's nothing specific about a car

03:30.120 --> 03:33.180
that necessitates you using it to get to work.

03:33.180 --> 03:37.900
Some people commute by bicycle, some people have a subway, whatever.

03:38.860 --> 03:40.700
Your car is a tool.

03:40.760 --> 03:44.740
If you use a computer as a tool to educate kids, so be it.

03:44.740 --> 03:46.920
It doesn't have to be about the computer.

03:48.700 --> 03:56.820
But what I do see is I see a lot of computers in schools that are there just because somebody was able to get a grant to put them there.

03:57.400 --> 04:09.460
And this kind of disturbs me because no one is putting any real thought into what the computers are used for and the power that they could be applied to in the curriculum.

04:11.620 --> 04:20.880
I do see a lot of good use of computers in the school systems given that we're all going to be growing up with these things.

04:20.880 --> 04:22.740
Keyboarding skills are great.

04:23.840 --> 04:27.140
This interweb thingy is wonderful.

04:27.980 --> 04:38.620
I see a lot of bad orientation towards the Internet and research on the Internet.

04:38.760 --> 04:43.420
But done right, it's a wonderful thing.

04:43.420 --> 04:59.760
And it's a wonderful thing when a 7-year-old or an 8-year-old does a report for class and realizes that they can go back and change it without rewriting a whole page of handwritten text.

05:00.080 --> 05:04.720
I can't tell you how many times I hear, do I really have to retype all of that?

05:06.980 --> 05:14.740
There's also an awful lot of really horrible stuff that computers are getting used for in the schools.

05:14.740 --> 05:38.500
I see a lot of edutainment and drill and kill software, Math Blaster, things like this, that I don't see what the purpose of this software is beyond operating as an educational surrogate, replacing valuable time that the teacher could be spending with the students.

05:39.980 --> 05:46.680
I see an awful lot of really ugly use of computers in the schools.

05:47.720 --> 06:09.700
In one of the two states that I work in, and I shall remain nameless for the time being, some of the educational standards in middle and high school actually specify proficiency in Microsoft Office applications.

06:09.700 --> 06:20.920
They don't say that you should be able to create a presentation for the purposes of influencing or informing others.

06:20.920 --> 06:25.660
It says you need to be able to make a PowerPoint presentation.

06:26.060 --> 06:28.780
And it specifies PowerPoint.

06:29.840 --> 06:36.080
I see a lot of bad research done, especially at the junior high and high school levels.

06:36.080 --> 06:49.180
A lot of plagiarism and very little education as to what is proper citation and stuff like that.

06:49.180 --> 06:54.900
And I also see some really weak keyboarding training.

06:55.040 --> 06:57.980
But that's neither here nor there.

06:57.980 --> 07:05.280
Also, the environment in which the computers are used is less than ideal.

07:05.280 --> 07:07.100
We have these computer labs.

07:07.100 --> 07:15.640
Everything in the labs is locked down, and the students are encouraged not to change anything on their computers.

07:15.640 --> 07:35.340
From an instructional point of view, and from the limited knowledges of many of the people that are in charge of running these labs and these experiences, this is appropriate, because should the students get into something inappropriate or should they change something,

07:35.340 --> 07:37.260
they don't know how to deal with it.

07:37.260 --> 07:42.640
Also, I see a lot of computer use in after-school programs.

07:42.720 --> 07:46.540
I'm just going to gloss through this.

07:46.800 --> 07:49.080
Many of the same objections apply.

07:50.160 --> 07:51.000
Okay.

07:51.460 --> 07:52.580
Sorry.

07:54.660 --> 07:57.160
So, I was considering...

07:57.160 --> 08:07.520
I was thinking back to my childhood, or to my teen years, and thinking, you know, what was it about the early computers that really fascinated me?

08:07.520 --> 08:18.920
You know, my first S100 bus computer, and then later my first TI-44 and my Trash 80, the Wang that we had at the high school.

08:19.280 --> 08:27.740
And I really got jazzed on the idea of taking this computer that, when you powered it on, did nothing.

08:27.740 --> 08:32.300
It provided you with a prompt, and that was it.

08:33.740 --> 08:43.120
And I thought to myself, well, you know, what is it that the kids now are missing that we might be able to provide for them?

08:43.200 --> 08:54.000
And I was thinking back again, and I thought, you know, a lot of what I learned on the computers was self-taught, and a lot of it had to do with, okay, the computer doesn't do what I want it to do.

08:54.000 --> 08:55.480
I'll make it do it.

08:57.660 --> 09:05.060
So, I decided that what we were going to do is teach programming.

09:05.060 --> 09:07.280
And I started with third-graders.

09:07.320 --> 09:11.040
Last year, I expanded that to second-graders.

09:11.040 --> 09:15.940
And this coming year, I'll be working with first-graders.

09:18.320 --> 09:34.180
And the purpose behind this is, I think that this provides the ability for kids to really explore the environment that they're in, something that they're given very little opportunity to do in most educational systems.

09:34.700 --> 09:43.620
I'm lucky in that my children go to a Montessori school, and this is integral to the curriculum, and was very lacking in their dealings with computers.

09:43.620 --> 09:50.440
So, I was trying to bring this into the general philosophy of what was going on in the rest of the school.

09:50.440 --> 10:05.240
So, when I was challenged immediately by the directors of the school that it was ridiculous to try to teach computer programming to third-graders, I said, no, really, I do think I can do it.

10:05.240 --> 10:09.560
In fact, it's been being done since the 1960s.

10:11.400 --> 10:15.500
So, I've started these computer classes.

10:15.500 --> 10:28.540
I take six to 11-year-olds, and I try to teach them that when you turn on the computer, it's not just for running prepackaged applications.

10:28.540 --> 10:30.340
It's not just for gaming.

10:30.340 --> 10:32.680
It's not just for exploring the web.

10:32.680 --> 10:41.660
And it's not just for that boring stuff that your parents do, like spreadsheets and paying the bills and stuff like that.

10:41.660 --> 10:51.890
The tool that I chose to use is Logo Programming Language, written at least in part by Seymour Papert back in the 1960s at MIT.

10:52.420 --> 10:59.260
And there are some nice versions of that that run under just about any platform you can imagine.

10:59.260 --> 11:13.680
UCB Logo runs under Mac and Linux, and there's MSW Windows, which is a derivative of UCB Logo, that runs under Windows.

11:13.960 --> 11:34.120
One of the things that you learn immediately when you sit a kid down in front of a computer and teach them the very rudiments, even the first three or four commands that they learn in a programming language, is they get really jazzed on the fact that they just made the computer do something.

11:34.120 --> 11:44.140
That they typed in some words, and the computer followed the instructions that they gave it and did something.

11:44.140 --> 11:54.380
They start to learn that this thing that they've only really thought of as a game console or an appliance really might have some other possibilities.

11:55.600 --> 12:14.560
The other thing that I did is, after I exposed the kids to programming in the formalized classes, I have an after-school program that they have named the Geek Dojo or Otakudo.

12:14.560 --> 12:19.240
My apologies to any Japanese speakers.

12:19.460 --> 12:24.580
That is a voluntary program open to all ages.

12:24.580 --> 12:29.740
We have 5-year-olds through 13-year-olds currently attending.

12:29.960 --> 12:41.320
It's a self-selecting program in which the students set themselves goals and work with me or work with older students to try to achieve those goals.

12:41.320 --> 12:47.360
Most of those are programming-oriented goals, but a lot of them have to do with more abstract stuff.

12:47.620 --> 12:51.320
A lot of the kids are interested in cryptography.

12:51.320 --> 13:01.240
A lot of them are interested, especially when you start to get to the 10- and 11-year-olds, into computer security.

13:01.620 --> 13:15.420
And a lot of them are interested in more mathematical pursuits that are more or less related to geeky stuff.

13:15.420 --> 13:28.560
I also run a summer school which is patterned after the programming classes, but is concentrated on a specific project for two weeks.

13:29.280 --> 13:46.980
The major thrust of all of this is to awaken some of the inherent hacking spirit that I think naturally exists in all children and to cultivate it.

13:46.980 --> 14:09.900
Because I think that a lot of this in our current environment is not being encouraged and a lot of kids that would develop these interests are in fact just going home and playing Xbox and not really realizing what other things there are out there.

14:09.900 --> 14:13.680
So we have a motto at Otakudo.

14:13.680 --> 14:17.300
It's fun to have fun, but you have to know how.

14:18.980 --> 14:21.680
So what sort of results am I getting?

14:23.180 --> 14:26.300
We start from the very basics in the programming class.

14:26.300 --> 14:38.820
I talk about immediately what is a program, why do we do it, and in fact when we start talking about programming we don't even deal with computers.

14:38.820 --> 14:42.900
Here's the first exercise that I give the students.

14:42.900 --> 14:54.440
They have to look at this picture and write me a set of instructions so I can select the right blocks out of the box and build this object for them.

14:55.860 --> 14:58.320
Obviously, hilarity results.

14:58.580 --> 15:04.800
And this actually takes an hour before they can program me properly to build this object.

15:06.140 --> 15:24.500
As I said earlier, I use the logo programming language, which is based on what are known as turtle graphics, which is important because this is accessible to young children because the graphics are all relative motion graphics, or at least they are at the beginning.

15:24.500 --> 15:40.660
You have a sprite on the screen that for historic reasons is referred to as a turtle that follows commands like forward, right turn, left turn, pen up, pen down, things of this sort.

15:41.440 --> 15:58.700
Most six-year-olds, and the majority of five-year-olds, can write you a simple program to draw you a square within the first 60-minute class given a collection of 40 commands.

15:58.700 --> 16:01.060
And here are some of the results.

16:01.060 --> 16:02.720
This is actual code written.

16:02.720 --> 16:11.020
None of the code up here is written by anyone older than seven years old.

16:12.760 --> 16:17.440
I have to admit, I did some indenting for clarity on two of the programs.

16:18.680 --> 16:26.580
The person on the left, again, who shall remain nameless, is the namesake of the talk.

16:26.580 --> 16:29.000
She is my six-year-old hacker.

16:29.040 --> 16:32.540
She is an amazing cryptographer.

16:32.640 --> 16:47.280
She is now seven and cracking double replacement ciphers on the basis of frequency patterns and things like that.

16:47.280 --> 17:02.920
On the right, you see some of my older students who are actually, in this photograph, constructing the web proxy that their school uses, of course, with some guidance.

17:04.520 --> 17:26.500
Other projects that they've done is that they've programmed their own games, worked with the Lego Mindstorms, and one of my particularly math-oriented kids really became fascinated with geodesics and geodesic periodicities.

17:27.140 --> 17:31.680
I tried to integrate this with their other class work.

17:31.680 --> 17:47.960
They did a semester on crystals in the upper grades, the fourth and fifth grades, and they worked on programs to create octahedral crystals.

17:47.960 --> 17:50.920
We didn't get to the tetrahedral crystals, unfortunately.

17:51.460 --> 18:02.400
And even within the last class, I'm afraid I don't have anaglyph glasses, but they even did three-dimensional crystals for us.

18:03.860 --> 18:21.140
If anyone's interested, this is sort of the progression of the skills that I've found empirically that various students are able to grasp at various ages.

18:21.140 --> 18:22.570
Some of these are ranges.

18:23.500 --> 18:37.160
Yellow sort of denotes when I can expect the most gifted students to pick up a concept, and green, when I can expect an entire population of students.

18:37.160 --> 18:49.220
I want to just show you some quick examples of some code that some of my kids have written.

18:53.700 --> 19:04.400
This was actually written by a five-year-old class after about three days of work in a summer class.

19:07.980 --> 19:09.960
Okay, not working.

19:20.730 --> 19:22.370
Maybe not.

19:35.910 --> 19:41.010
Okay, I'm going to just go on to some more advanced examples here.

19:44.510 --> 19:46.410
Okay, one of the

19:59.110 --> 20:22.170
challenges that I put to one of my programming classes, and this was a group of fourth graders, was to get their turtle, which is this triangular sprite down here in the corner, to navigate a maze, a simple maze.

20:22.590 --> 20:31.330
And this was their first attempt, which did a fair decent job at first.

20:31.330 --> 20:35.570
They figured out that if you bumped into a wall, you needed to back up and turn.

20:35.570 --> 20:39.390
But obviously, there were problems.

20:45.570 --> 20:55.110
The second attempt, they figured, okay, well, if I always turn the same amount, then perhaps that's going to get me stuck.

20:55.110 --> 20:59.310
So this time, I'll try a random turn.

20:59.450 --> 21:06.690
And believe it or not, if you wait long enough, it's rather unsatisfying.

21:06.690 --> 21:11.870
But yes, in fact, your turtle will navigate to the end of the maze.

21:18.600 --> 21:36.750
So it took them about four one-hour classes to finally figure out the excruciating 15 lines of code that was necessary to create a wall-following...

21:36.750 --> 21:39.230
Whoops, I got the wrong one.

21:40.090 --> 21:41.590
Let's just hold that.

21:51.330 --> 21:52.690
Here we go.

21:52.750 --> 21:54.810
That followed a right-hand rule.

21:56.570 --> 22:03.150
There's a false start, but as you can see, it finally does set off in the right direction.

22:03.150 --> 22:05.190
And as you can... I'll just let that go.

22:05.190 --> 22:11.090
And as you can see, it will reach its destination being the end.

22:11.090 --> 22:11.990
There you go.

22:13.950 --> 22:21.070
The other things that we've done is, as I said, I just have just a minute here.

22:21.070 --> 22:25.150
I do want to leave some time for questions.

22:28.970 --> 22:31.450
No, in fact, I don't have time to do that one.

22:31.450 --> 22:43.130
But they have done some simple side-scroller, sort of like old-school 8-bit side-scroller games using Logo, which was very impressive, the group of four students.

22:43.130 --> 22:44.830
One of the interesting things...

22:44.830 --> 23:11.630
I was listening to talk two speakers ago about women and hacking, is that actually at this age that I'm working with children, especially at the younger grade levels, third and fourth grade, there is a real curiosity, a real thirst on the part of the girls to get involved in this stuff,

23:11.630 --> 23:15.670
to manipulate the computers, to have the power to do this stuff over the computers.

23:15.670 --> 23:18.890
There are some differences in the projects I see them choose.

23:18.890 --> 23:40.430
Boys love the shoot-em-up games, love to program games, while girls love to do sort of interactive story-based games, to program interactive story-based games or movies, or to do things, mathematically-based challenges, such as cryptanalysis and stuff like that.

23:40.430 --> 24:07.250
But what I really want to give you as the takeaway message here is that this is a really different way, at least in my experience, of computers being used in the elementary schools than we've seen recently.

24:07.250 --> 24:13.590
There's been a real dumbing down of the computer lab from when I went to school.

24:14.030 --> 24:30.450
And this gets back to the idea that the computer is a tool not only to advance your education and to get further information off the Internet, but is a tool for exploration in itself.

24:31.290 --> 24:38.550
The kids really become very motivated and very self-driven in these projects that they come up with.

24:38.550 --> 24:43.150
And most of the projects are the ones that they choose for themselves.

24:43.150 --> 24:54.850
They, even as they get older, really get into things like hardware maintenance and taking responsibility for the computer environment at the school.

24:54.910 --> 25:15.990
Right now, of course, with my supervision and making sure that everything is proper and well-designed, my older students, and we're talking 12 and 13-year-olds, have taken over responsibility for maintaining the workstations and building and installing,

25:15.990 --> 25:22.050
if not maintaining, proxies and firewalls and things like that.

25:23.150 --> 25:35.830
I think what I really want as the takeaway message here is that I'd really like to continue a discussion with this with anyone that would like to contact me afterwards.

25:36.430 --> 25:39.350
I really want to know how we can expand the reach.

25:39.350 --> 25:53.470
I find that school systems don't really have the resources to do things like this unless they have rather remarkable teachers involved.

25:53.470 --> 25:57.090
Not saying that I'm remarkable, I just happen to have the free time.

25:59.190 --> 26:02.990
There's a real problem in using this sort of model in a public school.

26:02.990 --> 26:06.330
As I said, I did this in a private Montessori school.

26:06.610 --> 26:24.550
In the public schools, at least in Illinois and Missouri, there is such a demand to teach to the test, even at the elementary and middle school levels, that there is an enormous reticence to add anything extra to the curriculum.

26:25.230 --> 26:30.170
And that brings up the question, well, do you write a curriculum or do you not?

26:30.890 --> 26:43.950
I think possibly one of the venues of this might be taking it outside of the schools, but I do like the immediacy of having it within the educational environment of the school.

26:43.950 --> 27:05.090
Also, I'm beginning to explore the possibilities of this sort of approach with some learning disabled children that we have at the Montessori school that simply have been brought into the program later as their abilities have seen fit, but I actually think there's a real possibility of working with them earlier.

27:06.310 --> 27:10.810
And again, working possibly with even younger hackers, of course.

27:10.810 --> 27:13.310
There's the question of spelling and typing.

27:15.450 --> 27:21.330
These are a few of the people, my wife and daughter, who really got me involved in this.

27:21.330 --> 27:29.130
My wife making it possible to quit my day job to pursue my consulting and teaching.

27:29.670 --> 27:39.150
The administrators of the school, Jane and Rod Connell, who gave me the opportunity to use their students as a guinea pig.

27:39.150 --> 27:44.910
And many of the influences on what I've been talking about.

27:45.030 --> 27:46.910
Here's my contact information.

27:46.910 --> 27:50.530
I'm not even sure I've left time for questions.

28:00.280 --> 28:05.860
The question was, how long have I been doing this and does it correlate to the data analysis?

28:05.860 --> 28:10.940
I have been doing this for two and a half school years.

28:10.940 --> 28:12.820
I started in January.

28:13.820 --> 28:20.880
And to call it data analysis is really... yeah.

28:21.740 --> 28:25.280
That's very empirical data.

28:30.080 --> 28:34.060
That's very qualitative data.

28:34.060 --> 28:43.440
I have been keeping records, which could be analyzed in more depth, but those are really impressionistic data that I was showing there.

28:57.120 --> 28:58.140
Right.

28:58.620 --> 29:00.540
That's a really good question.

29:00.540 --> 29:05.760
What does teaching children Logo as a programming language prepare them for?

29:05.760 --> 29:06.880
Nothing.

29:07.840 --> 29:11.740
What it does is it's a tool.

29:13.060 --> 29:17.820
It's a tool sort of in the same way that computers are a tool.

29:17.820 --> 29:22.480
It gives them the foundations of a programming method.

29:22.480 --> 29:29.300
I would not recommend Logo to anyone as a programming language for any sort of large project.

29:29.300 --> 29:50.700
Even in the game design, when my older students came back for summer class this year, and we started working on our second game, the consensus was, gee, the game we made last year really sucked.

29:51.720 --> 29:57.420
And that was largely a function of the limitations of Logo.

29:57.420 --> 30:05.500
I will say, however, that it teaches them the fundamentals of programming, programming structures, things like that.

30:06.280 --> 30:13.020
I have kids writing binary search trees in Logo, things like that.

30:13.020 --> 30:21.000
And I have my older kids working in Java now.

30:21.000 --> 30:24.240
I think I'm getting kicked out here.

30:24.640 --> 30:25.840
Okay.

30:26.240 --> 30:27.780
Okay.

30:27.780 --> 30:29.920
Any more questions?

30:32.280 --> 30:33.440
Oh, I'm sorry.

30:33.440 --> 30:34.620
Go ahead.

30:55.800 --> 30:58.000
That's correct.

31:25.960 --> 31:27.640
That's absolutely right.

31:27.640 --> 31:33.680
If anyone didn't hear that, he was saying that schools don't have computer teachers anymore.

31:34.080 --> 31:43.860
They usually have a technology coordinator, which is the fancy word that most schools use for it, who is half technician and half administrator.

31:44.540 --> 31:49.100
And this is what I'm trying to get back to.

31:49.100 --> 32:03.700
In the public schools, if anyone has any idea how to convince public educators that teaching computers as computers is still of value.

32:04.680 --> 32:07.080
Yeah, I'm afraid so.

32:07.920 --> 32:09.420
Thank you.

