TITLE: Strange Loop 2: Simon Peyton Jones on Teaching CS in the Schools
AUTHOR: Eugene Wallingford
DATE: September 30, 2018 10:31 AM
DESC:
-----
BODY:
The
opening keynote
this year was by Simon Peyton Jones of Microsoft Research, well
known in the programming languages for Haskell and many other
things. But his talk was about something considerably less
academic: "Shaping Our Children's Education in Computing", a
ten-year project to reform the teaching of computing in the UK
primary and secondary schools. It was a wonderful talk, full of
history, practical advice, lessons learned, and philosophy of
computing. Rather than try to summarize everything Peyton Jones
said, I will let you watch the video when it is posted (which
will be as early as next week, I think).
I would, though, like to highlight one particular part of the
talk, the way he describes computer science to a non-CS audience.
This is an essential skill for anyone who wants to introduce CS
to folks in education, government, and the wider community who
often see CS as either hopelessly arcane or as nothing more than
a technology or a set of tools.
Peyton Jones characterized computing as being about information,
computation, and communication. For each, he shared one or two
ways to discuss the idea with an educated but non-technical
audience. For example:
- Information. Show two images, say the
Mona Lisa and a line drawing of a five-pointed star. Ask
which contains more information. How can we tell? How can
we compare the amounts? How might we write that information
down?
- Computation. Use a problem that everyone
can relate to, such as planning a trip to visit all the US
state capitals in the fewest miles or sorting a set of
numbers. For the latter, he used one of the activities
from CS Unplugged on
sorting networks
as an example.
- Communication. Here, Peyton Jones used the
elegant and simple idea underlying the Diffie Hellman algorithm
for sharing secret as his primary example. It is simple and
elegant, yet it's not at all obvious to most people who don't
already know it that the problem can be solved at all!
In all three cases, it helps greatly to use examples from many
disciplines and to ask questions that encourage the audience to
ask their own questions, form their own hypotheses, and create
their own experiments. The best examples and questions actually
enable people to engage with computing through their own
curiosity and inquisitiveness. We are fascinated by computing;
other people can be, too.
There is a huge push in the US these days for everyone to learn
how to program. This creates a tension among many of us computer
scientists, who know that programming isn't everything that we do
and that its details can obscure CS as much as they illuminate it.
I thought that Peyton Jones used a very nice analogy to express the
relationship between programming and CS more broadly: Programming
is to computer science as lab work is to physics. Yes, you could
probably take lab work out of physics and still have physics, but
doing so would eviscerate the discipline. It would also take away
a lot of what draws people to the discipline. So it is with
programming and computer science. But we have to walk a thin line,
because programming is seductive and can ultimately distract us
from the ideas that make programming so valuable in the first place.
Finally, I liked Peyton Jones's simple summary of the reasons that
everyone should learn a little computer science:
- Everyone should be able to create digital media,
not just consume it.
- Everyone should be able to understand their tools,
not just use them.
- People should know that technology is not magic.
That last item grows increasingly important in a world where the
seeming magic of computers redefines every sector of our lives.
Oh, and yes, a few people will get jobs that use programming skills
and computing knowledge. People in government and business love to
hear that part.
Regular readers of this blog know that I am a sucker for aphorisms.
Peyton Jones dropped a few on us, most earnestly when encouraging
his audience to participate in the arduous task of introducing and
reforming the teaching CS in the schools:
- "If you wait for policy to change, you'll just grow old.
Get on with it."
- "There is no 'them'. There is only us."
(The second of these already had a home in my brain. My wife has
surely tired of hearing me say something like it over the years.)
It's easy to admire great researchers who have invested so much
time and energy into solving real-world problems, especially in
our schools. As long as this post is, it covers only a few
minutes from the middle of the talk. My selection and bare-bones
outline don't do justice to Peyton Jones's presentation or his
message. Go watch the talk when the video goes up. It was a
great way to start Strange Loop.
-----