Kim B. Bruce

Visiting Professor of CS
Computer Science Department
Princeton University


I am visiting Princeton University during the fall term of 1998. I'll be returning to my normal position as Professor of Computer Science in the Computer Science Department at Williams College after this semester (though I will still be on sabbatical for one more semester!). I am still recovering from having served my third term as department chair there.

I am teaching COS 441: Programming Languages at Princeton this fall.

I will also be doing some consulting at NEC Research in the software systems research group on their Java compiler project.

One of my main projects this term is to work on a book on Types and Semantics for Object-Oriented Languages. Some of this material will find its way into COS 441.


Selected links

  • My Williams home page
  • Contact information at Princeton
  • Vita
  • Recent papers
  • Courses taught at Williams College
  • Professionally interesting Web Sites
  • Other Interesting WWWeb sites

  • Research interests

    Programming language design and semantics: Type theory, object-oriented languages, models of higher-order lambda calculus including subtypes and bounded polymorphism.

    I am (co-)conference chair for FOOL, the International Workshops on Foundations of Object-Oriented Languages.

    My current work focuses on the design of provably type-safe statically-typed object-oriented languages. Like many others, I have a proposal to add features to java to support parametric polymorphism. My papers and many of my students' honors theses are available on-line


    Computer Science Education

    I've been involved in several different projects involving the design of Computer Science Curricula at the college level. This includes the I'm very unhappy about the proposed change of the ETS Advanced Placement exam in Computer Science to C++. I posted a letter of protest on comp.edu and sent a copy to SIGCSE members.

    I was also a co-signer of a letter published the summer of 1995 in the Communications of the ACM protesting both the change to the APCS exam and the way the change was made. Unfortunately the change has now been put in place. Hopefully it won't be long until C++ is abandoned for the course.

    Here are some notes for a talk I gave in July, 1997 to the Liberal Arts CS Consortium analyzing the use of Java in the intro course sequence.

    I was a participant in the education group of the ACM Workshop on Strategic Directions in Computer Science. My position paper is available on-line for comment. A compilation of the reports was published in the Computing Surveys.


    I gave tutorials on types in object-oriented languages at ECOOP 96 in Linz, Austria, and at OOPSLA 96 in San Jose, California. Information and an outline are available online.

    In 1998 I gave a slightly revised version at ECOOP '98 in Brussels and repeat it at OOPSLA '98 in Vancouver, Canada.


    Click for Princeton, New Jersey, Forecast Click for Williamstown, MA, Forecast


    Princeton University
    Computer Science Dept.
    kb@cs.princeton.edu