Kursplan för

Programming Languages and Concepts
Programmeringsspråk och -koncept

FRT130F, 7.5 högskolepoäng

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

Allmänna uppgifter

Avdelning: Automatic Control
Kurstyp: Ren forskarutbildningskurs
Undervisningsspråk: English

Syfte

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.

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

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.

Kurslitteratur

Video lectures and course material is available on the webpage http://courses.cs.washington.edu/courses/cse341/13sp/

Kursens undervisningsformer

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.

Kursens examination

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

Antagningsuppgifter

Förutsatta förkunskaper: Basic knowledge in a few different programming languages, e.g. 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