<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
<HEAD>
<TITLE> HomePage for Brian Harvey (bh@cs.Berkeley.EDU) </TITLE>
<link rel="shortcut icon" href="http://www.cs.berkeley.edu/~bh/favicon.png" type="image/png">
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@600&family=Public+Sans:wght@300&display=swap" rel="stylesheet">
</HEAD>
<BODY>
<P>
<TABLE WIDTH="100%"><TR><TD VALIGN=TOP>
<table width=450px><tr><td valign=top>
<table width=220px><tr><td>
<IMG width=220px SRC="new-bh.jpg" ALT="">
</td></tr><tr><td align="center">then</td></tr></table>
</td>
<td valign=top>
<table width=220px><tr><td>
<IMG width=220px SRC="beard.jpg" ALT="">
</td></tr><tr><td align="center">now</td></tr></table>
</TD>
</tr></table></td>
<TD VALIGN=TOP><LIT><font size=6><b>Brian Harvey</b></font><br>
<A HREF="http://www.cs.berkeley.edu">Computer Science Division</A><BR>
<A HREF="http://www.berkeley.edu">University of California at Berkeley</A><BR>
784 <A HREF="http://www.cs.berkeley.edu/~sequin/soda/soda.html">Soda Hall</A> / 510 917-7828<BR>
<A HREF="mailto:bh@cs.berkeley.edu"><CODE>bh@cs.berkeley.edu</CODE></A><BR>
(he/him/hey, you)<br>
<BR>
BS, <A HREF="http://www-math.mit.edu/">Mathematics</A>,
<A HREF="http://web.mit.edu/">MIT</A>, 1969<BR>
MS, <A HREF="http://www-cs.stanford.edu/">Computer Science</A>,
<A HREF="http://www.stanford.edu/">Stanford</A>, 1975<BR>
PhD, <A HREF="http://www-gse.berkeley.edu/program/SESAME/sesame.html">Science
and Mathematics</A><BR>
          <A HREF="http://www-gse.berkeley.edu/">Education</A>,
<A HREF="http://www.berkeley.edu">Berkeley</A>, 1985<BR>
MA, Clinical Psychology,<BR>
          <A HREF="http://www.newcollege.edu/">New College of California</A>, 1990<BR>
