Models and Semantics of Computation

Faculteit Science and Engineering
Jaar 2022/23
Vakcode WMCS026-05
Vaknaam Models and Semantics of Computation
Niveau(s) master
Voertaal Engels
Periode semester I a
ECTS 5
Rooster rooster.rug.nl

Uitgebreide vaknaam Models and Semantics of Computation
Leerdoelen At the end of the course, the student is able to:
1) identify the distinguishing features of rigorous models of computation for imperative, functional, and concurrent programming.
2) develop abstract specifications of programs in different models of computation, and identify the key differences between them.
3) define and establish basic properties of models of computation using precise mathematical proofs.
4) demonstrate the use of behavioral equivalences for the analysis of specifications in a process calculus.
Omschrijving The course examines the problem of how to assign meaning to programs. A precise understanding of the semantics of a program is a most relevant issue for computing professionals, who are confronted with multiple programming languages from different paradigms on a daily basis.

The course explores three different programming paradigms (imperative, higher-order functional, concurrent) by developing their underlying models and establishing their rigorous semantics. Preference will be given to semantics expressed in an operational style, although elements of denotational semantics will be also covered.

The first part of the course is devoted to the sequential models of computation (imperative and functional). The second part focuses on concurrency, using process calculi as foundation for programming languages with message-passing and distribution.
Uren per week
Onderwijsvorm Hoorcollege (LC), Opdracht (ASM)
(Yes , The presence in the presentations of the final project are mandatory.)
Toetsvorm Opdracht (AST), Presentatie (P), Verslag (R)
(Homeworks (60%) and a final project (40%).)
Vaksoort master
Coördinator Prof. Dr. J.A. Perez Parra
Docent(en) Prof. Dr. J.A. Perez Parra
Verplichte literatuur
Titel Auteur ISBN Prijs
Reactive Systems: Modelling, Specification and Verification Luca Aceto, Anna Ingólfsdóttir, Kim Guldstrand Larsen and Jiri Srba 9780521875462
The Formal Semantics of Programming Languages Glynn Winskel 9780262731034
Models of Computation Roberto Bruni, Ugo Montanari 9783319428987
Entreevoorwaarden The course assumes students are familiar with logic (propositional and first-order) and discrete mathematics (sets, functions, relations). It is also assumed that students are able to carry out proofs by mathematical induction.

Assumed prior knowledge from the BSc Computing Science: Introduction to Logic, Discrete Structures, Program Correctness, and Languages and Machines.
Opmerkingen This course replaces Formal Modeling of Communicating Systems (WMCS016-05). Students that have already successfully finished Formal Modeling of Communicating Systems are not allowed to take Models and Semantics of Computation as an elective course.
Opgenomen in
Opleiding Jaar Periode Type
MSc Computing Science: Intelligent Systems and Visual Computing  (Guided choice course units) - semester I a keuze
MSc Computing Science: Science Business and Policy  (Elective course units) 1 semester I a keuze
MSc Computing Science: Software Engineering and Distributed Systems  (Compulsory course units) 1 semester I a verplicht
MSc Courses for Exchange Students: AI - Computing Science - Mathematics - semester I a