Education@Google: Inspiring the Next Generation of Computer Scientists, One High School At a Time


Uploaded by AtGoogleTalks on 23.11.2010

Transcript:
>>Evetta: As teenagers are educated for careers in the 21st century.
And what are they educated in? They'll be talking to you guys about that, but when I
was looking on their website I was pretty shocked. They have classes like parallel computing
and artificial intelligence. Do you guys have that in high school? [laughs] I didn't.
This school also maintains, I believe, 12 or 13 of its own research labs just for students
and these include a prototyping and engineering materials lab, a neuroscience lab, and an
automation and robotics lab.
I wish I really had access to a school like this growing up. So the kids in your county
are really very privileged.
Evan and Shane, we're really thrilled to have you here as speakers. We're really big fans
of the work you're doing to inspire the next generation of technology leaders. And we can't
really wait, we can't wait to hear exactly how you're doing it.
So please come on up.
Thank you.
[applause]
>>Evan Glazer: Thanks Evetta. It's a pleasure to be here today at Google; take the day away
from school and get a lunch that tastes a little bit better than we have in our cafeteria.
I wanna start us off --
by asking you a question.
So that's a picture from a school from about a hundred years ago, and yet many schools
still have that structure of a classroom today.
But if you could recreate your high school learning environment, what would it look like?
>>female in audience: More access to virtual learning.
>>Evan Glazer: More access to virtual learning. What else?
>>female in audience: [inaudible] open spaces, collaborative spaces.
>>Evan Glazer: Collaborative spaces. Food.
>>female in audience: Good food, seriously.
>>Evan Glazer: What else?
>>male in audience: A more creative environment.
>>Evan Glazer: More creative environment.
>>male in audience: [inaudible]
>>Evan Glazer: Emphasizing problem solving. Good.
>>female in audience: Lab space.
>>Evan Glazer: Lab space.
>>female in audience: Smaller class sizes.
>>Evan Glazer: Yep. Smaller class sizes.
>>male in audience: A computer on every desk.
>>Evan Glazer: A computer on every desk.
>>male in audience: [inaudible]
>>Evan Glazer: White boards.
[laughter]
>>male in audience: [inaudible]
>>Evan Glazer: [laughs] Yeah.
I have to say even in our school we still, we have a blend of white and dark boards.
>>female in audience: Do you have smart boards?
>>Evan Glazer: We do and smart boards.
Um-hum.
Good.
>>male in audience: [inaudible]
>>Evan Glazer: Say that one more time.
>>male in audience: [inaudible]
>>Evan Glazer: Yeah, less classroom and more hands on experience, absolutely.
>>female in audience: I'd like to be outside.
>>Evan Glazer: Like to be outside.
Good. Yeah, these are all great elements in a school environment. Some of 'em which we
have and we'll share that with you today.
But before I, before we talk about our school, I wanna talk about the challenges actually
that we have in America associated with education and the times that we're going through.
It's not an easy road ahead for computer science. We're gonna highlight our program and all
the things that we do, but across the U.S. actually we need a lot of help. And I'll try
and explain why.
So in schools today across our country, we're really in an age of accountability. There's
such a strong focus on meeting standards through No Child Left Behind and even through ESEA,
which is followed up with No Child Left Behind.
The emphasis is-is not on creative and learning environments or giving spaces for problem
solving. The emphasis is on closing achievement gaps.
So if students don't perform at certain levels on tests, then the focus is helping those
students get to that level. So what you test is what you get.
It's created an emergence of collaborative learning environments for-for teachers which
is actually terrific 'cause teachers are less isolated than they used to be, but again the
focus is really on can they meet the base standard.
Now those people who poke at No Child Left Behind -- actually the Chesapeake Bay Foundation
created No Child Left Inside, which is a way of a grass roots movements of getting students
outdoors and-and connected to their environment.
Here's a picture of our students in a project, a research based project in a pond that looks
at the different characteristics that will influence salamander migration.
And you can look around the world in a documentary "Two Million Minutes" produced a few years
ago, the amount of time that you're gonna spend in high school, actually not in the
school, but over four years and the quality of learning is drastically changing.
You see in China and India, countries that have populations four times that of ours,
four times, that they have arguably more honor students than we have students all together.
But as a country we are focusing on achievement gaps.
So if high school were like a cake, which picture should it really resemble?
And the way in which it resembles today actually is the picture on the left where we're trying
just to complete the cake. The creativity, the added dimension, the unique [bad audio]
that we would like to see so that students can do interesting things is missing.
And part of that is in curricular areas. You see in, you know you have your core curricular
areas and so when you want to think about computer science, that's seen as the frosting
on the cake. It's only to those students who are able to show that they can do really well
in other areas.
That's the challenge that we have ahead of us is that computer science in order, in order
to make computer science integral to every curriculum, we have to find a way to actually
make it part of the picture on the left. But it's not seen that way; it's not seen that
way across our country.
Newsweek published an article this summer, "The Creativity Crisis". So around the world,
when we look at east Asian cultures, they tend to out-perform the United States in math
and science consistently, year after year after year after year on international assessments.
But the U.S. is focusing on closing the achievement gap so we can improve on those assessments.
Well somethin' has to give. Well what gives? The time that we've devoted to that creativity.
And so when my colleagues from overseas ask me to come and give presentations they wanna
know about creativity.
They wanna know about creativity.
There are pockets of innovation.
Schools like ours around the United States are a part of a consortium called The National
Consortium of Specialized Secondary Schools for Math, Science and Technology, N-C-S-S-S-M-S-T.
And that is -- our sister schools in New York City would be Bronx Science, Stuyvesant, Brooklyn
Tech. Those are all schools in which we share our instructional practices so we can come
up with innovative ideas.
And in the State of Virginia, there are 18 regional Governor Schools and so we're located
in Northern Virginia. So students who come to TJ, which it's commonly referred as, is
coming from only six different counties.
But there are intentional public schools that are created to-to provide a unique learning
environment in math, science, and technology across this state and across the nation. They're
just few and far between.
So why do you think Google's interested in education?
Go for it.
>>male in audience: [inaudible] Because Google's going to be getting the students in four to
five years.
>>Evan Glazer: Yeah, Google, Google's gonna get the students in four to five years; excellent.
So we're trying to prepare students who could be productive at Google.
What else?
Um-hum.
>>female in audience: We need scientists to [inaudible]
>>Evan Glazer: Great. Yeah, we need innovative people so regardless if they come and work
at Google, we need to create that environment of creativity and competition so that students
can be doing really interesting things. And that's what you want. You want people to be
doing interesting things.
[clears throat]
So as a quick overview of our talk, I'm gonna talk about program design at our school as
the Principal.
Shane here is the mastermind behind computer science and will go into the details about
programming and-and the learning that occurs in computer science within our curriculum.
And then we'll finish off part, talking about partnerships that we have with external corporations
that really enhance the robustness of our school.
So I'm gonna share a few pictures of our learning environment ?
in biotechnology, in oceanography --
Actually if you notice that, that's a very unique creature there.
>>male in audience: Lunch.
>>Evan Glazer: Yeah, [laughs] that's right, it's lunch.
It's actually a septapus that was missing one of its tentacles.
Microelectronics.
That's collaborative underwater, a collaborative project between energy systems in oceanography
and underwater robot.
Autonomous tourbot and a solar vehicle.
A wheelchair operated by memory.
So these pictures are describing exactly what you had mentioned; an open environment in
which students are doing interesting projects.
Recycling zinc.
And beyond our work in science and technology, it's also our responsibility to work with
younger students in inspiring their interests in those fields.
And then also thinking about the environment. Our students have a platform at our school
that if they want to do something socially responsible, such as get solar panels for
our school, they have an avenue. We dedicate one-eighth of our day to our students to pursue
a particular passion; its non-graded academic period.
So a group of students environmentally conscious created a solar panel initiative and through
that initiative they decided to write grants. They decided to contact local corporations
who could provide seed money or have a fund raiser that ultimately enabled our, our school
to receive solar panels, a solar array on our roof.
And we're a public school so we actually don't have that much money. We have to rely on partnerships
with our community. We have to rely on partnerships with our community to do really interesting
stuff.
And so those solar panels are now part of our energy systems research program.
We create a one question which our students generate that would connect what's going on
in the world to our mission of science and technology.
So these are examples of student questions in which they had posed and then ultimately
they vote on one that they would like to pursue as a school.
So all these pictures are to emphasize our key values and schools, our key values and
skills at, in our curriculum. Critical inquiry and research; all students are engaged in
research. Problem solving; unique problems.
Curriculum is not designed in a way in which students need to learn new knowledge, understanding,
and skills that is explicitly defined. That happens to a certain level; that's the cake
portion. But when we start talkin' about the frosting, our students are contributors to
new knowledge, new understanding, and new skills that we have not revealed previously.
Intellectual curiosity; giving them the space and time to pursue a particular passion and
showing that has a strong interest in humanity through their social responsibility
So here are the basic principles behind our program design in-in our school; broad picture.
We have to challenge students to make their education choice more meaningful. And what
I mean by that is that some of our students make a commitment to come to our school by
driving an hour and a half each way every day, in traffic.
And so in order to make that commitment, we have to provide a learning environment that
they couldn't get anywhere else.
Focus on science, technology, engineering, and math.
Be true to our mission.
CIRPSICSR which are those critical values and skills I'd mentioned earlier.
The curricular freedom to teachers and students so they can pursue a passion.
We have dedicated time in an undefined curriculum. That's the challenge in today's education
is that there's a defined curriculum and we want students to pass the test.
But if you actually make a part of your curriculum undefined so that students are, students are
generating those new ideas, it becomes very robust and creative; probably very similar
to what you're, what you experience at Google.
>>female in audience: [inaudible]
>>Evan Glazer: That's right in your 20 percent time.
So you have the opportunity to be generative and we-we share that value with our students
and with our teachers as well.
So if you have, let's say you're talking about 11th grade English. Eleventh grade English
regardless of the teacher, you would expect about 85 percent of the curriculum to be the
same; that extra 15 percent is geared towards unique partnerships, projects, activities
--
based on their experience and who they get to know.
So they have the opportunity to continually innovate.
Okay, just a quick overview of our courses just so you have an idea of what's different.
A lot of times people ask, "So what are students taking?"
It's not all math and science. They have to go through an Advanced Studies Diploma; four
years of math; all students take calculus; three-quarters go beyond.
Computer science which Shane will talk a little bit later, all students take a year in Java
and then many go beyond.
Four years of English, Social Studies, three years of language; seven different languages;
two years of P.E.; a year of Fine Arts.
And then Science; seven science and technology credits; four lab sciences on the left. Geosystems
is a capstone course for 12th graders preceded by Physics, Chemistry, and Biology.
And then we start off with Design & Tech in 9th grade.
A series of electives just to give you an idea.
So this, these are the types of courses where we can create 'cause we can develop a critical
mass. So Organic Chemistry or Nanotechnology; Quantum Physics; Computational Physics; Alternative
Energy Systems; DNA Science; those are all types of courses in which we can create because
we have the number of students interested in those areas.
And then a culminating senior year research project in one of our 13 labs where one of
'em is Computer Systems.
So I'm gonna pass over to Shane to talk a little bit about our Computer Science program.
>>Shane Torbert: Thank you.
I'm just gonna take a few moments to give you some idea of our sort of backgrounds,
philosophy as we approach the curriculum so that when I talk about the actual specific
courses you'll have some idea of where we're, where we're coming from.
This is my current favorite statement of what it is we're tryin' to do. This is from Garry
Kasparov who was actually on C-Span a little over three years ago. Somebody asked him,
"Why are there so many great chess grand masters that came out of the Soviet Union?" and-and
this was part of his answer.
And so what we're tryin' to do at-at TJ and specifically in-in computer science and-and
specifically within that in the computer systems lab, is we're tryin' to identify a particular
talent for-for computing in the students. They often don't know that-that-that they're
good at this. So how do we, how do we figure out who-who's-who's really got a knack for-for-for
CS?
And once we've, once we've done that, once we've identified that group of-of-of students,
what do we then do while they're still in-in-in high school to-to prepare them?
So everybody has bias, the-the-the-the bias of mine is probably most relevant when I'm
talking about the courses, and this is probably preaching to the choir here at-at-at Google,
is that I-I feel very strongly the students, particularly in-in high school when they're,
when they're starting out, should-should be writing their own code.
This-this used to be sort of an obvious statement in high school CS education; it's murky to
me now as to if you talk to a hundred people involved in CS education in high school, how
many would say that it's a really important thing?
But to me this is sort of what really grabs, when you're 15 or 16, what really grabs you
and-and-and pulls into-into the field is the fact that you're, I mean this is how you get
your hands dirty in-in-in computing is you're actually writing code yourself.
And so we have emphasized that at-at in all the courses I'm-I'm gonna describe; it's not
the case where a student is-is simply learning about a particular area of-of-of-of CS or
using some other pre-built system or something like that. It-it -- whereever we can we want
students to be able to write things from-from scratch.
And so personally this is the-the-the big influences is on-on me are the-the systems
lab itself. I mean it was there for 15 years before I ever walked into it and so it's-it's
clearly when you, when you walk into the room, it's one of these places where you can tell,
"Wow, these, there's a lot of really smart, intense, energized people that are interested
in this."
And so what I did just as a teacher was to listen to them. Right? I mean if have really
good students the fact that they're 16, 17 years old, they've got great ideas. Try to
figure who-who really knows what's going on and-and-and-and-and pay attention.
And also I'm actually not at TJ this year I'm on a sabbatical at George Mason's Computational
Fluid Dynamics Center doing explosions and stuff.
But they have the same mindset there. It's-it's a similar type place where-where possibly
you wouldn't be able to things yourself since you actually really know what's-what's going
on.
And for me the-the-the-the two bullets at the top here in terms of active learning and-and
the sort of creativity you can get out of something when you're really engaged in it,
to me that's what, that's what produces at the, at the end of the day really powerful
students. I mean leaving high school really powerful students to-to go off to an undergraduate
program.
And then I-I thought I should say something just about why-why would you even have courses
at-at all. I mean you have, you have a school so even if the school looked, looked like
this school it was only the facade and there was nothing behind it, you had no classrooms
at all, you could still have speakers and internships and students could still read
things and all this other stuff.
So why-why do you even want courses at all? What is it we're trying to do when we design
a curriculum?
And for-for-for me and I mean this in a really positive way, courses are artificial. I mean
I-I-I try really hard to make up a sequence of problems that I think for a diverse group
of students, diver, in terms of, in terms of ability -- will be able to-to-to hit them
all in a way where everybody pro-progresses.
This is not, it's not, it's not simple, but-but I found that if you, if you do it well you
can, you can tell that you, that-that you did it well and-and what the students can
do then is-is-is-is enhanced.
So these are the, these are the courses sort of broad view.
We mentioned that all the students take at least one course. That's this introductory
course. I'm giving rough enrollment numbers here so you have a sense each year how many
students we have passing through these courses.
In, for the introductory course we offer a self-selected option of an accelerated version.
This is for the people who-who when they came in even if they didn't have to take the course,
they knew they were gonna be into this.
So we get a lot of people even when they're 13 obviously who-who-who know they're interested
in-in computer science already. So we have an accelerated version.
We also have a very large number of students who come in during the summer and take the
introductory course.
The-the AP Computer Science course which for us is mostly 10th graders, that's undergone
tremendous change in the last 15 years and in particular the last two or three years.
For us the change has been not as-as large because we have a big program.
And then after the AP course the AI course, the-the parallel course and the Senior Research,
all of those courses are offered in the computer systems lab.
So the-the first course is taught in Java, mostly Windows labs. This is, it's done in
Java basically because the AP exam is-is administered in Java.
We do an objects first approach. We start with Karel robots which came out of Carnegie
Mellon and the recent version came out of Pace University here in, here in Manhattan.
We actually have now a homegrown version that some students wrote a few years ago in the
summer.
But our goal is to get, starting with students who we assume, we assume they don't know anything
and our goal is as quickly as possible to get some-some-some tools and some skills in-in-in
their hands where they can, where they can start to be creative. And by the end of the
course there's an expectation that everyone will-will be able to produce some sort of
final project which is often a game or-or-or something amusing. So I mean they're 14.
And so this is, this is to-to a large extent a typical introductory course. Everybody's
learned what an "if" statement is or for loop.
These are just some sample programs, the guess the numbers through the binary search game
where you're told every time you make a guess if your guess was wrong, was it too high or
too low. And so people who've never-never learned anything about algorithms can figure
out what a binary search is pretty quick 'cause they wanna win.
And the, this tree turtle, this is sort of a-a- an homage to log-the old logo system
a little turtle drawing-drawing the tree there. This is one of our first sort of serious a-attempts
to-to teach the students recursion.
In my experience it takes about three years of-of-of periodically coming back to try to
teach recursion before most students are pretty good at it. It's not something that's-that's
simple just from an instructional perspective. Some students get it instantly, but if you're
tryin' to get -- there are all these issues with scale. If you wanna have five students
come out of the school that are really good, then you do one thing. If you wanna have a
hundred come out that are really good, then you have to do some other things.
And so for-for-for-for recursion it takes, it takes three years.
And then there's a, we do some-some animation basically in the first semester the-the animations
there are set up for like a simple pong game or a breakout, one of those types-types of
games which if you, if you, if you go on somebody else's website and play these and you're a
teenager it's not that interesting. If you can actually write it yourself or your friend
writes it and you're trying to write one that's better, all of a sudden it's-it's-it's the
coolest thing in the world 'cause you can actually do it.
The AP course, this is also obviously taught in Java. We have a Solaris lab that's like
a sun ray thin client lab that we've used for a number of years now. And was a couple
of years ago was-was, we got a big upgrade from a grant from Sun.
But this is sort of a typical algorithm analysis data structures course. These are a lot of
the topics that were dropped by the college board a couple years ago. We just ignored
that and just kept teaching the-the-the same topics.
And so this is on the, on the screen there, it's another recursion it's a flood filled
recursion problem, learning about binary trees and heaps. I mean these things it's probably
similar, very similar to-to-to-to some of the problems you first learned it your-yourselves.
And it's having started very early on with objects the college board has this case study
that is almost like an agent environment. It's not, it's not really like agent environment.
It's sort in that, in that direction.
So for students who are really interested we then have this-this is the more popular
elective course; this would be mostly juniors; we usually have like four sections of this.
It's taught in Python for the last six years, although one year we taught it in Ruby, before
that it was taught in Lisp for a long time. This is in the computer systems labs which
is Linux. So we do a lot with graphs, unstructured graphs, road networks, things of that sort.
We use Russell Norvig as a, as sort of a-a source, but we don't, we don't issue it to
all the students. We go through it step by step.
But in terms of on the, on the slide here, I don't know how well you can see there's
a little green outline of the circle. We do a little image processing problem where you're
trying to detect the circle. And so we do like Sobel, Canny edge detection and then
the Hough transforms through voting method to-to try to figure out where the center of
the circle is.
This is, this is a good example of a topic that, on the whole, is way too much for most
high school students. If, however, you're very careful and you choose very-very-very,
if you're very judicious about what-what you try to do with students, you can get 75 students
to do that, in, after-after a couple of years of-of-of taking CS.
Behind that is a picture from Sugarscape. So that-that really is trying to do Asian
environment and show emergence of patterns. If you have winter all of a sudden there's
a migration to-to the other hill, that kind of thing.
We do this with an Othello problem which is just your standard mini Mac's alpha beta pruning
at the end of the first semester and then the other one is a sliding tile which of course
is a graph search.
We still haven't totally figured out how to get teenagers to do neural networks on a,
on a large scale, but, I mean one of the things about this is you have to be willing to just
sort of fail.
So the first year we tried it, it was a total wreck. The second year it wasn't a wreck at
all. It just wasn't great. The third year it was actually pretty good.
So then the next time through it's -- you know what you're doing and you can actually
get people to at least understand sort of what the, what the basic pieces are.
We've had a parallel computing course for I guess 20 years. We-we won a super computer
in the early 90s. For a long time it was taught in C++ or Fortran. It used PVM at-at various
times.
The big thing we use now is-is MPI at least in the, in the first semester. We do a lot
of graphics wherever we can so if you zoom in on the Mandelbrot set, students like-like
doing ray tracing and-and things of this sort.
The-the-the biggest thing again, we're trying to be careful here. Almost always in the problems
that we're picking we're choosing things where they're embarrassingly parallel and you can
get, you can [bad audio] operations and the student don't have to deal too much cross
communication between-between the various nodes.
Now in the, in the nearest neighbor and body type of problems, that doesn't happen and
it gets harder, but you have to be really careful. I mean you're also dealing with people
who are, the students who are just taking physics. And maybe you'll have a couple of
students that know differential equations, sort of a lot of the classical problems that
are done with, they're done in parallel aren't accessible. But there are lots of problems
that are. So that's what we try, that's what we try to do.
And we have 50 work stations that are clustered together. We recently got a big donation of
good old InfiniBand system. So we're sort of always hacking together whatever we can.
And I'll say something about CUDA at the, at the end.
And so all of this for about 50 students a year all of this leads to independent senior-senior
project. One of the big issues here is sort of project management, writing a paper. You've
gone through potentially four courses that were structured to sort of help you succeed.
Now you feel like you're kind of on your own. This can be kind of a shock to someone who's
17. But it's good experience because they have it in-in a safe environment.
For the most part in-in-in CS these tend to be simulations. Either there's a the-the image
in black is a simulation of students going through the school and so then you pull the
fire alarm and the students all have to evacuate or some-something of that sort. That's a popular
one. But often it's something with agents.
You get a little bit of-of physics simulation type of problem. This is a fluids-fluid simulation
that a student did last year. I wanna qualify that one though; that's not a, that-that-that's
not typical. That was one of the better projects that we've ever had.
And then the one in the background with a little GUI is a music project [bad audio].
basically it could be whatever-whatever they want. I mean whatever they're interested in
and whatever we think that we, that we can support.
I'll mention a couple of other sort of non-curricular opportunities.
We have a very successful computer team that meets during an activity period. The primary
focus is USACO competitions. Knowing what the computer team does when I try to decide
on problems that we're gonna, that we're gonna do in courses, I try not to have too much
overlap. I try to have just a little bit of overlap, but if I know that students can go
to the computer team and learn about network flow, then I don't need to do network flow
in-in class. I can tell them to go to the computer team. Somebody'll teach you about
it.
And then the other, and then the other big avenue outside of class is the-the Student
Sysadmins. This has, this has been around forever. Sort of this started the lab was
a group of students that had sort of been passed on from-from year to year.
And sort of the killer app is the, is the Intranet which we use for to run the school
basically. I mean it does a lot of scheduling and-and-and-and voting and communication and
things of that sort. And it's entirely conceived, developed, maintained by students. There was
a big upgrade to it in 2007 so.
In terms of the, in terms of the future, and so this is somewhat speculative, the big issue
broadly in CS education is always what language do you use to write in. So when I took Computer
Science in high school in the, in the mid-90s it was in Pascal; it had been in Pascal for
a long time. It was very briefly in C++ which was a huge disaster just in terms of participation.
I mean if you're looking just at raw participation sort of how many programs are there, how many
students are there, how many teachers are there? It was a big disaster. I mean not-not-not
to beat on C++, but just the way it all, the way it all played out.
And they-they changed languages very quickly. It was in C++ very-very briefly. And so it's
been in Java now for-for quite a while.
The-the things aren't going well. There's a recent report, the URL is there, this runningonemptyreport
in terms of the national high school outlook. It's I mean it's bad; it's pretty bad; it's
running on empty not running on full, whatever.
So if I had to speculate next language I'd say it's probably gonna be Java because they're
a little gun shy about switching languages. Python; we've had a lot of success with Python.
There's a lot of introductory courses in universities that are trying Python. Or-or nothing. I mean
you get, there's definitely a-a-a feeling about, "Do we really need to write code?"
And so I argue heavily that the answer is, "yes," and if it's not going well you should
figure out how to make it better, but I think it's a definite possibility that CS in-in
high school could-could stop involving writing code on a large scale. Not Jefferson.
But in-in terms of, in terms of big things to figure out how to deal with, we've been
doing a lot with parallel programming; two different levels where we're trying to deal
with this. One is, one is the big distributed system, the Cloud, where we've worked some
with Google, Reston on this.
The other is sort of the fine grain OpenMP NVIDIA CUDA type approach. And at that point
we also use, there's a system at the University of Maryland called XMT that tries to get at
sort of algorithms. What does the algorithm look like at a, at very fine level? Not what's
this big problem and I'll just break it up into pieces and send it out on-on the Cloud
or I wanna run ten thousand different-different designs to figure out what's-what's the best
and I send each one out on a Cloud. Not that. But just to get one of these simulations or
whatever to run, how do I get this loop to go faster?
And so those are very different problems.
And then the in-in-in terms of data, the people, not the people I'm working with directly,
but some of people at George Mason are involved in this LSST project that's it-it's gonna
create a huge amount of data. I-I don't know how much in high school that will, that will
show up.
In the elective courses in the lab we try to get problems to be of a sufficient size
that if your algorithms aren't good you can actually tell, but I don't know it could,
it could just be too big.
Let me give two possibilities for-for, as far as where else, where-where does computing
go in high school if CS is doing poorly itself? I'll give you two examples at-at TJ. We have
a math class Numerical Analysis for the past five years. It's actually run I don't know
maybe four times. It doesn't-doesn't always run every year. But it uses MATLAB and depending
on the instructor that it's either like MATLAB where you write a lot of code or MATLAB where
you don't write as much code. You kinda go either way.
And we've had a computational Physics course for-for many years which is taught by a physics
teacher who-who writes code. And that most recently is-is-is been in Mathematica. Where
again, depending on, it sort of depends on the instructor these are systems where maybe
you really write a lot of code and maybe not, depending on how it's done.
Another possibility, and again these are all enrollment numbers, rough enrollment numbers.
So this is not a lot of students in-in-in terms of what's happening now.
In terms of-of potential, we have lots of students taking math and science courses and
there are places where obviously you can imagine in math and science in high school with good-good
students, where you can imagine doing-doing something that-that-that's in the direction
of computing.
This is way easier said than done because you have huge sort of teacher recruitment
training issues. I mean it's hard enough to keep teachers teaching CS to then say to teachers
teaching chemistry that you've gotta have now your all-all-all your students in your
class write code.
I'll-I'll believe it when I see it, but it's one-one possibility.
But what that doesn't answer, these are a few things we've been working on. We're always,
computer systems are always trying to push the envelope constantly. We try not to get
too comfortable ever.
So a couple of things we've working on the last-last couple of years: biology sort of
gene sequence type matching programs where you actually take from public databases and
then you build these little tree of life drawings.
We've been doing things with CUDA now for-for two or three years as we're programming on
the, on the, on the, directly on the NVIDIA graphics card.
You know we get better at it.
The picture of Darwin and the Mona Lisa -- that's approximating an image with transparent
polygons, so it's like a genetic algorithm type problem. I mean this is the kind of thing
that when you're 16, you can actually write code and do this and it's like, "WOW! This
is really cool!"
So that gets a lot, a lot of, a lot of buy in.
The water wheel is supposed to be like a design problem. We've-we've never really known exactly
how to tie into engineering courses. We've, it's a lot easier to tie into physics or statistics.
But I think there might be something here because there's obviously a lot of renewed
interest in-in energy and-and in efficiency.
And my personal favorite is this asteroids program 'cause beginning students particularly
in the summer, you get students who are like way ahead of the-the regular pace and they
wanna know what to do. My-my stock answer is to have 'em try to do asteroids because
with one, I feel like I can teach almost half a semester just off of this one little, this
one little game in terms of control and the, and it's sort of right at the right point
of-of-of-of-of trig and-and what they know about velocity and acceleration and-and how
they manage lists. And we try to get the asteroid to break apart. How they manage objects.
I don't know who would do that if not a computer science course. That's not, I still think
any-anything in that arena would happen. So.
And I've tried to do a little bit of a fly by here so if there's, af-afterwards when
we do the questions, [ ] questions, I could talk for a week on these courses.
>>Evan Glazer: And I'm gonna actually just wrap up in one minute so we can start questions.
I did have a portion associated with partnering with schools. I just wanted to make a quick
statement about it.
All schools need help and they need help in different ways. And what we've learned through
a lot of our partnerships is-is not just to go out and ask people for money. It's really
involving people to give challenges to this school; to extend our curriculum in ways that
we haven't thought about it before.
And so our plea, as you think about how you partner with schools, is ultimately: In what
ways can you engage students in-in some authentic activity that would create meaning for Google?
And-and you do some of that already.
And then the other thing that we would love is as Shane had mentioned, across the country
we're running short on people who can teach computer science.
It would be great if people took a sabbatical from time to time, go to your local school,
get people really excited about computer science. Just through your enthusiasm about what you
do gets other students really psyched up.
So ultimately we have to build a future generation of computer scientists. Not just to-to be
at Google. I mean even if you wanna go into biomedicine, you need to have a background
in computer science. And we recognize there's a, there's a clear problem going on.
And Shane had mentioned -- there could be a lot of integration into the whole curriculum
which is what happens at some schools. Rather than have a separate computer science strand.
But ultimately we have to find ways of gettin' students really excited, really excited about
the possibilities of computer science. And you experience it on the other end. See you
experience it here.
So my big request is: find a way to get into schools and share challenges of what you face
and give students learning opportunities kinda of what we've shared with you.
And spend as much time as you can because you, you're the ones who will ultimately be
the ones who in-inspire students to go into computer science.
So I really appreciate what you do and the potential that you can serve as a role model.
At this time we'll go ahead and take some questions.
Um-hum.
>>male in audience: I'm kind of curious; all this stuff you talk about in terms of courses
it sounds like it's very high level in terms, it's sort of like I guess [unintelligible]
?
>>Evan Glazer: It's actually just a ?
Go ahead.
>>Shane Torbert: Yeah, yeah. Sure, sure.
So the-the-the question and tell me if this is a fair, the question is we-we're sort of
approaching CS from the standpoint of you're writing code, you're at the software level
and not at the machine level in terms of how the-the-the computer is actually working.
And I-I think the answer to your question is what happens at our school is, and this
is one of these economies of scale issues because we have a big program and lots of
students, they take lots of courses.
What we've found is that we do, we do a little bit of it, but we have a whole electronics
lab. We have a whole freshman program that all of the students go through where they
see a lot of the sort of under the hood how does a machine work at all.
So for many years we had a computer architecture course and we eventually just sort of melded
it into the-the parallel course because what we found was it was rather than for us to
fake it, it was better to tell the student, "Just go take the microprocessor course across
the hall." And-and so we get a lot of cross over with-with students taking those kinds
of courses also.
There are certain places where it comes up obviously in the parallel course with-with-with
pointers and then also just what's like thirty cache line issues and-and-and-and sort of
the net-networking type issues there.
But we-we always approach it from the perspective of, "I'm trying to write this code," and in
the back of our minds we know there's somebody somewhere else in the building who's approaching
it from, "I'm trying to build this thing from-from circuits."
>>male in audience: [unintelligible]
>>Shane Torbett: Right.
Typically the point where they would, oh yeah, sorry.
So the-the we're-we're dealing with teenagers so if they, if they start off sort of interested
in computer science or they start a down a path where they're taking these courses, how
much do they sort of stay on that, on that path or-or-or diverge?
And so we lose two-thirds after the mandatory course. So two-thirds say, "Okay, I'll take-take
the mandatory course. Thank you very much. I'm not gonna take any more courses."
And then of the, of the 150 or so who take the-the course in 10th grade, roughly half,
it's maybe a little bit more in terms of sort of total presence in-in the lab, keep taking
courses after that. And the other ones go in-in-in other directions.
And again sort of the-the other, the thing that's not, that's sort of un-unsaid is these
aren't their only courses they're taking. So it's not as if they're, and they might
feel a little bit like they're majoring in computer science, I mean some-some of them
do major in computer science in-in-in a sense within the school. All their electives are
CS electives.
But that's-that's, us-usually the students are also taking AP Physics, or AP Chemistry
or things that are gonna prepare them in other directions also. And I-I think it's one of
the great things about the lab is that there are more people who use the lab than take
the courses.
So you get lots the-the actual pool of sort of used of the community is-is much larger.
>>[bad audio]: [unintelligible]
>>Evan Glazer: And-and I wanna add one element to that which is actually a challenge on our
level. We-we identify students who could be really talented in computer science. And we,
so there's this internal comp-competition of what areas of science and technology do
they pursue.
And there are unfortunately, unfortunately there are very so-social pressures internally
among the students; gravitate in certain areas and pre-conceived notions. It's very unfortunate
that the proportion of females is-is very low. And, I'm sorry.
>>female in audience: What's the number?
>>Shane Torbert: It's, I mean in the school it's roughly 50/50; so the first year obviously
it's roughly 50/50. In the lab it's probably 20 percent -- something like that which frank-frankly
I think is-is pretty good relative to a lot of other things I've seen, but clearly not
representative of the actual talent distribution.
>>female in audience: So if it's 50/50 and only 20 percent in the labs what are the women
generally ?
>>Shane Torbert: Life --
>>female in audience: [unintelligible]
>>Evan Glazer: Life and biological sciences.
>>female in audience: [unintelligible]
>>Evan Glaser: Biotech.
And so a struggle for us then is we see students who, females in particular, who have incredible
potential in computer science and-and choose a different direction.
And high school is set up in a way that you have the flexibility to go in a lot of different
directions and that the hope is later in life they'll see the values too when they originally
took this or us mentioning, "Hey, we think you have a lot of potential in this area.
You should consider applying it."
But in the end [bad audio] where-where we lose, it-it's very difficult to observe. And
we've created girls only computer science sections. I mean we tried to do some experimental
things, but it hasn't produced the results that we had hoped.
But down the road we hope to see in 10 years as alumni come back that they'll say, "I'm
really blending different aspects of my career where computer science is an important component
of that."
>>Shane Torbert: One other thing on that too is the numerical analysis class I've-I've
taught myself a couple times and since it's a math class ev-ev-ev-even though they're
writing a lot of code, it was, it was sort of like it was 50/50 boys and girls 'cause
the girls don't have any, in-in the school, don't have any preconceived notion against-against
taking math so they just take math. That was the course and so they were writing-writing-writing
code there.
>>Evan Glazer: We have time for one more question and I guess we could take more questions off
line.
How 'bout in the, in the back?
>>female in audience: [unintelligible]
>>Evan Glazer: So the question is about fine arts and how do we handle, how do we integrate
arts into our curriculum and also at the national level, how do we deal with the challenge associated
with cuts in arts?
That's a big elephant in the room and I, and I have to admit we have a hard time movin'
it. And-and here, so I'll explain what we do and I'll explain the opportunities that
people have, but I don't think we do a good enough job and the challenges that lie ahead
for fine arts and applied arts.
So we have a-a fine arts curriculum, but in a school of eighteen hundred students, so
we have one orchestra director, we have one band director who doesn't have a full load,
one choral director who doesn't have a full load, and half an art teacher; very limited.
And actually it continues to decline.
So independent if students wanted to pursue those courses because, and the reason why
that happens is two-fold: one, I-I shared with you the expectations of our diploma which
far exceed any other high school in our area and as a result something gets pushed out.
And-and that's what often gets pushed out.
And second, there's a weighting system that students are given additional credit so as
they think about their preparation for college, fine arts and applied arts aren't really given
the special recognition that you would if you were taking a course in Artificial Intelligence.
And so the students then get in a mindset of rather than pursue a passion of theirs,
they are pursuing what someone else would anticipate of acknowledging their next step
into college.
Having said that, those students who can't take art; I mentioned we have an eighth period;
we dedicate a part of our week as a non-academic period to pursue a passion; students then
have open access to all of those areas in which they can participate in fine and applied
arts.
Within the curriculum, our art teacher's very active in working with, for example, biology
teacher and the role of developing good drawing skills for observations when you're out in
a natural environment.
So there's some connections that are-are drawn, but not to the level that I would hope.
And on a federal level I showed the picture of the cake, it I'd- I don't know. I don't
have any optimistic foresight on how that's gonna be addressed because there's such a
strong movement towards basic skills and showing that we have competency on tests because schools
get shut down for not doing well on them, that the creative aspects such as the fine
arts and applied arts get-get pushed by the wayside.
So I have to apologize. I'm sorry. It's-it's a gloomy picture; it's a gloomy picture.
>>female in audience: [inaudible]
>>Evan Glazer: Yes, but we see, we see that, we see that happening in all the schools around
us, too.
>>male in audience: [unintelligible]
>>female in audience: [laughs]
>>Evan Glazer: Yeah.
>>Evetta: Alright. Well on behalf of Google I really wanna thank you guys. I think a lot
of people in this audience are pretty wowed by you guys are able to do with your students.
So thank you guys very, very much.
[applause]