Software Foundations
CS 558 (3)
Introduction to modern programming techniques and programming language features and the theory used to describe and define programming languages, using types as the organizational principle.
Prerequisites / Corequisites