CMU Principles of Programming (POP) Group

The goal of the POP group is to understand, develop, and demonstrate the principles, processes, and supporting technologies for the construction of computing systems. Special areas of interest include: applications of logic (including formal semantics and type theory); techniques for designing and implementing programming languages; formal specification and verification of hardware and software systems. A distinguishing characteristic of the POP group is that it applies formal principles to problems of realistic scale and complexity, for example: automatic verification of large-scale commercial hardware systems; implementation of high-speed network communication software in the ML language; application of type-theoretic principles in the construction of realistic compilers.

POP Links

POP-Related Faculty

POP Pictures

POP Group Circa 2005
Circa 2005
Very back: Aleksey Kliger, David Eger, Sungwoo Park
Back row: Joshua Dunfield, Aleks Nanevski, Kevin Watkins, Jason Reed, Stephen Magill, Stephen Brookes, Deepak Garg, Bob Harper, Daniel Spoonhower, Susmit Sarkar (directly in front of Daniel), William Lovas, Karl Crary, Jonathan Moody, Daniel Licata, Peter Lee, Noam Zeilberger
Front row: ?, Matthew Kehrt, Neel Krishnaswami, Tom Murphy VII, Joe Vanderwaart

POP Group Circa 1996
Circa 1996
Back row: Stephen Weeks, David Tarditi, Guy Blelloch, Stephen Brookes, Dana Scott, Scott Draves, Chris Okasaki, Bob Harper, Juergen Dingel
Middle: Ken Cline
Front row: George Necula, Mark Leone, Darrell Kindred, Rowan Davies, Chris Colby, John Reynolds, Chris Stone, Peter Lee

Maintained by Rob Simmons
Last updated January 3, 2012