DM899: Programming Language Foundations
Intern kursuskode
Indgangskrav
Faglige forudsætninger
Formål
Kurset har til formål at introducere studerende til de formelle grundlag for programmeringssprog, deres underliggende principper og grundlæggende metoder til formel ræsonnering om programmets egenskaber.
Målbeskrivelse
Læringsmålet for kurset er, at den studerende demonstrerer selvstændighed i design og analyse af programmeringssprog ved hjælp af formel semantik og ræsonnering. Specifikt forventes det, at den studerende efter kurset er i stand til at:
- Identificere de centrale byggesten i et programmeringssprog.
- Beskrive, hvordan disse byggesten interagerer for at danne et programmeringssprog.
- Forstå ræsonneringsprincipperne for kompleks programadfærd.
- Formelt designe og implementere et højere-ordens programmeringssprog.
Indhold
Følgende hovedemner er indeholdt i kurset:
- Abstrakt syntaks
- Strukturel induktion
- Transitionssystemer
- Koinduktion
- Operationel semantik
- Lambda-kalkulen
- kombinatorisk-logiske
- Programækvivalenser
- Invarians
- Typesystemer
- Curry-Howard-korrespondancen
- Logiske relationer
Litteratur
Eksamensbestemmelser
Eksamenselement a)
Tidsmæssig placering
Udprøvninger
Portfolio
EKA
Censur
Bedømmelse
Identifikation
Sprog
Varighed
Hjælpemidler
ECTS-point
Uddybende information
- Et antal opgaver afleveret undervejs i kurset
- Afsluttende skriftlig prøve i eksamensperioden
Vejledende antal undervisningstimer
Undervisningsform
Planlagte lektioner:
Samlet antal planlagte lektioner: 56
Heraf:
Fælles lektioner i klasseværelse/auditorium: 24
Holdlektioner i klasseværelse: 32
Fællestimerne vil bestå af en kombination af frontale forelæsninger og gruppediskussioner. Den første vil fokusere på introduktionen af teoretiske modeller og relevante bevisteknikker, mens den anden på deres anvendelse på illustrative problemer og sprog.
Holdtimerne vil fokusere på at få praktisk erfaring med disse koncepter og værktøjer ved hjælp af korte øvelser og øvelser, som eleverne vil løse individuelt eller i mindre grupper
Andre planlagte undervisningsaktiviteter omfatter selvstudium af forskellige dele af kursusmaterialet og løsning af hjemmeopgaver, individuelt eller i mindre grupper.
Ansvarlig underviser
| Navn | Institut | |
|---|---|---|
| Marco Peressotti | Peressotti@imada.sdu.dk | Institut for Matematik og Datalogi |
| Stelios Tsampas | stelios@imada.sdu.dk |
Skemaoplysninger
Administrationsenhed
Team hos Registratur
Udbudssteder
Anbefalede studieforløb
Overgangsordninger
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.