This MIT professor is renowned for his contributions to computer science, but he views himself as a teacher first and foremost.
By MIT OpenCourseWare
Like many other universities in the late sixties, MIT was a hotbed of political activism. Rising tensions around the Vietnam War, coupled with controversial Defense Department research, culminated in hundreds of students occupying MIT’s Office of the President in January 1970. While that historic moment led to MIT’s eventual divestment from weapons research, it played an equally pivotal role in the career of a young mathematics student named Harold (“Hal”) Abelson: “I was a new graduate student, and figured that I’d never get another chance to go sit in the president’s office, so I wandered over, and there were a whole bunch of people from Students for a Democratic Society sitting around on the floor. One of them was somebody I’d gone to high school with. When I told him I was looking for a job, he suggested the Artificial Intelligence Lab.”
It would be hard to invent a more apt setting for the start of Professor Hal Abelson’s career in computer science. That one random bit of advice, delivered from the epicenter of a student occupation, not only anchored Abelson’s future in MIT’s Computer Science and Artificial Intelligence Lab—it offers a fitting (if serendipitous) backdrop for his longstanding engagement with some of the most important issues at the crossroads of computing and society.
A Legendary Teaching Career
Abelson first picked up programming as a high school student during a summer job at the Lakehurst Naval Air Station. He coded in FORTRAN on an IBM 709 computer that ran on paper punch cards. As a mathematics undergrad at Princeton he continued to dabble in programming—jockeying with astrophysicists for valuable time on the mainframe—but ended up taking just one computer science course. It was only while earning his Ph.D. in Algebraic Topology from MIT that he began to seriously study computer science, using applied mathematics to explore new ways of modeling distributed computing. He fell in with a variety of early computing initiatives at MIT, which eventually led to a teaching appointment in the Electrical Engineering and Computer Science department.
Today, Abelson’s teaching career is legendary. Together with Gerald Sussmann, he created Course 6.001, which would introduce several generations of MIT graduates to computer science and become the gold standard for its instruction. Over the more than thirty years since its publication, the course’s accompanying textbook Structure and Interpretation of Computer Programs has initiated tens of thousands of students into what Abelson earnestly calls the “magic” of programming.
Professor Abelson’s approach to teaching computer science was revolutionary at the time. He wanted to promote deeper thinking about the essence of programming—far beyond code, syntax, and computers. Because beneath all the technology, Abelson insists, computer programming is really an emerging form of “imperative knowledge”—a formal and systematic way of thinking about how to do things. We’re still on the cusp, Abelson asserts, of a much deeper evolution in how we organize thought. In his introductory lecture to 6.001, he compares our current understanding of computer science to the humble origins of pure geometry, born from ancient Egyptians’ efforts to scientifically survey and manage the annual flooding of the Nile. What if all our computational thinking to date, Abelson asks, is just the most rudimentary form of far deeper principles?
Even aside from his having set the standard for teaching introductory computer science, Abelson’s contributions to the field are an embarrassment of riches. His academic work charts the furthest edges of computer science, through game-changing concepts like amorphous computing, while his pedagogical work keeps the field wide open to anyone interested. On the latter front, he directed the first implementation of Apple’s Logo, a computer language for children released in the early eighties. He co-authored the book Turtle Geometry: The Computer as a Medium for Learning Mathematics, which has been hailed as “the first step in a revolutionary change in the entire teaching/learning process.” One of his most recent projects, in collaboration with Google, is the creation of MIT App Inventor, a web-based development system that makes it easy for anyone to create a mobile app. Describing his motivations for the project, Abelson notes that “there just isn’t the thought that we can empower kids in this world of mobility in the same way that…we talked about empowering them in the world of personal computing. It’s actually a little bit scary to me, because what it’s saying is that the next generation gets introduced to this technology purely as a consumer product. There just isn’t the idea that my cell phone is something I might want to program.”
Shining through all of Abelson’s work is a constant concern with how technology should advance openness and empowerment. He is a vocal proponent of “computing values”—the philosophical ethics that get embedded within programming—and pushes his students to maintain the same level of social awareness and engagement when they design their own technology projects. “You need to know what’s worth making,” he says, “and that requires understanding about people, an understanding about society, and understanding about the context in which the program is going to be used. That’s what I try to teach when I teach programming.”
“You need to know what’s worth making, and that requires understanding about people.”
Principled Advocacy for Openness
Abelson’s principled advocacy has led to his founding both Creative Commons and the Free Software Foundation, and playing a key role in the committee that launched MIT’s OpenCourseWare. He offers a thought-provoking perspective on its creation: “OpenCourseWare is a perfect example of how things can evolve in unexpected ways that sometimes surpass their original goals. It was born in the midst of the dot-com bubble, when everyone wanted to monetize educational content. But after months of MIT analysis and consulting engagements, we realized that there were lots of negatives in trying to commercialize courses. We ended up with a very thick, very impressive binder—I didn’t know that binders that thick even existed—but it contained some fairly uninspiring conclusions. So as a last-minute appendix, we included a relatively un-researched notion of just ‘giving it away,’ and ironically, that’s the idea that eventually took root.”
“OpenCourseWare is a perfect example of how things can evolve in unexpected ways that sometimes surpass their original goals.”
Despite all his impressive credentials and a long list of awards, Abelson remains a warm, highly approachable person. His deep commitment to teaching earned him the prestigious MacVicar Faculty Fellow appointment in 1992. “When people ask me what I do,” he revealed in a recent interview celebrating MIT’s 150th anniversary, “I say that I’m a teacher. I think of myself this way as opposed to a computer scientist. It’s about putting across those ideas. The stuff we’re teaching right now is very precious and important. I want to instill in students some of that importance.”
Perhaps the simple fact that any of us can benefit from Professor Abelson’s teaching by calling up one of his online courses through OpenCourseWare is the most elegant proof of the power and reach of his ideas.
OCW Courses Taught by Professor Abelson
- 6.01SC Introduction to Electrical Engineering
- 6.805 Ethics and the Law on the Electronic Frontier
- 6.171 Software Engineering for Web Applications