Skip to main content


Office Location

440 Huntington Avenue
314 West Village H
Boston, MA 02115

Mailing Address

Northeastern University
ATTN: Benjamin Lerner, 202 WVH
360 Huntington Avenue
Boston, MA 02115


  • PhD in Computer Science, University of Washington, Seattle
  • BS in Computer Science and Mathematics, Yale University


Benjamin Lerner is an Assistant Teaching Professor at Northeastern University’s College of Computer and Information Sciences. Professor Lerner earned his undergraduate degree at Yale University and achieved his PhD at the University of Washington in Seattle. He is currently developing Pyret, a new programming language aimed at teaching introductory programming. In the past, Prof. Lerner worked for Microsoft and MSR, and has taught at the Johns Hopkins Center for Talented Youth Program. Prof. Lerner received awards for CCIS Teacher of the Year and University Excellence in Teaching in 2017.


New York City

Field of research/teaching

Programming Languages

What is your educational background?

I graduated from Yale University with a BS in Computer Science and Mathematics, having worked Professor Paul Hudak as my undergraduate thesis advisor on the semantics of functional-reactive programming in Haskell. I completed my PhD at the University of Washington in Seattle, working with Professor Dan Grossman on the semantics and implementations of extensible web browsers. I also worked as a post-doc with Shriram Krishnamurthi at Brown, and that collaboration continues.

What is your research focus?

I’ve worked on semantics for web programming (JavaScript, the browser event model), and studied how extensible browser environments behave. In my post-doc, that research shifted from studying the semantics of JavaScript to using it as a compilation target. Since then, we have worked on developing a new programming language, Pyret (, suitable for teaching introductory programming, which has a primary implementation living in the browser, and is based on our experiences from both teaching novice students and from studying browser semantics. I am one of the lead developers on Pyret and continue to work on it alongside my teaching responsibilities.

What courses/subjects do you teach?

  • CS2500: Fundamentals of Computer Science 1
  • CS2510: Fundamentals of Computer Science 2
  • CS3500: Object-oriented Design
  • CS4410/6410: Compilers

What do you enjoy most or find most rewarding about what you teach?

I especially enjoy working with novice students and introducing them to the concepts and the fun of computer science, as I see them “get it” for the first time. I have been lucky to have a few inspiring teachers, who displayed genuine enthusiasm for their material and shared that passion with their students; this led me to do the same for students of my own. I have taught at the Johns Hopkins Center for Talented Youth program, working with gifted middle-school kids who had not been academically challenged in school and may never have found close friends among other students who were at their intellectual level.

What are the specifics of your industry experience?

I spent a year at Microsoft, working on the event-tracing infrastructure for Windows Vista, and spent a year and a half on an extended research internship with MSR during grad school, working on the extensible browser architecture that formed the basis of my thesis.