Du hittar kurs-PM för nyare kursomgångar på sidan Kurs-PM.
Rubriker markerade med en asterisk ( * ) kommer från kursplan version HT 2023
Innehåll och lärandemål
Kursinnehåll
Kursen går igenom dels de programmeringstekniker som används inom funktionella programmeringsspråk, dels hur program kan delas upp i flera exekverande trådar och hur dessa kan koordineras. Exempel på programmeringstekniker är rekursiva definitioner, icke uppdaterbara datastrukturer, högre ordningens funktioner och s.k. “closures”. Koordinering av multipla trådar visas dels genom modifiering av gemensamma datastrukturer dels genom meddelande mellan processer.
Kursen kommer att använda sig av ett programmeringsspråk som huvudspråk men även visa likheter och skillnader med andra funktionella språk.
Lärandemål
Efter godkänd kurs skall studenten kunna
använda sig av rekursion, mönstermatchning och icke modifierbara datastrukturer vid implementering i ett funktionellt programspråk.
För högre betyg skall studenten dessutom kunna
använda funktioner som första ordningens objekt och arbeta med högre ordningens funktioner
förklara grunderna för funktionell programmering, dess uppbyggnad och operationella semantik
utvärdera funktioner med avseende på tidskomplexitet
använda meddelandebaserad flertrådad programmering.
Förberedelser inför kursstart
Rekommenderade förkunskaper
Programmeringsvana, grundläggande algoritmer och datastrukturer samt grunderna inom diskret matematik.
Kurslitteratur
Ingen information tillagd
Stöd för studenter med funktionsnedsättning
Om du har en funktionsnedsättning kan du få stöd via Funka:
INL1 - Inlämningsuppgift, 7,5 hp, Betygsskala: A, B, C, D, E, FX, 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.
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.