Course Description

The material I present in this course is an introduction to modern implementations of programming language features. We will focus on languages that execute via managed runtime systems (i.e., garbage collected and dynamically interpreted/compiled languages) for high-level languages (e.g. Java, Python, Javascript), including their similarities and differences. In addition, we will investigate the the inner workings of the interpreter and just-in-time/dynamic compiler and how they can use information about the running program to optimize its execution.

If you are familiar with how VMs, JITs, runtime systems work internally, then you should not take this class. There are many other systems class alternatives that you can take in our department.



Chandra Krintz <>
Computer Science Department