Gäller från och med: Spring 2016
Beslutad av: Rektor Viktor Öwall
Datum för fastställande: 2016-06-21
Avdelning: Automatic Control
Kurstyp: Ren forskarutbildningskurs
Undervisningsspråk: English
The purpose of the course is to give an understanding of the various programming concepts that underpin both old and modern programming languages. Special attention is given to functional programming and object-oriented programming.
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
The course is based on Prof. Dan Grossman's on-line course "Programming Languages" and is given in the form of a study circle. The most important concepts in the course are: functional programming (avoiding mutation, exploiting recursion and higher-order functions, closures, anonymous functions); algebraic datatypes and pattern-matching; essential object-oriented programming (late-binding / dynamic dispatch, subtyping vs. subclassing); language support for abstraction, such as modules, abstract types, and dynamic type-creation; syntax vs. semantics; static vs. dynamic typing and type safety; parametric polymorphism / generics; object-oriented extensibility vs. functional extensibility.
Video lectures and course material is available on the webpage http://courses.cs.washington.edu/courses/cse341/13sp/
Undervisningsformer: Föreläsningar, litteraturkurs som självstudier. The course is given in the form of a study circle with eight meetings. Before each meeting, the participants are expected to solve a number of programming problems. The PhD students should also prepare a brief lecture on the most important programming concepts in the material of the week. The reponsibility to produce reference solutions and to grade the handins also rotate among the participants.
Examinationsformer: Inlämningsuppgifter, seminarieföredrag av deltagarna
Betygsskala: Underkänd, godkänd
Examinator:
Förutsatta förkunskaper: Basic knowledge in a few different programming languages, e.g. Java, C, Python
Kursansvarig: Anton Cervin <anton.cervin@control.lth.se>
Hemsida: https://www.control.lth.se/Education/DoctorateProgram/programming-languages