DD1361 Programmeringsparadigm 7,5 hp
Denna kurs är avvecklad.
Sista planerade examination: VT 2021
Avvecklingsbeslut:
Ingen information tillagdInnehå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.
Logikprogrammering: unifiering, backtracking, negering, snitt och låddiagram.
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 genomgången kurs ska studenten kunna
- tillämpa och förklara allmänna begrepp inom programmering: kontrollflöde, rekursion, interpretering, paradigmer
- 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 begrepp inom logikprogrammering: unifiering, backtracking, snitt, negering och olika programmeringstekniker som t.ex. generate-test
- 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
för 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
För fristående kursstuderande: grundläggande högskolebehörighet samt 7,5 hp i matematik och 6 hp datalogi eller programmeringsteknik. Dessutom krävs svenska B eller motsvarande och engelska A eller motsvarande.
Rekommenderade förkunskaper
För KTH-studerande: DD1337, DD1338 och DD1350 Logik för dataloger (kan läsas parallellt) eller motsvarande.
Utrustning
Kurslitteratur
Meddelas senast 4 veckor före kursstart på kursens hemsida. Föregående läsår användes material producerat vid institutionen.
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
- LAB2 - Laborationer, 4,5 hp, betygsskala: A, B, C, D, E, FX, F
- TEN2 - Tentamen, 3,0 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.
I denna kurs tillämpas skolans hederskodex, se: http://www.kth.se/csc/student/hederskodex.
Möjlighet till komplettering
Möjlighet till plussning
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, ID2213 Logikprogrammering