Foundations of Information Technologies

- FIT 2009 -

June 14-27, 2009, Novi Sad

General Information
Courses and Lecture Notes
Local Information




Semantics of Programming Languages


Furio Honsell and Pietro Di Gianantonio



The course presents an introduction to operational and denotational semantics of programming languages. The aim is to present motivations, basic techniques, and main ideas of formal semantics of programs. The languages considered are a simple imperative language, the CCS and the lambda calculus; the later two are the paradigms for concurrent and functional programming. After briefly presenting the languages and the main mathematical tools (algebra and coalgebras in category theory) we present the structured operational semantics (SOS) of the programming languages. Through label transition systems (LTS) we introduce the denotational semantics. Arguments of discussion will be a comparison among the different forms of semantics, in particular considering the different notions of equivalence on programs induced by the different semantics.




   Lecture notes.                             Slides Part One.                                Slides Part Two.