start	end	text
7260	9840	All right, what he said.
11980	16280	I want to talk today, a rather sensational topic,
16280	17800	the six-year-old hacker.
18820	23700	We're obviously not talking about first-graders
23700	26740	doing penetration testing or anything like that.
26740	28820	This is my six-year-old hacker.
28820	32680	There will be no first names,
32680	35240	because everyone you'll see in my presentation,
35240	40060	and if there are comments in the code that's on the CD,
40060	44020	all those names have been changed to protect the innocent.
44180	50040	What we are talking about is the way we educate,
50040	52640	or the way we're using computer technology
52640	54900	in elementary schools nowadays,
54900	60420	and some of the shortcomings that I've come up against with that.
60540	63920	I feel like sort of a crotchety old man.
63920	65720	I don't think I'm that old,
65720	71880	but I sort of look back at when I was a youngster and say,
71880	76140	gee, when I was back in the day...
76140	78880	Anyways, the way this whole thing started
80580	86120	was one day after school, I was asking my daughter,
86120	88660	so honey, what did you do today in school?
88660	91340	And she went through the normal list of things,
91340	93880	and then she said, ah, and then we worked on the computers.
94860	98440	And I was sort of surprised, being the small school that it was,
98440	101780	I didn't even at that point realize that they had a computer lab.
101780	103660	I said, oh, really, what did you do?
103860	106440	She said, well, we did Mavis B game.
106500	108640	I was like, okay, yeah, that's cool.
108640	110040	You should be learning how to type.
110140	112340	Then she said, and then we played Math Blaster.
112340	116640	I said, oh, God. No. No.
116640	121600	So I very politely introduced myself to the person
121600	125140	that was doing computer classes in the afternoon
125140	129640	and offered my assistance to sort of bring the computer lab
130360	133700	into some sort of consistent state of repair
134580	138300	and then started insinuating myself into his lesson plan
138300	141060	and after about three months asked him,
141060	147200	so what would you think if I took on some of the third graders
147200	148980	and did some programming with them?
149420	151300	And he sort of scratched his head and said,
151300	153640	well, I don't know, do you think that's possible?
156240	159360	Really the thing that I see a lot,
159360	162180	I work as a networking computer consultant
162180	165860	and a few of my clients are school systems,
166360	172780	is I see a lot of underutilization of technology in the schools.
172780	176480	I see a lot of computer labs that are used
176480	180660	for all sorts of very interesting purposes
181500	185740	that I'm not really sure are central
185740	189940	to the educational experiences of the children.
192260	195160	There's a lot of what they call computer-based instruction
195520	200820	in the schools that really has nothing specifically to do with computers.
200900	203280	That's fine, a computer is a tool.
203940	206340	There's nothing specific about a car
210120	213180	that necessitates you using it to get to work.
213180	217900	Some people commute by bicycle, some people have a subway, whatever.
218860	220700	Your car is a tool.
220760	224740	If you use a computer as a tool to educate kids, so be it.
224740	226920	It doesn't have to be about the computer.
228700	232300	But what I do see is I see a lot of computers in schools
232300	236820	that are there just because somebody was able to get a grant to put them there.
237400	240260	And this kind of disturbs me
240260	245800	because no one is putting any real thought into what the computers are used for
245800	249460	and the power that they could be applied to in the curriculum.
251620	256180	I do see a lot of good use of computers in the school systems
257540	260880	given that we're all going to be growing up with these things.
260880	262740	Keyboarding skills are great.
263840	267140	This interweb thingy is wonderful.
267980	278620	I see a lot of bad orientation towards the Internet and research on the Internet.
278760	283420	But done right, it's a wonderful thing.
283420	289840	And it's a wonderful thing when a 7-year-old or an 8-year-old
290620	293320	does a report for class
293320	296300	and realizes that they can go back and change it
296300	299760	without rewriting a whole page of handwritten text.
300080	302480	I can't tell you how many times I hear,
302480	304720	do I really have to retype all of that?
306980	310580	There's also an awful lot of really horrible stuff
310860	314740	that computers are getting used for in the schools.
314740	320640	I see a lot of edutainment and drill and kill software,
320640	322760	Math Blaster, things like this,
322760	327080	that I don't see what the purpose of this software is
327760	332840	beyond operating as an educational surrogate,
332840	338500	replacing valuable time that the teacher could be spending with the students.
339980	346680	I see an awful lot of really ugly use of computers in the schools.
347720	350820	In one of the two states that I work in,
350820	355840	and I shall remain nameless for the time being,
355840	361260	some of the educational standards in middle and high school
361780	369700	actually specify proficiency in Microsoft Office applications.
369700	376800	They don't say that you should be able to create a presentation
376800	380920	for the purposes of influencing or informing others.
380920	385660	It says you need to be able to make a PowerPoint presentation.
386060	388780	And it specifies PowerPoint.
389840	393440	I see a lot of bad research done,
393440	396080	especially at the junior high and high school levels.
396080	401700	A lot of plagiarism and very little education as to
402280	409180	what is proper citation and stuff like that.
409180	414900	And I also see some really weak keyboarding training.
415040	417980	But that's neither here nor there.
417980	425280	Also, the environment in which the computers are used is less than ideal.
425280	427100	We have these computer labs.
427100	430160	Everything in the labs is locked down,
430160	435640	and the students are encouraged not to change anything on their computers.
435640	438000	From an instructional point of view,
438000	440460	and from the limited knowledges of many of the people
440460	446460	that are in charge of running these labs and these experiences,
446460	449260	this is appropriate,
449260	452880	because should the students get into something inappropriate
452880	457260	or should they change something, they don't know how to deal with it.
457260	462640	Also, I see a lot of computer use in after-school programs.
462720	466540	I'm just going to gloss through this.
466800	469080	Many of the same objections apply.
470160	472580	Okay. Sorry.
474660	477160	So, I was considering...
477160	481020	I was thinking back to my childhood, or to my teen years,
481020	487520	and thinking, you know, what was it about the early computers that really fascinated me?
487520	490460	You know, my first S100 bus computer,
490460	495120	and then later my first TI-44 and my Trash 80,
495120	498920	the Wang that we had at the high school.
499280	504380	And I really got jazzed on the idea of taking this computer
504380	507740	that, when you powered it on, did nothing.
507740	512300	It provided you with a prompt, and that was it.
513740	516300	And I thought to myself, well, you know,
516300	523120	what is it that the kids now are missing that we might be able to provide for them?
523200	525400	And I was thinking back again, and I thought, you know,
525580	528620	a lot of what I learned on the computers was self-taught,
529180	531500	and a lot of it had to do with,
531500	534000	okay, the computer doesn't do what I want it to do.
534000	535480	I'll make it do it.
537660	545060	So, I decided that what we were going to do is teach programming.
545060	547280	And I started with third-graders.
547320	551040	Last year, I expanded that to second-graders.
551040	555940	And this coming year, I'll be working with first-graders.
558320	561340	And the purpose behind this is,
561340	568700	I think that this provides the ability for kids to really explore the environment that they're in,
568700	574180	something that they're given very little opportunity to do in most educational systems.
574700	577620	I'm lucky in that my children go to a Montessori school,
577620	580800	and this is integral to the curriculum,
580800	583620	and was very lacking in their dealings with computers.
583620	590440	So, I was trying to bring this into the general philosophy of what was going on in the rest of the school.
590440	596680	So, when I was challenged immediately by the directors of the school
596680	601840	that it was ridiculous to try to teach computer programming to third-graders,
601840	605240	I said, no, really, I do think I can do it.
605240	609560	In fact, it's been being done since the 1960s.
611400	615500	So, I've started these computer classes.
615500	618180	I take six to 11-year-olds,
619240	624000	and I try to teach them that when you turn on the computer,
624000	628540	it's not just for running prepackaged applications.
628540	630340	It's not just for gaming.
630340	632680	It's not just for exploring the web.
632680	636780	And it's not just for that boring stuff that your parents do,
636780	641660	like spreadsheets and paying the bills and stuff like that.
641660	646900	The tool that I chose to use is Logo Programming Language,
646900	651890	written at least in part by Seymour Papert back in the 1960s at MIT.
652420	659260	And there are some nice versions of that that run under just about any platform you can imagine.
659260	665920	UCB Logo runs under Mac and Linux,
665920	671660	and there's MSW Windows, which is a derivative of UCB Logo,
671660	673680	that runs under Windows.
673960	676560	One of the things that you learn immediately
676560	680600	when you sit a kid down in front of a computer
680600	683580	and teach them the very rudiments,
683580	688040	even the first three or four commands that they learn in a programming language,
688040	694120	is they get really jazzed on the fact that they just made the computer do something.
694120	698060	That they typed in some words,
698060	704140	and the computer followed the instructions that they gave it and did something.
704140	711140	They start to learn that this thing that they've only really thought of as a game console or an appliance
711140	714380	really might have some other possibilities.
715600	718500	The other thing that I did is,
718500	726820	after I exposed the kids to programming in the formalized classes,
726820	734560	I have an after-school program that they have named the Geek Dojo or Otakudo.
734560	739240	My apologies to any Japanese speakers.
739460	744580	That is a voluntary program open to all ages.
744580	749740	We have 5-year-olds through 13-year-olds currently attending.
749960	755620	It's a self-selecting program in which the students set themselves goals
756410	761320	and work with me or work with older students to try to achieve those goals.
761320	764020	Most of those are programming-oriented goals,
764020	767360	but a lot of them have to do with more abstract stuff.
767620	771320	A lot of the kids are interested in cryptography.
771320	777560	A lot of them are interested, especially when you start to get to the 10- and 11-year-olds,
777560	781240	into computer security.
781620	787620	And a lot of them are interested in more mathematical pursuits
788320	795420	that are more or less related to geeky stuff.
795420	802380	I also run a summer school which is patterned after the programming classes,
802380	808560	but is concentrated on a specific project for two weeks.
809280	821420	The major thrust of all of this is to awaken some of the inherent hacking spirit
821420	826980	that I think naturally exists in all children and to cultivate it.
826980	834640	Because I think that a lot of this in our current environment is not being encouraged
834640	842460	and a lot of kids that would develop these interests are in fact just going home
842460	849900	and playing Xbox and not really realizing what other things there are out there.
849900	853680	So we have a motto at Otakudo.
853680	857300	It's fun to have fun, but you have to know how.
858980	861680	So what sort of results am I getting?
863180	866300	We start from the very basics in the programming class.
866300	872380	I talk about immediately what is a program, why do we do it,
872380	878820	and in fact when we start talking about programming we don't even deal with computers.
878820	882900	Here's the first exercise that I give the students.
882900	887380	They have to look at this picture and write me a set of instructions
887380	894440	so I can select the right blocks out of the box and build this object for them.
895860	898320	Obviously, hilarity results.
898580	904800	And this actually takes an hour before they can program me properly to build this object.
906140	910060	As I said earlier, I use the logo programming language,
910060	914660	which is based on what are known as turtle graphics,
914660	917940	which is important because this is accessible to young children
917940	921700	because the graphics are all relative motion graphics,
921700	924500	or at least they are at the beginning.
924500	931340	You have a sprite on the screen that for historic reasons is referred to as a turtle
931340	940660	that follows commands like forward, right turn, left turn, pen up, pen down, things of this sort.
941440	945620	Most six-year-olds, and the majority of five-year-olds,
945620	954660	can write you a simple program to draw you a square within the first 60-minute class
954660	958700	given a collection of 40 commands.
958700	961060	And here are some of the results.
961060	962720	This is actual code written.
962720	971020	None of the code up here is written by anyone older than seven years old.
972760	977440	I have to admit, I did some indenting for clarity on two of the programs.
978680	986580	The person on the left, again, who shall remain nameless, is the namesake of the talk.
986580	989000	She is my six-year-old hacker.
989040	992540	She is an amazing cryptographer.
992640	1001540	She is now seven and cracking double replacement ciphers
1001540	1007280	on the basis of frequency patterns and things like that.
1007280	1010940	On the right, you see some of my older students
1010940	1016420	who are actually, in this photograph, constructing the web proxy
1016420	1022920	that their school uses, of course, with some guidance.
1024520	1031820	Other projects that they've done is that they've programmed their own games,
1031820	1034060	worked with the Lego Mindstorms,
1034060	1037980	and one of my particularly math-oriented kids
1037980	1046500	really became fascinated with geodesics and geodesic periodicities.
1047140	1051680	I tried to integrate this with their other class work.
1051680	1060060	They did a semester on crystals in the upper grades, the fourth and fifth grades,
1060060	1067960	and they worked on programs to create octahedral crystals.
1067960	1070920	We didn't get to the tetrahedral crystals, unfortunately.
1071460	1077500	And even within the last class, I'm afraid I don't have anaglyph glasses,
1077500	1082400	but they even did three-dimensional crystals for us.
1083860	1092400	If anyone's interested, this is sort of the progression of the skills
1092400	1101140	that I've found empirically that various students are able to grasp at various ages.
1101140	1102570	Some of these are ranges.
1103500	1113020	Yellow sort of denotes when I can expect the most gifted students to pick up a concept,
1113020	1117160	and green, when I can expect an entire population of students.
1117160	1129220	I want to just show you some quick examples of some code that some of my kids have written.
1133700	1144400	This was actually written by a five-year-old class after about three days of work in a summer class.
1147980	1162370	Okay, not working. Maybe not.
1175910	1181010	Okay, I'm going to just go on to some more advanced examples here.
1184510	1206370	Okay, one of the challenges that I put to one of my programming classes,
1206370	1209510	and this was a group of fourth graders,
1209510	1217830	was to get their turtle, which is this triangular sprite down here in the corner,
1217830	1222170	to navigate a maze, a simple maze.
1222590	1231330	And this was their first attempt, which did a fair decent job at first.
1231330	1235570	They figured out that if you bumped into a wall, you needed to back up and turn.
1235570	1239390	But obviously, there were problems.
1245570	1251550	The second attempt, they figured, okay, well, if I always turn the same amount,
1251550	1255110	then perhaps that's going to get me stuck.
1255110	1259310	So this time, I'll try a random turn.
1259450	1266690	And believe it or not, if you wait long enough, it's rather unsatisfying.
1266690	1271870	But yes, in fact, your turtle will navigate to the end of the maze.
1278600	1284090	So it took them about four one-hour classes to finally figure out
1284750	1296750	the excruciating 15 lines of code that was necessary to create a wall-following...
1296750	1299230	Whoops, I got the wrong one.
1300090	1301590	Let's just hold that.
1311330	1312690	Here we go.
1312750	1314810	That followed a right-hand rule.
1316570	1323150	There's a false start, but as you can see, it finally does set off in the right direction.
1323150	1325190	And as you can... I'll just let that go.
1325190	1331090	And as you can see, it will reach its destination being the end.
1331090	1331990	There you go.
1333950	1338810	The other things that we've done is, as I said,
1338810	1341070	I just have just a minute here.
1341070	1345150	I do want to leave some time for questions.
1348970	1351450	No, in fact, I don't have time to do that one.
1351450	1355190	But they have done some simple side-scroller,
1355190	1359810	sort of like old-school 8-bit side-scroller games using Logo,
1359810	1363130	which was very impressive, the group of four students.
1363130	1364830	One of the interesting things...
1364830	1373530	I was listening to talk two speakers ago about women and hacking,
1373530	1376810	is that actually at this age that I'm working with children,
1376810	1381150	especially at the younger grade levels, third and fourth grade,
1382390	1388570	there is a real curiosity, a real thirst on the part of the girls
1388570	1393170	to get involved in this stuff, to manipulate the computers,
1393170	1395670	to have the power to do this stuff over the computers.
1395670	1398890	There are some differences in the projects I see them choose.
1398890	1402770	Boys love the shoot-em-up games, love to program games,
1402770	1409050	while girls love to do sort of interactive story-based games,
1409050	1412410	to program interactive story-based games or movies,
1412410	1416530	or to do things, mathematically-based challenges,
1416530	1420430	such as cryptanalysis and stuff like that.
1420430	1425710	But what I really want to give you as the takeaway message here
1428170	1439450	is that this is a really different way, at least in my experience,
1439450	1443450	of computers being used in the elementary schools
1443450	1447250	than we've seen recently.
1447250	1453590	There's been a real dumbing down of the computer lab from when I went to school.
1454030	1458290	And this gets back to the idea that the computer is a tool
1458290	1466390	not only to advance your education and to get further information off the Internet,
1466390	1470450	but is a tool for exploration in itself.
1471290	1476330	The kids really become very motivated and very self-driven
1476330	1478550	in these projects that they come up with.
1478550	1483150	And most of the projects are the ones that they choose for themselves.
1483150	1488550	They, even as they get older, really get into things like hardware maintenance
1488550	1494850	and taking responsibility for the computer environment at the school.
1494910	1499870	Right now, of course, with my supervision and making sure that everything is proper
1499870	1507610	and well-designed, my older students, and we're talking 12 and 13-year-olds,
1507610	1511170	have taken over responsibility for maintaining the workstations
1511170	1519150	and building and installing, if not maintaining, proxies and firewalls
1519430	1522050	and things like that.
1523150	1527790	I think what I really want as the takeaway message here
1527790	1531570	is that I'd really like to continue a discussion with this
1531570	1535830	with anyone that would like to contact me afterwards.
1536430	1539350	I really want to know how we can expand the reach.
1539350	1547630	I find that school systems don't really have the resources to do things like this
1547630	1553470	unless they have rather remarkable teachers involved.
1553470	1557090	Not saying that I'm remarkable, I just happen to have the free time.
1559190	1562990	There's a real problem in using this sort of model in a public school.
1562990	1566330	As I said, I did this in a private Montessori school.
1566610	1569850	In the public schools, at least in Illinois and Missouri,
1569850	1573990	there is such a demand to teach to the test,
1573990	1577690	even at the elementary and middle school levels,
1577690	1584550	that there is an enormous reticence to add anything extra to the curriculum.
1585230	1590170	And that brings up the question, well, do you write a curriculum or do you not?
1590890	1597350	I think possibly one of the venues of this might be taking it outside of the schools,
1597350	1603950	but I do like the immediacy of having it within the educational environment of the school.
1603950	1608670	Also, I'm beginning to explore the possibilities of this sort of approach
1608670	1613450	with some learning disabled children that we have at the Montessori school
1613450	1619390	that simply have been brought into the program later as their abilities have seen fit,
1619390	1625090	but I actually think there's a real possibility of working with them earlier.
1626310	1630810	And again, working possibly with even younger hackers, of course.
1630810	1633310	There's the question of spelling and typing.
1635450	1641330	These are a few of the people, my wife and daughter, who really got me involved in this.
1641330	1649130	My wife making it possible to quit my day job to pursue my consulting and teaching.
1649670	1654950	The administrators of the school, Jane and Rod Connell,
1654950	1659150	who gave me the opportunity to use their students as a guinea pig.
1659150	1664910	And many of the influences on what I've been talking about.
1665030	1670530	Here's my contact information. I'm not even sure I've left time for questions.
1680280	1685860	The question was, how long have I been doing this and does it correlate to the data analysis?
1685860	1692820	I have been doing this for two and a half school years. I started in January.
1693820	1700880	And to call it data analysis is really... yeah.
1701740	1705280	That's very empirical data.
1710080	1714060	That's very qualitative data.
1714060	1719400	I have been keeping records, which could be analyzed in more depth,
1719400	1723440	but those are really impressionistic data that I was showing there.
1737120	1740540	Right. That's a really good question.
1740540	1745760	What does teaching children Logo as a programming language prepare them for?
1745760	1746880	Nothing.
1747840	1751740	What it does is it's a tool.
1753060	1757820	It's a tool sort of in the same way that computers are a tool.
1757820	1762480	It gives them the foundations of a programming method.
1762480	1769300	I would not recommend Logo to anyone as a programming language for any sort of large project.
1769300	1780260	Even in the game design, when my older students came back for summer class this year,
1780260	1784140	and we started working on our second game,
1784140	1790700	the consensus was, gee, the game we made last year really sucked.
1791720	1797420	And that was largely a function of the limitations of Logo.
1797420	1802000	I will say, however, that it teaches them the fundamentals of programming,
1802000	1805500	programming structures, things like that.
1806280	1813020	I have kids writing binary search trees in Logo, things like that.
1813020	1821000	And I have my older kids working in Java now.
1821000	1824240	I think I'm getting kicked out here.
1824640	1825840	Okay.
1826240	1827780	Okay.
1827780	1829920	Any more questions?
1832280	1834620	Oh, I'm sorry. Go ahead.
1855800	1858000	That's correct.
1885960	1887640	That's absolutely right.
1887640	1893680	If anyone didn't hear that, he was saying that schools don't have computer teachers anymore.
1894080	1900220	They usually have a technology coordinator, which is the fancy word that most schools use for it,
1900220	1903860	who is half technician and half administrator.
1904540	1909100	And this is what I'm trying to get back to.
1909100	1917960	In the public schools, if anyone has any idea how to convince public educators
1917960	1923700	that teaching computers as computers is still of value.
1924680	1927080	Yeah, I'm afraid so.
1927920	1929420	Thank you.
