CSE 230 W11 - Home


Ranjit Jhala (jhala@cs.ucsd.edu)


Lectures: Tu-Th 3:30 to 4:50 pm in CSE 2154

Office Hours: Tu-Th 5:00 to 6:00 pm in CSE 3110


The goal of this class is to expose students to advanced programming language ideas, including high-level programming abstractions, expressive type systems and program analyses. We will develop these ideas in roughly two parts. First, we will study various high-level programming abstractions through the lens of Haskell, a pure functional programming language that has been the incubator for many recent PL advances. In the second part we will see how the lambda calculus can be used to distill essence of computation into a few powerful constructs, and we will use it as a launching pad to study expressive type systems, logics and analyses that can make precise predictions about run-time behavior at compile time. For more details see the lecture plan.


The class is mostly self contained. However, it will be helpful to have some knowledge of basic discrete math, and it will be essential that you enjoy programming and have a desire to learn the material.