</LIT></TD></TR></TABLE>
Take a look at <A HREF="heath.html"> my son Heath</A>.
<P>I'm a "Senior Lecturer with Security of Employment Emeritus,"
which means that they paid me to teach full-time (not to do research), but was
essentially tenured, even though I'm not supposed to call it that.
(But since nobody outside the University of California has any idea what
that title means, I'm allowed to call myself a "Teaching Professor Emeritus"
instead. Research faculty at some other UC campuses don't allow this for
their teaching faculty, because they're
afraid people might think we're like them and they'll get cooties.)
I am retired as of July 1, 2013. But I'm continuing to work on various
education-related projects at the University.
<P>I taught many of the lower division (freshman and sophomore)
<A HREF="http://www.eecs.berkeley.edu/Courses/">computer science courses</A>
at Berkeley, as well as one called <A HREF="195-syllabus">Social
Implications of Computing</A> and
occasionally others.I'm (still) faculty advisor of the
<A HREF="http://www.csua.berkeley.edu/">Computer Science
Undergraduate Association</A> and of the
<A HREF="http://www.ocf.berkeley.edu/">Open Computing Facility</A>.
<table><tr><td>
You can see
<A HREF="https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E">videos</A>
of my course
CS 61A,
<CITE>Structure and Interpretation of Computer Programs</CITE>,
based on the amazing
<A HREF="http://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html">textbook</A>
of the same name, still, after 50 years, the best computer science
book in the world. My lecture notes, sample exams, and other course documents
are preserved <a href="61a-pages">here</a>. The videos are archived off campus
because they're not captioned and the campus is required to caption any videos
they present to the world. I am pleased and honored that people are still
discovering my course online and pursuing it with interest, even without
gold stars for completing it.
<td><img src="sicp-small.jpg">
</tr></table>
<P>I'm also interested in the use of computers in
pre-college education; I used to be a <A HREF="lsrhs.html">high school</A>
teacher, and was involved in the development of the Logo programming
language. More recently I've been helping develop the Snap<i>!</i> language
(see below).
<!-- And since 2004 I've been volunteering in a local elementary school. -->
<P><A href="lastlect.mov">Brian's Last Lecture</A>
(Quicktime) (download it to watch; don't try to stream it in the browser)
<HR>
<P><table>
<tr><td align=left valign=center><img src="byob/bh/Logo5.png" height=150px>
<td>
<td align=left valign=center><img src="byob/bh/forscript.gif" height=150px>
<td align=center valign=center><img src="byob/bh/arrow3.gif" height=50px>
<td align=center valign=center><img src="byob/bh/forexample.gif" height=100px>
<td align=right valign=center><img src="byob/bh/arrow3.gif" height=50px>
<td align=right valign=center><img src="byob/bh/fortalking.gif">
</tr></table>
<P><TABLE><TR><TD>Build Your Own Blocks
(<A HREF="http://snap.berkeley.edu"><img src="byob/bh/Logo5.png"
alt="Snap!" height=30px></A>
a/k/a <A HREF="http://snap.berkeley.edu">BYOB</A>) is an extended version of
<A HREF="http://scratch.mit.edu">Scratch</A>, a
drag-and-drop programming language for kids from MIT.
I've been working on it with Jens Mönig, adding
<A HREF="BYOB.pdf">higher order functions</A> and true object
inheritance for first-class sprites, to
support an undergraduate-level
introductory computer science course. We have
<A HREF="http://inst.eecs.berkeley.edu/~cs10">established such a course</A>
at Berkeley, and are working on spreading it to other colleges and high
schools through teacher preparation and support efforts.
<P>This project really excites me — sneaking the ideas of Scheme
into the visual metaphor of Scratch!<br />(<img src="ring.png"> at
the right is λ.)<br />
Recently we also snuck in the vector and matrix functions of APL. :)
<TD><TABLE>
<TR><TD><IMG SRC="simplemap.png"></TR>
<TR><TD><IMG SRC="mapsquare.png"></TR>
</TABLE></TR></TABLE>
<HR>
<table><tr><td>
<img src="bjc/bh/bjc200.png">
<td><i>The <a href="bjc/index.html">Beauty and Joy of Computing</a></i> is
Berkeley's computer science course for non-majors, and also, in somewhat
different form, a <a href="http://bjc.edc.org">high school</a> CS course
intended for a wide audience, including the kids who have not traditionally
viewed themselves as CS nerds. In addition to programming in Snap<i>!</i>, it
includes a strong component of the social implications of computing. The high
school version is being developed in collaboration with <a
href="http://edc.org">EDC</a>, a nonprofit R&D company with long
experience developing K-12 curricula. It is College Board endorsed as meeting
the requirements for the new AP <a href="http://csprinciples.org">CS
Principles</a> exam.</tr></table>
<HR>
<H1>Berkeley Logo (UCBLogo)</H1>
<TABLE><TR><TD valign="center">
Berkeley Logo (<A HREF="usermanual">download manual as text</A>)
(<A HREF="downloads/ucblogo.pdf">download manual as PDF</A>)
(<A HREF="announce">download readme</A>)
is a freeware interpreter that I wrote along with
several students. (Major contributors are Daniel van Blerkom, Khang Dao,
Michael Katz, Douglas Orleans, and Sanford Owings.)
<p>News! UCBLogo development has been taken over by wonderful chief volunteer
Josh Cogliati and bunches of other volunteers:
dmalec, Barak A. Pearlmutter, janekr, hosiet, reinerh, atehwa, kilobyte, pahihu
<p>The newest source tree is here:<br />
<a href="https://github.com/jrincayc/ucblogo-code">https://github.com/jrincayc/ucblogo-code</a>.
You can file bug reports in its issue tracker at Github.</p>
<TD valign="center"><IMG SRC="ucblogo3.gif"></TABLE>
<p>The current version is 6.2.2, posted 29 Dec 2021.</p>
<p>Click here to retrieve
the <STRONG>complete distribution</STRONG> archive for
<A HREF="downloads/ucblogo.tar.gz">Unix/Linux</A>,
<A HREF="downloads/UCBLogo.dmg">MacOS X</A>,
or <A HREF="downloads/ucbwlogosetup.exe">Windows</A>,
complete with C source code.
<P>Here are links to version 5.3 for frozen platforms
<A HREF="downloads/blogo.exe">DOS</A>
or <A HREF="downloads/ucblogo.sea.hqx">Mac pre-OS X</A>.
A version for the One Laptop Per Child XO is
<A HREF="downloads/ucblogo-4.xo">here</A>.
<p>(If you think Logo is just a graphics
language for little kids, check out a
<A HREF="logo-sample.html">sample program</A>
that should impress you.)
<P>Also consider David Costanzo's
<A HREF="http://fmslogo.sourceforge.net/">FMSLogo</A>, an
updated version of George Mills' MSWLogo,
a multimedia-enhanced version for MS Windows based on Berkeley Logo.
Or Andreas Micheler's
<A HREF="http://aucblogo.org">aUCBLogo</A>,
a rewrite and enhancement of UCBLogo.
<P> Here are links to <A HREF="other-logos.html">other versions of Logo</A>.
<P><SMALL>If you got here by Googling "logo" and are looking for someone to
design a logotype (an identifying symbol) for your organization, you're in the
wrong place. This is the Logo computer programming language for
learners!</SMALL>
<P>
<A NAME="CSLS"><TABLE WIDTH="100%"><TR><TD VALIGN=TOP>
<A HREF="v1-toc2.html"><IMG SRC="csls1.jpg" ALT="v1 cover"></A></TD><TD VALIGN=TOP>
<A HREF="v2-toc2.html"><IMG SRC="csls2.jpg" ALT="v2 cover"></A></TD><TD VALIGN=TOP>
<A HREF="v3-toc2.html"><IMG SRC="csls3.jpg" ALT="v3 cover"></A></TD><TD VALIGN="center">
(The beautiful cover art<BR>
is by <A HREF="http://www.jonrife.com/">Jon Rife</A>.)
</TD></TR></TABLE>
<P>Now <STRONG>FREE</STRONG> for personal use: The second edition of
<CITE>Computer Science Logo Style</CITE>, a three-volume series intended
mainly for teenagers and their teachers, or for adults who aren't professional
programmers. You can look at the tables of contents and <U><STRONG>complete
downloadable PDFs</STRONG></U> and browsable HTML versions of
<UL>
<LI><CITE><A HREF="v1-toc2.html"><i>Symbolic Computing</i></A></CITE>,
a Logo programming text that concentrates on natural language
processing rather than the graphics most people associate with Logo.
<LI><CITE><A HREF="v2-toc2.html">Advanced Techniques</A></CITE>,
in which discussions of more advanced Logo features alternate with
sample projects using those features, with commentary on the
structure and style of each.
<LI><CITE><A HREF="v3-toc2.html">Beyond Programming</A></CITE>,
brief introductions to six college-level computer science topics.
</UL>
<EM>Note: These books are still in copyright, and in print. They are
posted here for your personal use, not for resale or redistribution.
Thanks!</EM>
<P>MIT Press web pages for <CITE>Computer Science Logo Style</CITE>
<a href="https://mitpress.mit.edu/books/computer-science-logo-style-second-edition-volume-1">v1</a>
<a href="https://mitpress.mit.edu/books/computer-science-logo-style-second-edition-volume-2">v2</a>
<a href="https://mitpress.mit.edu/books/computer-science-logo-style-second-edition-volume-3">v3</a>
<P>
<DIV align="center">
<TABLE border="3" cellspacing="2" cellpadding="2" >
<caption align="bottom" style="font: bold 14pt/12pt sans-serif">Logo Users Ring</caption>
<TR>
<TD bgcolor="#e6e7c9" align="right">
<B>
<a href="http://www.ringsurf.com/netring?ring=logoring;id=83;action=prev" target="_top">Previous</a>
</b>
</td>
<TD bgcolor="#e6e7c9" align="right">
<a href="http://www.ringsurf.com/netring?ring=logoring;id=83;action=prev5" target="_top">5</a>
</td>
<TD bgcolor="#e6e7c9" rowspan=4>
<img SRC="tshirt.jpg" width="200" HEIGHT="121" ALT="Logo Spoken Here: Ring Home" BORDER=0 USEMAP="#logoring">
<MAP NAME="logoring">
<AREA SHAPE=RECT COORDS="0,0,40,15" HREF="http://www.ringsurf.com/netring?ring=logoring;action=addform" target="_top" ALT="Join">
<AREA SHAPE=RECT COORDS="140,0,200,20" HREF="http://www.ringsurf.com/netring?ring=logoring;action=stats" target="_top" ALT="Statistics">
<AREA SHAPE=RECT COORDS="0,15,199,122" HREF="http://www.ringsurf.com/netring?ring=logoring;action=home" target="_top" ALT="Ring Home">
</map>
</td>
</tr>
<TR>
<TD bgcolor="#e6e7c9" align="right">
<B>
<a href="http://www.ringsurf.com/netring?ring=logoring;id=83;action=next" target="_top">Next</a>
</b>
</td>
<TD bgcolor="#e6e7c9" align="right">
<a href="http://www.ringsurf.com/netring?ring=logoring;id=83;action=next5" target="_top">5</a>
</td>
</tr>
<TR>
<TD bgcolor="#e6e7c9" colspan="2" align="right">
<B>
<a href="http://www.ringsurf.com/netring?ring=logoring;action=rand" target="_top">Random
Site</a>
</b>
</td>
</tr>
<TR>
<TD bgcolor="#e6e7c9" colspan="2" align="right">
<B>
<a href="http://www.ringsurf.com/netring?ring=logoring;action=list" target="_top">List Sites</a>
</b>
</td>
</tr>
</table>
</div>
<HR>
<P>
<TABLE WIDTH="100%"><TR><TD VALIGN=TOP>
Now <STRONG>FREE</STRONG> for personal use: The second edition of
<A HREF="ss-toc2.html">
<CITE>Simply Scheme: Introducing Computer Science</CITE></A>,
written with my colleague
<A HREF="http://www.cnmat.berkeley.edu/~matt">Matthew Wright</A>.
The book is intended for college-level non-CS majors and
for students who intend to major in CS but whose high school programming
background hasn't prepared them for our first course for majors.<BR>
<BR>
The second edition was published in 1999.<BR>
<BR>
You can look at <U><STRONG>complete
downloadable PDFs</STRONG></U> and browsable HTML versions of
the chapters.
<BR><BR>
<EM>Note: This book is still in copyright, and in print. It is
posted here for your personal use, not for resale or redistribution.
Thanks!</EM>
<BR><BR>
</TD><TD><A HREF="ss-toc2.html"><IMG SRC="simply.jpg" ALT="cover art"></A>
</TD></TR></TABLE>
<P>Here are the <A HREF="ftp://ftp.cs.berkeley.edu/pub/scheme">
program files</A> for use with the book (or by
<A HREF="downloads/simply"> HTTP</A>).
<P><A HREF="http://mitpress.mit.edu/books/simply-scheme-second-edition">MIT
Press web page for <CITE>Simply Scheme</CITE></A>
<HR>
<P>I've written several <A HREF="papers.html">papers about
computers and education</A>.
<HR>
<P>I'm a member of
the <A HREF="http://www.exploratorium.edu/">Exploratorium</A>,
the <A HREF="http://eff.org">Electronic
Frontier Foundation</A>,
<A HREF="http://progfree.org/">the League for Programming Freedom</A>, and <A
HREF="http://www.aclu.org/">the
American Civil Liberties Union</A>.
Other organizations I support include the
<A HREF="http://epic.org">Electronic Privacy Information Center</A>,
the <a href="http://bfhp.org">Berkeley Food and Housing Project</a>,
the <a href="http://ecfs.org">Ethical Culture Fieldston School</a>,
and <a href="http://campwinnarainbow.org">Camp Winnarainbow</a>.
(The latter group are not membership organizations, hence the grouping.)
<H3>So, what do you do for fun, Brian?</H3>
<UL>
<LI>I visit the <A HREF="http://www.exploratorium.edu/">Exploratorium</A>,
the world's best museum.
<LI>I watch the <A
HREF="http://www.cs.cmu.edu/afs/cs.cmu.edu/user/clamen/misc/tv/Animaniacs/Animaniacs.html">
Animaniacs</A>, the only good thing on television. (The original ones, not
the 2020 Hulu reboot, which is just okay.)
<LI>I listen to 1964-1968 British rock, especially the
<A HREF="http://www.recmusicbeatles.com/">Beatles</A>.
<LI>I read <A HREF="http://www.peterdickinson.com">Peter Dickinson</A> books,
both his adult mystery novels and his books for children.
<LI>I eat Chinese food.
<LI>I collect <A HREF="art.html">art</A>,
<A HREF="masks.html">masks</A>, and
<a href="https://karakuribox-webshop.com/">Karakuri puzzle boxes.</li>
<li align=middle><table align=middle><tr>
<td align=middle><a align=middle href="https://thenib.com/"><img width="450px"
align=middle src="webcomics/nib-logo.jpg"></a> </td>
<td>presents new political cartoons daily M-F, by great cartoonists such as
<a href="https://www.patreon.com/keefknight/posts">Keith Knight</a>,
<a href="https://www.patreon.com/rubenbolling/posts">Ruben Bolling</a>,
<a href="https://www.patreon.com/jensorensen">Jen Sorensen</a>,
<a href="https://thismodernworld.com/">Tom Tomorrow</a>,
<a href="https://mattbors.com/">Matt Bors</a>,
and <a href="https://www.mikedawsoncomics.com/">Mike Dawson</a>.
(Links are to their patreon pages or equivalent.)</td>
</tr></table></li>
<li><a href="http://www.websudoku.com"><img height="300px" width="300px"
align=middle src="sudoku.png"></a>,
<a href="https://www.kenkenpuzzle.com/"><img height="300px" width="300px"
align=middle src="kenken.png"></a>,
<a href="https://www.futoshiki.org/"><img height="300px" width="300px"
align=middle src="futoshiki.png"></a>.</li>
<LI>How come all the best webcomics are about girls?<br />
<a href="http://www.kiwiblitz.com/comic/"><img width="468px" src="webcomics/kiwi-blitz.png"></a>
<a href="http://www.girlgeniusonline.com/comic.php"><img width="468px" src="webcomics/girlgenius.jpg"></a>
<a href="http://www.sleeplessdomain.com/comic/">
<img src="webcomics/sleepless.jpg" width="300px"></a>
<br />But lately I've really gotten hooked:<br />
<a href="http://www.casualvillain.com/Unsounded/comic/ch01/ch01_01.html">
<img width="468px" src="webcomics/unsounded.jpg"></a>
<a href="https://www.prophecyofthecircle.com/"><img width="468px" src="webcomics/prophecy-circle.png"></a>
<a href="https://www.gunnerkrigg.com/"><img width="150px" src="webcomics/g-court.png"></a>
<a href="http://giftscomic.com/"><img width="468px" height="61px" src="webcomics/gifts-ice.jpg"></a>
<a href="https://www.trippingoveryou.com/comic/"><img width="468px" src="webcomics/tripping-over-you.png"></a>
<a href="http://www.sandraandwoo.com/gaia/"><img width="468px" height="61px" src="webcomics/gaia-ha-02stretched.png"></a>
<a href="http://www.twindragonscomic.com/"><img width="468px" src="webcomics/twin-dragons.png"></a>
<a href="https://www.awakencomic.com/"><img width="468px" height="61px" src="webcomics/awaken.jpg"></a>
<a href="https://replaycomic.com/"><img width="468px" src="webcomics/replay.jpg"></a>
<a href="https://centralia2050.com/"><img width="468px" src="webcomics/centralia.png"></a>
<a href="https://twokinds.keenspot.com/"><img width="468px" src="webcomics/twokinds.png"></a>
<a href="https://existentialcomics.com/"><img width="280px" src="webcomics/existentialism.png"></a><br />
<a href="http://www.white-noise-comic.com/"><img width="220px" src="webcomics/white-noise.png"></a>
<a href="https://www.ctccomic.com/comic"><img width="234px" src="webcomics/countdown.png"></a>
<br />And of course I read the classics:<br />
<a href="https://www.washingtonpost.com/doonesbury/"><img width="280px" src="webcomics/doonesbury.png"></a>
<a href="https://xkcd.com/"><img src="webcomics/xkcd.png"></a>
<a href="https://foxtrot.com/"><img width="300px" src="webcomics/foxtrot.png"></a>
<a href="https://www.smbc-comics.com/"><img width="330px" src="webcomics/smbc.png"></a>
<a href="https://questionablecontent.net/"><img width="290px" src="webcomics/qc.png"></a>
</li>
</UL>
<P>Check out the <A HREF="http://www.anu.edu.au/polsci/marx/marx.html">Marxism
page</A> and the <A HREF="http://www.marxists.org/">Marxists Internet
Archive</A>.
<P>Check out the <A HREF="turkey.html">world's best turkey
stuffing recipe</A>.
<P>
<ADDRESS>
<CODE>bh@cs.berkeley.edu</CODE>
<img src="http://www.cs.Berkeley.EDU/People/Faculty/Images/harvey.small.gif" ALT="">
</ADDRESS>
</BODY>
</HTML>