Kim B. Bruce

  • Expertise


    Kim Bruce studies the design of programming languages and their type systems with the goal of designing expressive, statically type-safe programming languages that can be proved to be safe. In the past, he has done research in mathematical logic and on the semantics and pragmatics of natural languages. In the latter he has been able to use ideas in logic and computer science to model the structure of conversations and their outcomes.

    His current research involves the design, implementation and use of a new object-oriented programming language, Grace, which is designed for teaching novices how to program. He also remains interested in issues in computer science education ranging from the design of curricula to individual course design.

    Research Interests

    • Bruce’s research program was originally in the model theory of languages with generalized quantifiers, but his interests turned to programming languages after his stay at M.I.T.
    • His research focus evolved from models of the polymorphic lambda calculus to the study of semantics and type theory
    • The design of object-oriented languages, and his book, Foundations of Object-Oriented Languages: Types and Semantics.

    Areas of Expertise


    • Programming Languages, especially object-oriented languages
    • Computational Aspects of the Semantics and Pragmatics of Natural Languages
    • Computer Science Education
  • Work


    With A. Danyluk and T. Murtagh, Java: An Eventful Approach (Prentice Hall, 2005)

    Foundations of Object-Oriented Languages: Types and Semantics (M.I.T. Press, 2002)

    With S. Drysdale, C. Kelemen, and A. Tucker, "Why Math?" Communications of ACM, 46(9), pp. 40-44, 2003

    With Andrew P. Black, Michael Homer, and James Noble, "Grace: the absence of (inessential) difficulty", Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software (Onward! '12). ACM, New York, NY, USA, 85-98, 2012

    With L. Cardelli and B.C. Pierce, "Comparing Object Encodings," Information and Computation 155, pp. 108-133, 1999

    With D. Farkas, “On Reacting to Assertions and Polar Questions”, Journal of Semantics, 27, pp 81-118, 2010, doi:10.1093/jos/ffp010.

    With A. Danyluk and T. Murtagh, "Introducing Concurrency in CS 1," Proceedings of the 2010 ACM Symposium on Computer Science Education, 2010.

  • Education


    Ph.D., Mathematical Logic
    University of Wisconsin, Madison

    Master of Arts, Mathematics
    University of Wisconsin, Madison

    Bachelor of Arts, Mathematics
    Pomona College

    Professional Experience

    Bruce is the Frederick Latimer Wells Professor of Computer Science emeritus at Williams College, where he taught for 28 years before coming to Pomona. His first position out of graduate school was as an instructor in Mathematics at Princeton University from 1975 to 1977.

    He has also served as a visiting professor or scientist at the University of California at Santa Cruz, Princeton University, the Newton Institute at Cambridge University, the Ecole Normale Superieure in Paris, Stanford University, University of Pisa, and M.I.T. He has served as a consultant for Prime Computer, Digital Equipment Company (DEC), NEC Research Institute, and EcoNovo.

    Recent Courses Taught

    • Computability and Logic
    • Computer Science Senior Project
    • Computer Science Senior Seminar
    • Data Structures & Advanced Programming
    • Intro to Computer Science w/Lab
    • Natural Language Processing
    • Programming Languages
  • Awards & Honors

    Awards & Honors

    National Science Foundation, research grants, 1982-2006

    ACM SIGCSE, award for outstanding contributions to Computer Science education, 2005.

    Mellon Foundation, fellowship to study Linguistics at UC-Santa Cruz, 2004-2005.

    IEEE Computer Society, named "Golden Core Member," 1996; and Meritorious Service Award for work on Curricula '91, 1992.

    NSF Science Faculty Development fellowship, MIT, 1980-1981.

    NSF Graduate Fellowship, 1970-1973.

    NATO Grant for International Collaboration in Research, 1986-1988.