Overview

Principles of Programming Languages is a course
that introduces students to some fundamental principles and techniques in
modern programming language design and implementation. The course mainly
covers type theories in programming and emphasizes the need for
mathematical formalism in both describing and analyzing programming
languages.