6 ECTS credits
180 u studietijd

Aanbieding 1 met studiegidsnummer 4019837ENR voor alle studenten in het 1e en 2e semester met een verdiepend master niveau.

Semester
1e en 2e semester
Inschrijving onder examencontract
Niet mogelijk
Beoordelingsvoet
Beoordeling (0 tot 20)
2e zittijd mogelijk
Ja
Onderwijstaal
Engels
Faculteit
Faculteit Wetenschappen en Bio-ingenieurswetensch.
Verantwoordelijke vakgroep
Computerwetenschappen
Onderwijsteam
Quentin Pierre Stiévenart
Dominique Devriese (titularis)
Onderdelen en contacturen
0 contacturen Exam
26 contacturen Lecture
12 contacturen Practical exercises
52 contacturen Self study
Inhoud

– Dependently typed programming en computer-verified proving in Agda
  + Inductive data types with parameters and indices
  + Dependent pattern matching
  + The Identity type
  + Negation
  + Proofs by induction
– Verified and secure compilation: a selection of compiler passes are studied, for example:
  + Register allocation
  + Call lowering
  + Stack spilling
  + Closure conversion
  These compiler passes are formalised and studied abstractly and/or in Agda, studying verified and secure compilation properties and proofs.

Studiemateriaal
Digitaal cursusmateriaal (Vereist) : All transparencies and all the code will be provided to the students, Canvas
Bijkomende info

None

Leerresultaten

General competencies

  - The student can explain how a dependently typed programming language can be used for implementing verified algorithms.
  - The student is able to formalise and prove simple concepts and results in the Agda dependently-typed programming language.
  - The student understands the concepts of verified and secure compilation and formal properties that express them and can apply them to and illustrate them with examples.
  - The student can explain, implement and manually execute model versions of the compiler passes studied in this course.
  - The student can explain the correctness and security properties and arguments for the compiler passes studied in this course.
  - The student is able to make modifications and corrections to correctness arguments and security proofs for model compiler passes, either verbally or implemented in Agda.

Beoordelingsinformatie

De beoordeling bestaat uit volgende opdrachtcategorieën:
Examen Andere bepaalt 100% van het eindcijfer

Binnen de categorie Examen Andere dient men volgende opdrachten af te werken:

  • Examen andere met een wegingsfactor 1 en aldus 100% van het totale eindcijfer.

Aanvullende info mbt evaluatie

The evaluation consists for 100% of a course project in which the students formalise and prove concepts and proofs in Agda, related to verified and/or secure compilation.
The students defend the project orally with the teacher during the exam period.
During this defence, their understanding of the concepts taught in this course and their programming and proving skills in Agda will be tested, based on their solution of the course project.

Toegestane onvoldoende
Kijk in het aanvullend OER van je faculteit na of een toegestane onvoldoende mogelijk is voor dit opleidingsonderdeel.

Academische context

Deze aanbieding maakt deel uit van de volgende studieplannen:
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Artificiële Intelligentie
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Multimedia
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Software Languages and Software Engineering
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Data Management en Analytics
Master in Applied Sciences and Engineering: Computer Science: Artificial Intelligence (enkel aangeboden in het Engels)
Master in Applied Sciences and Engineering: Computer Science: Multimedia (enkel aangeboden in het Engels)
Master in Applied Sciences and Engineering: Computer Science: Software Languages and Software Engineering (enkel aangeboden in het Engels)
Master in Applied Sciences and Engineering: Computer Science: Data Management and Analytics (enkel aangeboden in het Engels)