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 sub-sites until after its next refresh which occurs at 5:15am, 10:15am, 1:15pm, 4:15pm and 7:15pm daily. (This does not affect