Principles of Programming Group

Computer Science Department

Carnegie Mellon University


Graduate Courses

Number Name Instructor
15-417 HOT Compilation Karl Crary
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 Iliano Cervesato, Frank Pfenning, and Jean Yang
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-312 Principles of Programming Languages Bob Harper and Jan Hoffmann
15-316 Software Foundations of Security and Privacy Matt Fredrikson and Jean Yang
15-317 Constructive Logic Andre Platzer
15-411 Compiler Design Jan Hoffmann
15-414 Bug Catching: Automated Program Verification and Testing Matt Fredrikson