Foundations of
Information Technologies  FIT 2009  June 1427, 2009, Novi Sad  

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.
 
