Hoppa till huvudinnehållet
Till KTH:s startsida

DD1360 Programmeringsparadigm 4,5 hp

Den här kursen ger en introduktion till funktionell programmering, programmeringsparadigm och syntaxanalys.

Information per kursomgång

Kursomgångar saknas för aktuella eller kommande terminer.

Kursplan som PDF

Notera: all information från kursplanen visas i tillgängligt format på denna sida.

Kursplan DD1360 (HT 2023–)
Rubriker med innehåll från kursplan DD1360 (HT 2023–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Funktionell programmering: funktionsbegreppet, högre ordningens funktioner, currying, evalueringsstrategier, strömmar, mönsterpassning, överlagring, polymorfism, interpretering, lat evaluering, typer och typklasser.

Formella språk och syntaxanalys: automater, reguljära uttryck, grammatiker, lexikal analys, rekursiv medåkning, språkklasser.

Språköversättning: interpretering, kompilering och länkning.

Programmeringsparadigm: kontrollflöde, subprogram, rekursion, klasser, typer, beräkningsmodeller och minnesmodeller.

Lärandemål

Efter godkänd kurs ska studenten kunna:

  • tillämpa och förklara allmänna begrepp inom programmering, särskilt kontrollflöde, rekursion, interpretering, paradigm och beräkningsmodeller
  • tillämpa och förklara grundläggande begrepp inom funktionell programmering, särskilt rena funktioner, referenstransparens, högre ordningens funktioner, oföränderlighet, typer
  • tillämpa och förklara grundläggande koncept inom formella språk och syntaxanalys, särskilt automater, reguljära uttryck, grammatiker, lexikal analys, och rekursiv medåkning

i syfte att

  • få ett bredare perspektiv på programmering
  • kunna bedöma vilket paradigm och vilket programspråk som är lämpligt för att lösa en viss uppgift
  • kunna använda adekvat programmeringsstil i valt programmeringsparadigm
  • aktivt kunna delta i diskussioner om programmeringsparadigm, programspråkshistorik , språkdefinition, egenskaper hos typsystem, principer vid språkdesign, språköversättning, programmeringsprinciper och programmeringsbegrepp.

Kurslitteratur och förberedelser

Särskild behörighet

Kunskaper och färdigheter i programmering, 6 hp, motsvarande slutförd kurs DD1337/DD1310-DD1318/DD1321/DD1331/ DD100N/ID1018.

Kunskaper i grundläggande datalogi, 6 hp, motsvarande slutförd kurs DD1338/DD1320-DD1327/DD2325/ID1020/ID1021.

Aktivt deltagande i kursomgång vars slutexamination ännu inte är Ladokrapporterad jämställs med slutförd kurs.

Den som är registrerad anses vara aktivt deltagande.

Med slutexamination avses både ordinarie examination och det första omexaminationstillfället.

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

A, B, C, D, E, FX, F

Examination

  • LAB1 - Laborationer, 2,0 hp, betygsskala: A, B, C, D, E, FX, F
  • MAS1 - Mästarprov, 2,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.

Mästarprov är individuella uppgifter som redovisas både skriftligt och muntligt.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

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.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Teknik

Utbildningsnivå

Grundnivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Marcus Dicander (dicander@kth.se)