Skip navigation

Matthias Felleisen

Matthias Felleisen is Trustee Professor of Computer Science at Northeastern University, recipient of the Karl V. Karlstrom Outstanding Educator Award, and co-author (with Daniel Friedman) of The Little Schemer and three other "Little" books published by the MIT Press.

Titles by This Author

This text is the first comprehensive presentation of reduction semantics in one volume; it also introduces the first reliable and easy-to-use tool set for such forms of semantics. Software engineers have long known that automatic tool support is critical for rapid prototyping and modeling, and this book is addressed to the working semantics engineer (graduate student or professional language designer). The book comes with a prototyping tool suite to develop, explore, test, debug, and publish semantic models of programming languages.

An Introduction to Programming and Computing

This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills—critical reading, analytical thinking, creative synthesis, and attention to detail—that are important for everyone, not just future computer programmers.

with a foreword by Robin Milner
and drawings by Duane Bibby


Over the past few years, ML has emerged as one of the most important members of the family of programming languages. Many professors in the United States and other countries use ML to teach courses on the principles of programming and on programming languages. In addition, ML has emerged as a natural language for software engineering courses because it provides the most sophisticated and expressive module system currently available.

Java is a new object-oriented programming language that was developed by Sun Microsystems for programming the Internet and intelligent appliances. In a very short time it has become one of the most widely used programming languages for education as well as commercial applications.

Design patterns, which have moved object-oriented programming to a new level, provide programmers with a language to communicate with others about their designs. As a result, programs become more readable, more reusable, and more easily extensible.

drawings by Duane Bibby

foreword by Gerald J. Sussman

drawings by Duane Bibby foreword and afterword by Guy L. Steele Jr.