DD2481 Principer för programspråk 7,5 hp

Principles of Programming Languages

Visa kursinformation utifrån vald termin och kursomgång:

Kursomgång och genomförande

Ingen kursomgång är vald

Välj termin och kursomgång ovan för att få information från rätt kursplan och kursomgång.

Kursinformation

Innehåll och lärandemål

Kursinnehåll *

Formella språk, ändliga automater, kontextfria grammatiker.

Tillstånd, räckvidd, livstid, statisk och dynamisk information, effekter, muterbarhet.

Grundläggande operationell semantik.

Abstraktionsmekanismer, modularisering, kontrakt.

Typer, invarianter, programekvivalens.

Verktyg för programanalys.

Exempel på avancerade finesser i programspråk.

Lärandemål *

Efter fullgjord kurs ska studenten kunna:

  • beskriva programspråk och programbeteende formellt,
  • resonera om tillstånd, effekter och muterbarhet i program på ett precist sätt,
  • resonera om och använda mekanismer för abstraktion och modularisering,
  • definiera typsystem formellt,
  • bevisa sundhet hos typsystem,
  • resonera om ekvivalens mellan program,
  • definiera och resonera om kontrakt,
  • diskutera öppna frågor om avancerade finesser i programspråk och reflektera kritiskt över dem,
  • skriva program som implementerar olika formalismer, mekanismer och språkfinesser

i syfte att

  • kunna föra djupare diskussioner om programspråksprinciper
  • vara förberedd för kurser i kompilatorteknik.

Kursupplägg

Ingen information tillagd

Kurslitteratur och förberedelser

Särskild behörighet *

.

Rekommenderade förkunskaper

Programmeringsteknik, algoritmer och datastrukturer motsvarande någon av kurserna DD1320, DD1321, DD1325, DD1327, DD1338, DD1339, DD1340, DD1341, DD1346 eller ID1020.

Utrustning

Ingen information tillagd

Kurslitteratur

Meddelas senast 10 veckor före kursstart på kurswebben.

Examination och slutförande

Betygsskala *

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

Examination *

  • LAB1 - Laborationsuppgifter, 3,5 hp, betygsskala: P, F
  • TEN1 - Tentamen, 2,5 hp, betygsskala: A, B, C, D, E, FX, F
  • UPP1 - Uppsats, 1,5 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s samordnare för 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.

Om särskilda skäl finns kan annan examinationsform användas.

I denna kurs tillämpas skolans hederskodex, se: http://www.kth.se/csc/student/hederskodex.

Övriga krav för slutbetyg *

Godkända laborationsuppgifter, uppsats och tentamen

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Philipp Haller

Ytterligare information

Kurswebb

Ytterligare information om kursen kan hittas på kurswebben via länken nedan. Information på kurswebben kommer framöver flyttas till denna sida.

Kurswebb DD2481

Ges av

EECS/Datavetenskap

Huvudområde *

Datalogi och datateknik

Utbildningsnivå *

Avancerad nivå

Påbyggnad

DD2489 Kompilatorkonstruktion

Kontaktperson

Philipp Haller (phaller@kth.se)

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.

Övrig information

Betygskriterier meddelas vid kursstart.

I denna kurs tillämpas EECS hederskodex, se:
http://www.kth.se/eecs/utbildning/hederskodex