People of ACM - Brian Harvey
August 5, 2025
We’ve read that you are especially proud of a computer center you established in 1980 at the Lincoln-Sudbury Regional High School (LSRHS) in Massachusetts. Will you tell us a little about that project?
Gladly. My interest in education stems from a housemate leaving a copy of A.S. Neill’s Summerhill lying around the house. I was thrilled by the idea that kids could run their own lives without jumping through hoops and started reading more of the 1970s progressive education literature. Eventually I decided to be a teacher myself and was hired at LSRHS to create a new Computer Department. I hustled a grant from Digital Equipment Corporation to get a PDP 11/70 running Unix. The machine was laughably puny compared with what we all have in our pockets now, but it was able to give fast enough service to 20-odd users at once, largely because the graphical user interface hadn’t been invented yet.
My own learning about computer programming was heavily influenced by the time I spent at the MIT Artificial Intelligence Lab as an undergraduate. I wasn’t really an AI person; I fell into hanging out with the system programmers. At the AI Lab they let anyone use their system and do anything they wanted! As a freshman I found a bug in the text editor (TECO), and when I reported it to one of the official system staff he said, “I’m busy; fix it yourself.” He wasn’t too busy to teach me where to find the source code for the system programs and how to assemble and load a new version. I was thrilled, and when I found myself setting up a computer lab for high school kids, I resolved to make it like the AI Lab—run by the kids with a minimum of curriculum.
I started by talking the school into letting me not give grades. Instead, the computer courses were offered pass/fail, and it was hard to fail, in part because I also instituted variable-credit courses. Typical courses at that school were two units. Mine offered one to four units. Kids who didn’t really know what programming was (which was most everyone back then), but were curious, could take Intro to Computers. Even if they eventually lost interest, they could quit halfway through and get one unit of pass instead of two units of fail. And the kids who really got into it could live in the computer center and get four units. I would never get away with all that today, but when I got to LSRHS in 1979 computers hadn’t taken over the world yet, and the school saw computing as a not-very-important elective, like art or drama.
Intro to Computers had a little bit of curriculum; you had to learn how to do word processing in Emacs, which helped kids a lot with their English and History papers. Students also had to learn Logo programming up to recursion, either through text processing using Logo’s word and sentence primitives or through turtle graphics. I was forced into a self-paced structure because of a shortage of graphics terminals. Real ones cost $10,000 back then, so I hustled a grant of Atari 800s and programmed them as turtle graphics terminals. But they weren’t used for anything else because they only had 40-character lines, so they weren’t great for word processing. (After school, of course, they were used for video games.) I had to have some kids doing graphics while other kids were doing text, so I made curriculum handouts, and kids would keep track of their progress through the handouts.
This meant I was never standing in front of the room. (It didn’t really have a “front,” because the terminals were facing all directions.) My teaching was one-on-one. I would help when a kid had a problem that another kid couldn’t solve for them. When nobody had a problem, I’d sit on the couch and read the NY Times. I loved being able to teach that way. Back when I was student teaching, my supervisor told me that I had a good sense of what each individual kid was doing, but not such a good sense of what the class as a whole were doing. This was the opposite of most student teachers. At my LSRHS computer center, kids would have loud conversations across the room, many, but not all of them, on topic. Other teachers who came into my room immediately loved or hated it.
Another thing I’d never get away with today was giving kids keys to the room. This started as a matter of self-preservation, because I’d show up at 7am and there would already be kids lined up waiting for me to let them in, and they’d never let me go home in the afternoon. At the same time, we had a problem with litter in the room, to the point where the janitors refused to go in there. (Around the same time, CS pundits were talking about the “paperless office,” which always made me laugh.) One of my colleagues had the brilliant idea to let these two problems solve each other, by creating the Computer Center Users Society, whose members were responsible for running the lab, specifically including keeping it clean, and in return were given keys. We never had any theft or vandalism when kids were in the room without adult supervision.
To this day, some of my closest friends are LSRHS kids, now in their fifties or sixties.
What prompted you to write Computer Science Logo Style? Why did you choose the Logo programming language as the focus of this curricular approach?
It was the 1980s. Logo was the premier language for kids back then. Logo is especially good at symbolic computing, which is more fun than the numeric computing that was more common at the time. (Logo is still my language of choice for tasks such as translating my books from TeX to HTML.) Before Computer Science Logo Style (CSLS), there were a lot of Logo-based books for young kids, but nothing for older ones. Everybody at the Logo Group talked about how someone should write such a book, and years later, after suffering with the lack of a textbook for my high school kids, I decided to take that on. I’m proud that after CSLS several colleagues wrote similarly advanced books!
To what do you attribute the success of the Beauty and Joy of Computing (BJC) curriculum?
First, we rode the coattails of the CSforAll movement started by Jan Cuny at NSF, and the adoption of CS Principles by the College Board as an AP exam. Second, the Snap! language, which is Scheme disguised as Scratch, builds on kids’ early computing experience but has the power to embody powerful CS ideas such as higher order functions. And last but not least, the curriculum expertise of our team at Education Development Center, with whom we partnered to transform BJC from a college course at Berkeley to something high school teachers could use. (In our early pilots, teachers would ask us things like “where’s the Scope and Sequence?” and we had no idea what they meant.)
This is a broad question, but generally speaking, how has the landscape of computer science education changed since you began your career?
I’ve taught at Berkeley through three CS bubbles (we’re currently in the third one). I much prefer the non-bubble years, when students choose CS because they’re really interested in it, rather than as a strategy for getting rich. It’s during bubbles that we spend our time dealing with cheating crises.
What is a special challenge computer science educators will face in the near future?
I’m not so good at predicting the future. I vividly remember a colleague excitedly showing up in my office at the Stanford AI Lab with a tiny four-bit-wide Intel 4004 processor chip in his hand, and me saying “so what?” (What can you do with a four-bit computer?) But I’ll try: As AI starts to take over the routine programming jobs, in order to be employable, college graduates will need a deeper understanding of computer science than you can get from “boot camps.” Luckily, Data Science, which mostly means statistics, is taking up the slack.
Why do you say grades are evil?
As teachers, we are asking students to take intellectual risks. Asking a question in class runs the risk of making you look stupid and answering a question even more so. It’s hard to take risks when your wrong answers show up in your grade, especially during a CS bubble, when students feel, with some justice, that an A− can keep you out of the CS major. Cheating, which teachers worry about a lot now, is the tip of this iceberg. People learn better when they can view teachers as being on their team, rather than as antagonists.
Also, grades are too low bandwidth to be useful as feedback. What does it mean when you get a B+? Did you do perfect work in the class until the last month, when the really hard ideas came in? Did you blow off the homework? Did you start off with some fundamental misunderstanding that never got corrected? What should you do differently next time? Grades don’t answer these questions. (And if you can answer them yourself, you don’t need the feedback.) Finally, it’s just an abuse of power to make human beings jump through hoops.
Brian Harvey is Teaching Professor Emeritus at the University of California at Berkeley. His interests include computer science education, curricula, programming languages, and visual languages. Harvey is the author of Computer Science Logo Style, a three-volume computer programming textbook which uses the Logo programming language, and Simply Scheme (with Matthew Wright), an introduction to computer programming for non-majors. With his Berkeley colleague Dan Garcia, Harvey developed the Beauty and Joy of Computing (BJC) curriculum, which began as a national pilot for the CSforAll movement.
Harvey recently received (with Garcia) the ACM Karl V. Karlstrom Outstanding Educator Award for his work to bring computing to all students, especially those from historically underrepresented communities.