DD1362 Programmeringsparadigm 6,0 hp
Denna kurs är under avveckling.
Sista planerade examination: VT 2024
Avvecklingsbeslut:
Kursen avvecklas vid utgången av VT 2024 enligt skolchefsbeslut: J-2021-2302.
Beslutsdatum: 2021-10-14
Kursen ges sista gången VT2022. Sista möjlighet till examination i kursen ges VT2024.
Examinationen genomförs under övergångsperioden inom ramen för kursen DD1360. Kursmodulen MAS1 (tidigare TEN1) i DD1362 ersätts av kursmodulen MAS1 i DD1360. Laborationerna i LAB1 kan redovisas under ordinarie kursomgång av DD1362 samt i labbveckan i juni.
Den här kursen ger en introduktion till funktionell programmering, webbprogrammering och syntaxanalys.
Innehåll och lärandemål
Kursinnehåll
Funktionell programmering: funktionsbegreppet, högre ordningens funktioner, currying, evalueringsstrategier, strömmar, mönsterpassning, överladdning, polymorfism, interpretering, lat evaluering, 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, 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, datatyper
- 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
- 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.
Kurslitteratur och förberedelser
Särskild behörighet
Kunskaper och färdigheter i programmering, 6 hp, motsvarande slutförd kurs DD1337/DD1310/DD1311/DD1312/DD1314/DD1315/DD1316/DD1318/DD1321/DD1331/ DD100N/ID1018.
Kunskaper i grundläggande datalogi, 6 hp, motsvarande slutförd kurs DD1338/DD1320/DD1321/DD1325/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.
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
Kurslitteratur
Examination och slutförande
När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.
Betygsskala
Examination
- LAB1 - Laborationer, 3,5 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öjlighet till komplettering
Möjlighet till plussning
Plussning är inte tillåtet.
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
Ges av
Huvudområde
Utbildningsnivå
Påbyggnad
DD2481 Principer för programspråk, DD2372 Automater och språk, DD2457 Programsemantik och programanalys.
Kontaktperson
Övergångsbestämmelser
Den skriftliga tentan TEN1 ersätts av skriftliga och muntliga mästarprov MAS1.
Examination kan under läsåren 2022/2023 och 2023/2024 genomföras inom ramen för kursen DD1360. Kursmodulen MAS1 i DD1362 ersätts av kursmodulen MAS1 i DD1360. Laborationerna i LAB1 kan redovisas under ordinarie kursomgång av DD1360 samt i labbveckan i juni.