Ph.D. Students
Ph.D. Graduates
Past Postdoctoral Associates
Courses
I teach in CMU's
Computer Science
undergraduate program, including courses associated with the
Software Engineering minor,
in our
Master of Software Engineering
program, and in our Ph.D. programs in
Software Engineering
and
Computer Science.
-
17-214: Principles of Software System Construction,
Spring 2024
(with Charlie Garrod
and Jeremy Lacomis)
-
17-363: Programming Language Pragmatics,
Fall 2023
(with Ben Titzer)
-
17-214: Principles of Software System Construction,
Spring 2023
(with Bogdan Vasilescu)
-
17-363: Programming Language Pragmatics,
Fall 2022
-
17-363: Programming Language Pragmatics,
Fall 2021
-
17-355: Program Analysis,
Spring 2021 (with Rohan Padhye)
-
15-400: Research Practicum in Computer Science,
Spring 2021 (with Bogdan Vasilescu)
-
15-300: Research and Innovation in Computer Science,
Fall 2020 (with Bogdan Vasilescu)
-
17-396/17-696/17-960: Language Design and Prototyping,
Spring 2020
-
15-400: Research Practicum in Computer Science,
Spring 2020 (with Bogdan Vasilescu)
-
15-300: Research and Innovation in Computer Science,
Fall 2019 (with Bogdan Vasilescu)
-
17-355: Program Analysis,
Spring 2019
-
15-400: Research Practicum in Computer Science,
Spring 2019 (with Todd Mowry)
-
15-300: Research and Innovation in Computer Science,
Fall 2018 (with Todd Mowry)
-
17-355: Program Analysis,
Spring 2018
-
15-400: Research Practicum in Computer Science,
Spring 2018 (with Todd Mowry)
-
15-300: Research and Innovation in Computer Science,
Fall 2017 (with Todd Mowry)
-
17-355: Program Analysis,
Spring 2017
-
15-400: Research Practicum in Computer Science,
Spring 2017 (with Todd Mowry)
-
15-300: Research and Innovation in Computer Science,
Fall 2016 (with Todd Mowry)
-
15-400: Research Practicum in Computer Science,
Spring 2016 (with Todd Mowry)
-
15-214: Principles of Software System Construction,
Fall 2015
(with Charlie Garrod)
-
15-214: Principles of Software System Construction,
Fall 2014 (with Charlie Garrod)
-
15-413: Software Engineering Practicum
Spring 2014
-
15-214: Principles of Software System Construction,
Fall 2013 (with Charlie Garrod)
-
15-819O: Program Analysis
Spring 2013
-
15-214: Principles of Software System Construction,
Fall 2012 (with Charlie Garrod)
-
15-214: Principles of Software System Construction,
Spring 2012 (with Bill Scherlis)
-
15-214: Principles of Software System Construction,
Fall 2011
17-654/17-754: Analysis of Software Systems (MSE and Ph.D.), Spring 2011 (with Eduardo Miranda)
- 15-413: Software Engineering Practicum, Spring 2010
-
15-313: Foundations of Software Engineering, Fall 2010 (with Bill Scherlis)
-
17-413: Software Engineering Reflection, Fall 2010
-
15-819M: Program Analysis, Spring 2010
-
15-413: Software Engineering Practicum, Spring 2010
-
15-313: Foundations of Software Engineering, Fall 2009 (with Bill Scherlis)
-
17-413: Software Engineering Reflection, Fall 2009
-
17-654/17-754: Analysis of Software Systems (MSE and Ph.D.), Spring 2009
-
17-732: Emerging Programming Paradigms, Fall 2008
-
15-413: Software Engineering Practicum, Fall 2008
-
17-413: Software Engineering Reflection, Fall 2008
-
17-654/17-754: Analysis of Software Systems (MSE and Ph.D.), Spring 2008
-
15-313: Foundations of Software Engineering, Spring 2008 (with Bill Scherlis)
-
17-654/17-754: Analysis of Software Systems (MSE and Ph.D.), Spring 2007
-
15-313: Foundations of Software Engineering, Spring 2007 (with Bill Scherlis)
-
17-654/17-754: Analysis of Software Systems (MSE and Ph.D.), Spring 2006
-
15-413: Introduction to Software Engineering, Fall 2005
-
17-898: Reading Seminar: Modeling Dynamic Software Architectures, Spring 2005
-
17-654/17-754: Analysis of Software Systems (MSE and Ph.D.), Spring 2005
-
15-819: Objects and Aspects: Language Support for Extensibility and Evolvability, Fall 2004
- 15-312: Foundations of Programming Languages, Fall 2003