Kursplan för

Programmeringsspråk och -koncept
Programming Languages and Concepts

FRT130F, 7,5 högskolepoäng

Gäller från och med: Vårterminen 2016
Beslutad av: Rektor Viktor Öwall
Datum för fastställande: 2016-06-21

Allmänna uppgifter

Avdelning: Reglerteknik
Kurstyp: Ren forskarutbildningskurs
Undervisningsspråk: Engelska

Syfte

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.

Mål

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

Kursinnehåll

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.

Kurslitteratur

Videoföreläsningar och kursmaterial hämtas från hemsidan http://courses.cs.washington.edu/courses/cse341/13sp/

Kursens undervisningsformer

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.

Kursens examination

Examinationsformer: Inlämningsuppgifter, seminarieföredrag av deltagarna
Betygsskala: Underkänd, godkänd
Examinator:

Antagningsuppgifter

Förutsatta förkunskaper: Grundläggande kunskaper i ett par olika programmeringsspråk, t.ex. Java, C, Python

Kurstillfällesinformation

Kontaktinformation och övrigt

Kursansvarig: Anton Cervin <anton.cervin@control.lth.se>
Hemsida: https://www.control.lth.se/Education/DoctorateProgram/programming-languages


Fullständig visning