[Thumbnail photo] Robert (Corky) Cartwright [PLT logo]

Professor Robert ``Corky'' Cartwright has devoted his career to elevating programming from a black art to a systematic discipline. To this end, he has: (i) conducted fundamental research on the mathematical principles governing the design and implementation of programming languages, (ii) helped found an outstanding academic Computer Science department at Rice University, and (iii) served as a professional leader in programming language research and computer science education.

Professor Cartwright earned a bachelor's degree magna cum laude in Applied Mathematics from Harvard College in 1971 and a doctoral degree in Computer Science from Stanford University in 1977. In 1980, he joined the faculty of Rice University, where he helped found the Computer Science Department and subsequently served as Department Chair.

Professor Cartwright has compiled an extensive record of professional service. He was a charter member of the editorial boards of LISP and Symbolic Computation: An International Journal and ACM Letters on Programming Languages and Systems. He has served as Program Chair of the ACM Conference on LISP and Functional Programming and ACM Symposium on Principles of Programming Languages and as General Chair for the SIGPLAN Conference on Programming Language Design and Implementation. From 1991-1996 he served as a member of the ACM Turing Award Committee, which selects the annual recipient of the most prestigious international prize for computer science research. He served as a member of the Board of Directors for the Computing Research Association from 1994-2000 and helped organize the Coalition to Diversity Computing. He also served on the ACM Education Board from 1997-2007, representing PreCollege Education.

Professor Cartwright has a passionate interest in improving introductory computer science curricula. To this end, he served as a member of the Computer Science Advanced Placement Committee for the Educational Testing Service from 1988-1990 and a member of the College Board Ad Hoc Committee on Advanced Placement in Computer Science from 1999-2000. At Rice, he has directed a project to develop a curriculum on object-oriented programming that stresses data-directed design based on design patterns. To support this curriculum, he has supervised the development of an open-source pedagogic programming environment called DrJava which has been adopted by many other colleges and universities.

To foster the wider acceptance of type-safe languages and better software engineering practices that leverage them, my current research focuses on four topics:

  • Developing extensions to Java, Scala, and Swift that foster developing parallel application programs that scale well as more cores are added to microprocessors. I an ardent advocate of a "mostly functional" approach to developing parallel programming applications.
  • Developing ``smart'' programming environments that prove that type-safe programs are free of run-time errors. In essence, smart environments use static analysis to verify the preconditions for primitive program operations.
  • Developing production-quality pedagogic programming environments for Java, Scala, and Swift using Rice undergraduates as the primary workforce. The DrJava and forthcoming DrScala environments are products of this research effort.
  • Developing a programming language (called FAST) and supporting environment for developing implicit programs in which program parameters are dynamically adjusted by the language run-time in accord with an platform-dependent intent specification provided by the user. The intent typically focuses on minimizing or maximizing a platform-dependent measure such as energy usage or performance while meeting platform-independent accuracy or quality constraints.
  • CS Department Home Page