CS4026: Formal Models of Computation
This course introduces three different frameworks which provide
precise, robust and generic definitions for the notion of
The definitions are interestingly different and
shed light on different aspects of computation. Each model,
comes with an abstract mathematical basis (the lambda calculus,
predicate logic and the theory of computation/complexity respectively).
Each model is also the basis for practical programming languages, and
the course provides an introduction to Haskell and Prolog as example
languages based on the first two models.
- The functional model
- The logic model
- The imperative model
Course Database Entry
Kees van Deemter