Faculteit  Science and Engineering 
Jaar  2022/23 
Vakcode  WMCS02605 
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, higherorder 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 messagepassing 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 


Entreevoorwaarden  The course assumes students are familiar with logic (propositional and firstorder) 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 (WMCS01605). 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 
