Current Courses

Reliable and Interpretable Artificial Intelligence
Graduate course involving synthesis, neural network analysis and probabilistic programming.
Fall 2018
Deep Learning for Big Code
Graduate seminar on new methods and systems for learning from programs.
Fall 2018
Blockchain Security Seminar
Graduate seminar on the latest research trends in the field of blockchains.
Fall 2018
Software Engineering Seminar
Covers latest research trends in the field of programming languages and software engineering.
Fall 2018

Past Courses

Blockchain Security Seminar
Graduate seminar on the latest research trends in the field of blockchains.
Spring 2018
Deep Learning for Big Code
Graduate seminar on new methods and systems for learning from programs.
Spring 2018
Program Analysis for System Security and Reliability
Graduate course illustrating how to apply analysis and synthesis techniques in the domains of blockchain, computer networks and deep learning.
Spring 2018
Software Architecture and Engineering (Part II)
Undergrad course on software engineering and program analysis.
Spring 2018
Parallel Programming
Undergraduate course on parallel programming, co-taught with Prof. Torsten Hoefler.
Spring 2018
Program Analysis and Synthesis
Graduate course on program analysis and synthesis for discrete and probabilistic programs.
Spring 2017
Parallel Programming
Undergraduate course on parallel programming, co-taught with Prof. Torsten Hoefler.
Spring 2017
Reliable and Interpretable Artificial Intelligence
Graduate course involving synthesis, neural network analysis and probabilistic programming.
Fall 2017
Machine Learning for Interactive Systems and Advanced Programming Tools
Covers applications of machine learning to various scenarios in vision and programming.
Fall 2016
Research Topics in Software Engineering
Covers latest research trends in the field of programming languages and software engineering.
Fall 2016
Program Analysis and Synthesis
Graduate course on program analysis and synthesis.
Spring 2016
Research Topics in Software Engineering
Covers latest research trends in the field of programming languages and software engineering.
Spring 2016
Program Analysis and Synthesis
Graduate course on program analysis.
Spring 2015
Programming Systems Seminar
PhD seminar on advances in programming languages, co-taught with Prof. Peter Müller.
Spring 2014
Program Analysis
Graduate course on program analysis.
Fall 2013
Programming Languages Seminar
PhD seminar on advances in programming languages, co-taught with Prof. Peter Müller.
Fall 2013
Software Engineering Seminar
Undergraduate seminar on program analysis and high-performance computing, co-taught with Prof. Torsten Hoefler
Fall 2013
Automated Techniques for Software Reliability
Graduate course on program analysis techniques for software reliability and security.
Fall 2012
Research Topics in Software Engineering
Seminar on advanced topics in programming languages, co-taught with Prof. Peter Müller.
Spring 2012