Kursen är uppdelad i tre separata moduler som täcker olika aspekter av typer, semantik och programspråksteori:
1. Operationell semantik och lambdakalkylen
- Småstegs- och storstegs-operationell semantik
- Otypad lambdakalkylen
- Grundläggande typad funktionell programmering
2. Typad lambdakalkyl med utökningar
- Typregler
- Typsundhetsbevis
- Semantik för let-bindning, par, tupler, records, sums, och listor
- Referenser och undantag
3. Subtypning och polymorfism
- Subtypspolymorfism
- Parametrisk polymorfism
- Ad-hoc polymorfism
- Strukturella och nominella typsystem
- Gradvis typning
FIK3620 Typer, semantik och programmeringsspråk 7,5 hp
Välj termin och kursomgång
Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.
Kursval
Gäller för kursomgång
VT 2024 Start 2024-03-18 programstuderande
Anmälningskod
61046
Innehåll och lärandemål
Kursinnehåll
Lärandemål
Efter kursen kommer studenten kunna:
- Konstruera typsundhetsbevis
- Analysera typregler
- Analysera småstegs- och storstegs-operationell semantik
- Implementera en programtolk och en typkontrollerare för ett typbaserat funktionellt språk
- Tillämpa otypad och enkelt typad lambdakalkyl med utökningar
Kurslitteratur och förberedelser
Särskild behörighet
Rekommenderade förkunskaper
Goda kunskaper inom programmering. God grundläggande förståelse av diskret matematik och logik.
Kunskap inom funktionell programmering och kompilatorer är en fördel men inte ett krav.
Utrustning
Kurslitteratur
Examination och slutförande
När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.
Betygsskala
Examination
- EXA1 - Examination, 7,5 hp, betygsskala: P, F
Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.
Examinator får medge annan examinationsform vid omexamination av enstaka studenter.
Se "Krav för slutbetyg" nedan.
Övriga krav för slutbetyg
Studenten erhåller betyg P på kursen om följande är uppfyllt:
1. Aktivt deltagande i seminarier
2. Godkända muntliga presentationer vid seminarier
3. Godkända lösningar på teoretiska övningar
4. Godkänd inlämning och presentation av programvaruimplementation
Om studenten inte kan medverka på någon av seminarierna kan detta kompletteras vid ett alternativt tillfälle.
Möjlighet till komplettering
Möjlighet till plussning
Examinator
Etiskt förhållningssätt
- Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
- Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
- Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.