02141 Datalogisk modellering

2020/2021

P.g.a. Covid-19 afholdes den skriftlige eksamen for sommeren 2021 som hjemmeonline-eksamen med alle hjælpemidler tilladt og åbent net.
Ændring grundet COVID-19: Kurset undervises udelukkende on-line i foråret 2021 og eksamen i maj 2021 er elektronisk under de regler der gælder for sådanne.
Kursusinformation
Computer Science Modelling
Engelsk
10
Bachelor
F4 (tirs 13-17, fre 8-12)
Campus Lyngby
Forelæsninger, teoretiske øvelser, programmeringsøvelser.
13-uger
F4A
Skriftlig eller mundtlig eksamen
Et obligatorisk opgaveforløb understøtter indlæringen af kursets metode. Eksamen er normalt skriftlig ved eksamensterminen efter kursets afholdelse, og eksamen er normalt mundtlig ved reeksaminer. Ændring grundet COVID-19: Kurset undervises udelukkende on-line i foråret 2021 og eksamen i maj 2021 er elektronisk under de regler der gælder for sådanne.
4 timer
Skriftlige hjælpemidler er tilladt
7-trins skala , ekstern censur
02142
02157 , Diskret matematik, algoritmer og datastrukturer, funktionsprogrammering.
Flemming Nielson , Lyngby Campus, Bygning 321, Tlf. (+45) 4525 3735 , fnie@dtu.dk
Alberto Lluch Lafuente , Lyngby Campus, Bygning 321, Tlf. (+45) 4525 3736 , albl@dtu.dk
Hanne Riis Nielson
01 Institut for Matematik og Computer Science
http://www.imm.dtu.dk/courses/02141
I studieplanlæggeren
Overordnede kursusmål
De studerende lærer at anvende de centrale modeller der bliver introduceret i løbet af kurset og at bruge software værktøjer relateret til disse formalismer.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • anføre forskelle i udtrykskraft af de præsenterede formelle modeller;
  • tolke betydningen af en given beskrivelse i en formel model (f.eks. automater, grammatiker, semantikker):
  • udlede en beskrivelse i en formel model (f.eks. automater, grammatiker, semantikker) for en ønsket egenskab eller opførsel givet som en tekstuel beskrivelse;
  • oversætte til en anden model (f.eks. regulære udtryk til NFA);
  • ændre en given beskrivelse svarende til et givet kriterie (f.eks. fjernelse af ubrugelige produktioner, tilføjelse af sprogkonstruktioner);
  • anvende udvalgte værktøjer relateret til de formelle modeller (f.eks. lexere, parsere);
  • afgøre om en beskrivelse i en formel model opfylder en givet egenskab;
  • udlede egenskaber ved at anvende bevisstrategier (f.eks. matematisk induktion, givne sætninger);
  • vælge formelle modeller der kan være nødvendige eller nyttige ved løsning af et givent problem;
  • opnå kursets mål som del af en gruppe, mens det individuelle ansvar opretholdes;
  • kommunikere sine konstruktioner og løsninger på en klar og præcis måde; og
  • demonstrere evnen til at bruge de on-line digitale lærings systemer på FormalMethods.dk til at forankre læringen.
Kursusindhold
Kurset omfatter to emner:

(1) Formelle sprog og deres brug til at beskrive syntaks. For regulære sprog behandles deres sammehæng med endelige automater, praktiske anvendelser (fx søgning, leksikalsk analyse) og nogle væsentlige teoretiske resultater (herunder lukketheds- og afgørlighedsegenskaber). For kontekstfri sprog behandles en række anvendelser (til parsing af programmer, dokumenter og formateret data) sammen med en kort indføring til stakautomater og deres sammenhæng med kontekstfri sprog.

(2) Formelle metoder og deres brug til både modellering og analyse af IT systemers egenskaber. Herunder semantik og fortolkning, programanalyse, sikkerhedsanalyser, og modeltjek. Systemerne på FormalMethods.dk bruges til at understøtte indlæringen.

Kurset involverer praktisk brug af forskellige værktøjer, og de studerende skal løse både teoretiske og praktiske opgaver, som integrerer kursets to emner.
Litteraturhenvisninger
(1) "Introduction to Automata Theory, Languages, and Computation", af John E. Hopcroft, Rajeev Motwani, Jefrey D. Ullman, Third Edition, Addison-Wesley, 2007.
Kursusbogen "02141: Automata Theory and Languages" udvalgt af Hanne Riis Nielson indeholder de nødvendige kapitler.
(2) "Formal Methods - An Appetizer" af Flemming Nielson og Hanne Riis Nielson, Springer, 2019. Videoer på YouTube kanalen FormalMethodsDK. Slides og on-line systemer på FormalMethods.dk
Bemærkninger
Kurset gives på engelsk.
Sidst opdateret
15. marts, 2021