Papers on computers and education
University of California, Berkeley
- Why Structure and Interpretation of
Computer Programs matters In 2011, to celebrate the 150th
anniversary of MIT, the Boston Globe made a list of the most
important MIT innovations, and they asked me to explain the importance
of SICP. This is what I sent them.
- "Bringing 'No Ceiling' to Scratch: Can One Language
Serve Kids and Computer Scientists?" (with Jens Mönig, a talk at the
Constructionism 2010 conference in Paris). Scratch is the brilliant
grandchild of Logo, from the MIT Media Lab, that uses drag-and-drop visual
programming to achieve, truly at last, the "no threshold" half of Logo's
famous promise, combined with a half-million-strong social network of kid
programmers sharing projects and working collaboratively. But Scratch
deliberately drops the "no ceiling" part. How hard would it be to do both
at once? Not hard at all, we think, if we remember Lisp's core idea of
procedure as data. BYOB (Build Your Own Blocks) is an
experimental implementation of this goal.
- "Speech at UCB CS Graduation, 2005"At
Berkeley every department has its own graduation ceremony. At the one
for the Computer Science majors in the College of Letters and Science,
there are a bunch of student speakers, then a faculty speaker, and then
a famous-outsider speaker. This year I gave the faculty speech, about
the sorry state of the world.
- "Harmful to Children? The Alliance
for Childhood Report" (a talk at the 2001 EuroLogo conference
in Linz). A first pass at a response to Fool's Gold, a
report condemning the use of computers in primary education. Some of
the points in the report are as applicable to Logo as to other forms of
educational computing, but Logo escapes from other criticisms in the report.
- "Reasoning with Computers" (a talk at the
1997 EuroLogo conference in Budapest). One of the programming projects
I used in my Logo-based computer science books is a program that solves
logic puzzles. This paper explores different approaches to such puzzles
(inference and backtracking) and how the program could be extended.
There are general purpose inference systems far more advanced, but this
limited program may make the ideas more accessible to a beginner.
- "Logo: Capitalist Tool?" (a talk at
the 1995 EuroLogo conference in Birmingham). A recent development at
the MIT Logo lab has been Mitch Resnick's program StarLogo, a version
featuring extreme parallelism (thousands of turtles). Results from
this very good technical work have been used as the basis for what I
consider dubious analogies, in Resnick's own book and in Seymour Papert's
latest book, that purport to prove the joys of "free"-market capitalism.
Here I debunk those analogies.
- "Is Programming Obsolete?" (A talk I've
given at a few conferences in 1994.) No, it isn't, even though there's
slick "courseware" available these days.
- "Against Multimedia" (Computer Professionals
for Social Responsibility newsletter, 1994), in which I explain why it's
all a bad idea.
- "Symbolic Programming vs. Software Engineering--Fun
vs. Professionalism--Are These the Same Question?" (a talk at the 1993
EuroLogo conference in Athens). Sorry about the long title; they asked me
for a title before I'd decided what to talk about! It turned out to be about
the word "Logo-like" that people use these days to describe an enormous range
of educational environments. I consider what makes Logo Logo, and some of
the different ways in which things can be like or unlike that.
- "The Role of Logo in Secondary and Post-Secondary
Computer Science" (a talk at the 1993 International Logo Conference
in Melbourne). What language should we use to teach computer science?
I compare Logo with its competitors: Scheme, Pascal, and visual languages
such as Visual Basic and (in a different way) Hypertalk.
- "Avoiding Recursion" (in Learning
Mathematics and Logo, Celia Hoyles
and Richard Noss, editors, MIT Press, 1992). Functional languages
such as Logo and Scheme generally use recursion as the main control
mechanism, rather than iterative constructs such as
for. Many beginning programmers find the idea of
recursion difficult, and that gives these languages a bad reputation.
Here I suggest that the use of higher-order procedures can allow a
wide range of interesting programs to be written before the learner
must confront the challenge of recursion.
- "Beyond Programming: A Two-Summer
Computer Science Institute for Secondary Teachers" (a talk at the 1992
National Educational Computing Conference in Dallas). From 1989 to 1992
I taught high school teachers Logo and computer science
in a summer program at Kent State University. The program was heavy on
experiential learning; the talk describes some of the technical and
pedagogic issues that arose.
- "Symbolic Programming vs. the AP Curriculum"
(in The Computing Teacher, 1991). I argue that learning
to program should be fun, not primarily focused on avoiding errors; that
can come later.
- "Abstracts for Four Papers
I'm Gonna Write Someday". The 1989 national convention of
Computer Professionals for Social Responsibility came just after
the famous Internet worm that disabled all the computers in the world
for a day or so. There was a lot of discussion about it, as you
might imagine. I thought that a lot of people's ideas about moral
education were naive, and this is a collection of musings that I
wrote for CPSR members.
- "Computer Hacking and Ethics", a
position paper I brought to an ACM `Select Panel on Hacking' in
1985. I argue that moral development is different from
locking the door and throwing away the key. This paper has
- What is a Hacker? The word was
a compliment until Newsweek took it over.
- A Case Study A description of the
computer lab I set up at the Lincoln-Sudbury Regional High School.
- "Stop Saying `Computer Literacy'!",
a (badly edited) version of which was published in Classroom
Computer News in 1983. During the first wave of hysteria to
get computers into schools and homes, I argued that that wasn't going
to make everyone rich. And phrases like "computer literacy" and
"media literacy" and so on weaken the original, important meaning
of the word "literacy."
- "Using Computers for Educational Freedom",
a talk I gave at Lesley College in 1980. It's about the philosophy
behind the way I set up my high school computer lab: giving kids keys
to the room and root access and stuff.