Semantics of programming languagesDF21000, 2011HT
|
|
Course plan
No of lectures
~ 12 * 2h
Recommended for
Anybody interested in theoretical aspects of computer science and in precise reasoning about program correctness.
The course was last given
2008 VT
Goals
Introduction to formal description techniques for defining semantics
of programming languages.
The intention is to give a solid overview of classical approaches
to semantics of programming languages. We believe this knowledge is
necessary for everybody interested in tools and/or formal methods
dealing with program correctness.
Prerequisites
Some degree of mathematical maturity; courses on discrete mathematics,
mathematical logic, and formal languages. Some programming
experience and familiarity with a few programming languages.
Organization
Lectures.
Under consideration: Optional tutorial classes (lektioner) and labs.
Contents
The core of the course:
- operational semantics (small step and big step approach)
- denotational semantics, including its mathematical foundations,
- axiomatic semantics, proving program correctness, and basics of
systematic construction of provably correct programs.
Additional subjects under consideration
Literature
Main textbook:
Hanne Riis Nielson, Flemming Nielson: Semantics with Applications: An
Appetizer. Springer, 2007.
Lecturers
W. Drabent
Examiner
W. Drabent
Examination
Home assignments
Credit
4,5 hp
Comments
The course is based on TDDA43/TDDD47 programmeringsteori.
Page responsible: Director of Graduate Studies