Software Foundations by Benjamin C. Pierce
Publisher: University of Pennsylvania 2010
These are notes for a one-semester course on Software Foundations -- the mathematical theory of programming and programming languages -- suitable for graduate or upper-level undergraduate students. They develop basic concepts of functional programming, logic, operational semantics, lambda-calculus, and static type systems, using the Coq proof assistant.
Computers & Internet Computer Science Software Engineering