Information about the course:
Formal Systems and Their Applications (FSA) (Dutch: Formele Systemen en hun Toepassingen (FST))
Academic year 2011-2012
Frank
Piessens
Official syllabus of the course.
Course Contents
The course text book is Types and Programming Languages by Benjamin
Pierce.
- Introduction.
Discusses the role of formal systems in computer science, an overview of the
contents of this course, and administrative and logistic information about
the course.
Slides
- Formal models of programming languages.
Discusses the formal treatment of syntax, concrete versus abstract syntax,
the formal treatment of semantics using small-step structural operational
semantics, the notion being stuck to model runtime errors. In addition, the
syntax and semantics of the untyped lambda calculus are defined.
Slides
- Simple type systems.
Illustrates the notions of type system, safety, progress and preservation on
a simple expression language, then on the simply typed lambda calculus, and
finally on various simple extensions of the simply typed lambda calculus
such as records, variants, lists, exceptions, ...
Slides
- Subtyping.
Discusses the subtyping relation, structural subtyping, the
interaction of subtyping with other language features, type systems for
object oriented languages, and nominal subtyping.
Slides
- Conclusion
Slides
Links
http://www.cis.upenn.edu/~bcpierce/tapl/
http://www.scala-lang.org/
Examination
The examination is a closed-book, oral exam with sufficient time to prepare
in writing for the oral part.
Defending your solution to the course project is part of the exam.
Project
Information about the course project: see Toledo.