Principles of Programming Group

Computer Science Department

Carnegie Mellon University


Graduate Courses

Number Name Instructor
15-417 HOT Compilation Karl Crary
18-734 Foundations of Privacy Anupam Datta
15-811 Advanced Topics on Computer Security: Formal Foundations of Software Security Matt Fredrikson
15-811 Advanced Topics in Programming Languages: Resource Analysis Jan Hoffmann
15-811 Verifying Complex Systems Bryan Parno
15-814 Types and Programming Languages Robert Harper
15-819 Advanced Topics in Programming Languages: Domain-Specific Languages Jean Yang
15-853 Algorithms in the Real World Guy Blelloch

Undergraduate Courses

Number Name Instructor
15-122 Principles of Imperative Computation Frank Pfenning
15-150 Functional Programming Stephen Brookes
15-210 Parallel and Sequential Data Structures and Algorithms Umut A. Acar
15-214 Principles of Software System Construction Jonathan Aldrich
15-316 Software Foundations of Security and Privacy" Matt Fredrikson and Jean Yang
15-317 Constructive Logic Andre Platzer
15-414 Bug Catching: Automated Program Verification and Testing Matt Fredrikson