NWI-IBC026
Semantics and Correctness
Cursus informatieRooster
CursusNWI-IBC026
Studiepunten (ECTS)3
CategorieBA (Bachelor)
VoertaalEngels
Aangeboden doorRadboud Universiteit; Faculteit der Natuurwetenschappen, Wiskunde en Informatica; Informatica en Informatiekunde;
Docenten
Coördinator
dr. E.G.M. Hubbers
Overige cursussen docent
Docent
dr. E.G.M. Hubbers
Overige cursussen docent
Contactpersoon van de cursus
dr. E.G.M. Hubbers
Overige cursussen docent
Examinator
dr. E.G.M. Hubbers
Overige cursussen docent
Collegejaar2021
Periode
KW3  (31-01-2022 t/m 10-04-2022)
Aanvangsblok
KW3
Onderwijsvorm
voltijd
Opmerking-
Inschrijven via OSIRISJa
Inschrijven voor bijvakkersJa
VoorinschrijvingNee
WachtlijstNee
PlaatsingsprocedureVolgorde bepaald door opl./programma
ToelichtingVolgorde bepaald door opleiding/programma
Cursusdoelen
After this course participants are able to:
  • Define the semantics of imperative language constructs using inductive methods.
  • Explain the consequences of design choices.
  • Analyze computations in imperative languages like termination behavior and semantic equivalence.
  • Prove properties of programs using inference systems for correctness.
  • Determine whether inference systems are sound and/or complete.
Inhoud
In this course, you will learn formalisms to define the operational semantics of imperative programming languages. These methods are important for designing new languages and extending existing languages. In addition, these formalisms are used for analyzing the behavior of programs. In the field of computing science, you will not only have to apply these formalisms, but you will also have to evaluate, expand or design these formalisms as well.

Instructional Modes
Typically, in each week the course has three sessions:
  • Plenary lectures. You are supposed to prepare for these lectures by reading about relatively simple topics. The first 20-25 minutes of the lectures are used for answering your questions about these topics. The rest of the time is used for introducing the more complex topics. After the lecture the weekly learning task will be published.
  • Parallel tutorial sessions. Within these sessions you can work on the new learning task or ask questions about the previous task under supervision of TAs.
  • Response lectures. Note that at the moment of writing this text, it is not completely clear whether these response lectures actually will take place. If they will indeed be organized, then they are used to discuss solutions of selected exercises of the learning task. Note that you are only allowed to participate in these sessions if you handed in a serious attempt of a solution to the learning task. In case these response lectures are not organized, you can go to the parallel tutorial sessions to see some solutions.
Niveau

Voorkennis
You have programming experience with imperative programming languages. In addition, you are able to:
  • use the language of predicate logic to formulate statements;
  • distinguish the elementary steps within argumentation and present proofs in a suitable inference system;
  • specify (programming) languages and extensions using regular expressions and context-free grammars;
  • formulate clearly, both in motivating solutions as well as in proofs in natural language.
You can obtain these prerequisites by doing the courses in the programming line, and by doing one of the courses Languages and Automata or Introduction to Formal Reasoning,  and by doing the course Logic and Applications. In addition, it helps if you have done the course Computability, but that is not a formal requirement.
Toetsinformatie
The course is finalized with a digital Cirrus exam.

By doing the weekly homework assignments properly, a small bonus can be earned. Note that the bonus is only valid if the grade for the final exam is at least 5.0.
Bijzonderheden

Verplicht materiaal
Boek
Hanne Riis Nielson and Flemming Nielson: Semantics with applications, 1999. The book is available for free as PDF via Brightspace.
Titel:Semantics with applications
Auteur:Hanne Riis Nielson and Flemming Nielson
Dictaat
Engelbert Hubbers: Annotated Programs, an alternative notation for correctness proofs. These notes are available as PDF via Brightspace.
Titel:Annotated Programs
Auteur:Engelbert Hubbers

Werkvormen
Course
AanwezigheidsplichtJa

Opmerking
84 hours.

Toetsen
Digital Exam
Weging1
ToetsvormDigitale toets met CIRRUS
GelegenhedenBlok KW3, Blok KW4, Blok KW4

Opmerking
A small bonus can be earned with weekly assignments. The bonus is only valid if the grade for the exam is at least 5.0