Hoppa till huvudinnehållet
Till KTH:s startsida

DD1360 Programmeringsparadigm 4,5 hp

Kurs-PM VT 2023-60733

Version 1 – 2023-01-15 06:36:26

Kursomgång

progp23 (Startdatum 2023-01-17, Svenska)

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kurs-PM VT 2023

Rubriker markerade med en asterisk ( * ) kommer från kursplan version VT 2023

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.

Förberedelser inför kursstart

Kurslitteratur

Kursen har 3 olika kursböcker, en per del:
Funktionell programmering har kursboken "Programming in Haskell" av Graham Hutton.
Paradigm har kursboken "Concepts of programming languages" av Robert W. Sebesta.
Syntax har kursboken "Introduction to Automata Theory, Languages, and Computation" av Ullman/Hopcroft.

Programvara

Vi använder mycket terminaler (till exempel Bash/ZShell).
För Haskell använder vi Glasgow Haskell Compiler (ghc). Den version som du får med apt på Ubuntu eller brew på Mac fungerar utmärkt.

Examination och slutförande

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.

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

Ändringar inför denna kursomgång

Labben INET från kurs DD1362 utgår och kan numera endast redovisas under labbveckan i juni. Sista tillfället är labbveckan i juni 2024.
Det är starkt rekommenderat att göra labb F2, men den är inte längre ett krav för betyg E utan betygshöjande.

Fakta om kursomgång

Startdatum

2023-01-17

Kursomgång

  • progp23 VT 2023-60733

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kontakter