<HTML>
<HEAD>
<TITLE>papers on computers and education</TITLE>
</HEAD>
<BODY>
<H1>Papers on computers and education</H1>
<CITE>Brian Harvey<BR>University of California, Berkeley</CITE>
<UL>
<LI><a href="HOPL.pdf">History of Logo</a> (C. Solomon et al.) I'm one of eight
listed authors and a cast of thousands who helped with this paper for the ACM
History of Programming Languages journal and conference.
<LI><a href="snap/baby3.pdf">"Why Do We Have to Learn This Baby Language?"</a>.
An answer to high school students in the Beauty and Joy of Computing course
who complain about having to use what they think is just the Scratch they
learned when they were eight.
<LI><A HREF="BJC.pdf">"The Beauty and Joy of Computing: Computer Science for
Everyone"</A>, Constructionism 2012, Athens. About the development of CS 10,
Berkeley's new CS breadth course for non-majors.
<LI><A HREF="sicp.html">Why <cite>Structure and Interpretation of
Computer Programs</cite> matters</A> In 2011, to celebrate the 150th
anniversary of MIT, the <i>Boston Globe</i> 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.
<LI><A HREF="BYOB.pdf">"Bringing 'No Ceiling' to Scratch: Can One Language
Serve Kids and Computer Scientists?"</A> (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. <A HREF="https://people.eecs.berkeley.edu/~bh/byob">BYOB</A> (Build Your Own Blocks) is an
experimental implementation of this goal.
<LI><A HREF="grad05.html">"Speech at UCB CS Graduation, 2005"</A>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.
<LI><A HREF="alliance.html">"Harmful to Children? The <CITE>Alliance
for Childhood</CITE> Report"</A> (a talk at the 2001 EuroLogo conference
in Linz). A first pass at a response to <CITE>Fool's Gold,</CITE> 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.
<LI><A HREF="logic.html">"Reasoning with Computers"</A> (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.
<LI><A HREF="capitalist.html">"Logo: Capitalist Tool?"</A> (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.
<LI><A HREF="obsolete.html">"Is Programming Obsolete?"</A> (A talk I've
given at a few conferences in 1994.) No, it isn't, even though there's
slick "courseware" available these days.
<LI><A HREF="multi.html">"Against Multimedia"</A> (Computer Professionals
for Social Responsibility newsletter, 1994), in which I explain why it's
all a bad idea.
<LI><A HREF="elogo.html">"Symbolic Programming vs. Software Engineering--Fun
vs. Professionalism--Are These the Same Question?"</A> (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.
<LI><A HREF="gary.html">"The Role of Logo in Secondary and Post-Secondary
Computer Science"</A> (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.
<LI><A HREF="noss.ps">"Avoiding Recursion"</A> (in <CITE>Learning
Mathematics and Logo</CITE>, 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 <CODE>while</CODE>
and <CODE>for</CODE>. 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.
<LI><A HREF="ifsnecc.ps">"Beyond Programming: A Two-Summer
Computer Science Institute for Secondary Teachers"</A> (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.
<LI><A HREF="bridge.html">"Symbolic Programming vs. the AP Curriculum"</A>
(in <CITE>The Computing Teacher</CITE>, 1991). I argue that learning
to program should be fun, not primarily focused on avoiding errors; that
can come later.
<LI><A HREF="four.html">"Abstracts for Four Papers
I'm Gonna Write Someday"</A>. 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.
<LI><A HREF="hackers.html">"Computer Hacking and Ethics"</A>, 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
two appendices:
<UL>
<LI><A HREF="hacker.html">What is a Hacker?</A> The word was
a compliment until <CITE>Newsweek</CITE> took it over.
<LI><A HREF="lsrhs.html">A Case Study</A> A description of the
computer lab I set up at the Lincoln-Sudbury Regional High School.
</UL>
<LI><A HREF="stop.html">"Stop Saying `Computer Literacy'!"</A>,
a (badly edited) version of which was published in <CITE>Classroom
Computer News</CITE> 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."
<LI><A HREF="freedom.html">"Using Computers for Educational Freedom"</A>,
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.
</UL>
<P><ADDRESS>
<A HREF="index.html"><CODE>www.cs.berkeley.edu/~bh</CODE></A>
</ADDRESS>
</BODY>
</HTML>