DD1362 Programmeringsparadigm 6,0 hp

Programming Paradigms

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

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 *

Funktionell programmering: funktionsbegreppet, högre ordningens funktioner, currying, evalueringsstrategier, strömmar, mönsterpassning, överladdning, polymorfi, interpretering, typer och klasser.

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

Internetprogrammering.

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

Lärandemål *

Efter godkänd kurs ska studenten kunna:

  • tillämpa och förklara allmänna begrepp inom programmering: kontrollflöde, rekursion, interpretering, paradigm,
  • tillämpa och förklara grundläggande begrepp inom funktionell programmering: högre ordningens funktioner, currying, lat evaluering, mönsterpassning, typer och klasser,
  • tillämpa och förklara grundläggande koncept inom formella språk och syntaxanalys: automater, reguljära uttryck, grammatiker, lexikal analys, och rekursiv medåkning,
  • skriva egna klient-serverprogram samt använda protokoll och kunna förklara hur de tolkas och skrivs

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

Kursupplägg

Ingen information tillagd

Kurslitteratur och förberedelser

Särskild behörighet *

DD1337 Programmering och DD1338 Algoritmer och datastrukturer,  eller motsvarande kurser.

Rekommenderade förkunskaper

Kunskaper i grundläggande datalogi motsvarande någon av kurserna DD1320, DD1321, DD1325, DD1327, DD1338, DD2325 eller ID1020.

Kunskaper i objektorienterad programmering motsvarande DD1310, DD1312, DD1315, DD1318, DD1331 eller DD1337.

Störst utbyte av DD1362 får den som dessutom har läst DD1396 Parallellprogrammering i introduktion till datalogi och DD1351 Logik för dataloger eller motsvarande kurser.

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

Betygsskala *

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

Examination *

  • LAB1 - Laborationer, 3,5 hp, betygsskala: A, B, C, D, E, FX, F
  • TEN1 - Tentamen, 2,5 hp, betygsskala: P, 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.

Vid särskilda skäl för studenter med funktionsnedsättning och vid omexamination av enstaka studenter har examinatorn rätt att medge annan examinationsform.

Plussning är inte tillåtet.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Per Austrin

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 DD1362

Ges av

EECS/Datavetenskap

Huvudområde *

Teknik

Utbildningsnivå *

Grundnivå

Påbyggnad

DD2481 Principer för programspråk, DD2372 Automater och språk, DD2457 Programsemantik och programanalys.

Kontaktperson

Marcus Dicander dicander@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

Kursen kan inte kombineras med DD1361.

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