Campus News

Tucker Co-Authors New Programming Book

Story posted December 28, 2001

Allen B. Tucker, the Anne T. and Robert M. Bass Professor of Natural Sciences in Bowdoin's department of computer science, has written a new textbook on computer programming languages, with co-author Robert Noonan, professor of computer science, College of William and Mary.

Programming Languages: Principles and Paradigms (McGraw Hill, October 2001) provides balanced coverage of both the principles of language design and the different programming paradigms.

In the book's preface, Tucker and Noonan explain, "The study of programming languages at the advanced undergraduate or graduate level usually covers two main areas: principles of language design and two or three different programming paradigms. Texts for this study tend to fall into either of two categories: (1) concept-based surveys of a wide range of language design topics and paradigms; and (2) interpreter-based treatments of the design principles presented in a functional language."

Tucker and Noonan's text unites the best features of these two approaches into a single and coherent framework.

The principles of language design are covered using a formal model and a hands-on laboratory suite that uses a Java interpreter to implement the formal model. This approach gives students an excellent grasp of language design theory and its relationship to practice. It also lays the foundation for the paradigms that are presented in the second half of the book.

The text presents and contrasts six major programming paradigms: imperative, object-oriented, functional, logic, concurrent, and event-driven programming. Through the use of one language for each paradigm, students gain a deep understanding of the paradigm without being distracted by a profusion of languages.

The book introduces a small imperative language called "Jay" as a basis for illustrating the principles of language design and formal methods.

The text uses Java, with which students may already be familiar, to illustrate concepts.

A supplemental Web site - - will eventually include Solutions, Source Code, the Jay interpreter, PowerPoint figures, and more. (As of Dec. 28, 2001, the Web site launch is still pending).

Professor Tucker's contribution to the book is not limited to the text. He also photographed the images that appear on the book's cover. The photos are of several Western Ukrainian cathedrals, taken in the spring of 2001 when Tucker was teaching at the Ternopil Academy of National Economy on a Fulbright Scholar Grant. According to the book's preface, "[The cover] design could convey the idea that overlaying a rigorous language design methodology (the quilt pattern) on top of many different languages (the cathedrals) can help dispel the idea that programming languages are no more than a modern Tower of Babel. If this seems like an over-interpretation, readers can simply enjoy the cover design for its sheer artistry!"

Professor Tucker has been on the Bowdoin faculty since 1988. He has a B.A. in mathematics from Wesleyan University and an M.S. and Ph.D. in computer science from Northwestern University. He received the Association of Computing Machinery's (ACM) Outstanding Contribution Award and the Institute of Electrical and Electronics Engineers’ Meritorious Service Award in 1991, and the ACM SIGSCE award for Outstanding Contribution to Computer Science Education in 2001.

Co-author Robert Noonan has taught at William and Mary for 25 years. He has an A.B. in mathematics from Providence College and an M.S. and Ph.D. in computer science from Purdue University. He is a member of ACM, SIGPLAN, SIGCSE, and the Liberal Arts Computer Science Consortium.

Links to the downloadable software that accompanies individual chapters in the book can be found at:

Learn more about the book at the McGraw Hill site:

« Back | Campus News | Academic Spotlight | | Subscribe to Bowdoin News by Email