Robert "Corky" Cartwright

WEBSITE(S)| Research Site

Professor Cartwright teaches courses on functional programming (Comp 311/544), programming language principles (Comp 411/511), advanced algorithms (Comp 582), and production programming (Comp 402/501).  

Research Areas

Robert "Corky" Cartwright's current research focuses on four topics: 1.) Developing extensions to Java, Scala, and Swift that foster developing parallel application programs that scale well as more cores are added to microprocessors. I am an ardent advocate of a "mostly functional" approach to developing parallel programming applications. 2.) 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. 3.) 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. 4.) 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.


PhD, Computer Science, Stanford University (1976)

BA, Applied Mathematics, Harvard College (1971)

Teaching Areas

Principles of Program Design

Principles of Programming Languages

Honors & Awards

ACM Fellow


Changes or additions to will not take effect on the Rice subsites until after its next refresh which occurs at 11.30am and 6.30pm daily. (This does not affect