Gäller från och med: Vårterminen 2016
Beslutad av: Rektor Viktor Öwall
Datum för fastställande: 2016-06-21
Avdelning: Reglerteknik
Kurstyp: Ren forskarutbildningskurs
Undervisningsspråk: Engelska
Kursen syftar till att ge en förståelse för de olika programmeringskoncept som ligger bakom såväl gamla som nya programmeringsspråk. Särskild vikt läggs vid funktionsprogrammering och objektorienterad programmering.
Kunskap och förståelse
För godkänd kurs skall doktoranden
Färdighet och förmåga
För godkänd kurs skall doktoranden
Kursen baseras på professor Dan Grossmans nätkurs "Programming Languages" och ges i form av en studiecirkel. De viktigaste koncepten i kursen är: funktionsprogrammering (att undvika mutation, utnyttjande av rekursion och högre ordningens funktioner, inneslutning, anonyma funktioner); algebraiska datatyper och mönstermatchning; grundläggande objektorienterad programmering (sen bindning / dynamiska anrop, subtyper kontra subklasser); språkstöd för abstraktioner såsom moduler, abstrakta typer och dynamiska typer; syntax kontra semantik; statisk kontra dynamisk typning och typsäkerhet; parametrisk polymofism / generiska typer; objektorienterade utökningsmöjligheter kontra funktionella utökningsmöjligheter.
Videoföreläsningar och kursmaterial hämtas från hemsidan http://courses.cs.washington.edu/courses/cse341/13sp/
Undervisningsformer: Föreläsningar, litteraturkurs som självstudier. Kursen ges i form av en studiecirkel med åtta träffar. Inför varje träff förväntas deltagarna lösa ett antal programmeringsuppgifter, och ett par doktorander ska presentera de viktigaste programmingskoncepten i veckans material. Ansvaret för att upprätta mönsterlösningar och att rätta uppgifterna roterar också mellan deltagarna.
Examinationsformer: Inlämningsuppgifter, seminarieföredrag av deltagarna
Betygsskala: Underkänd, godkänd
Examinator:
Förutsatta förkunskaper: Grundläggande kunskaper i ett par olika programmeringsspråk, t.ex. Java, C, Python
Kursansvarig: Anton Cervin <anton.cervin@control.lth.se>
Hemsida: https://www.control.lth.se/Education/DoctorateProgram/programming-languages