Avancerad funktionell programmering
Kursplan, Avancerad nivå, 1DL450
- Kod
- 1DL450
- Utbildningsnivå
- Avancerad nivå
- Huvudområde(n) med fördjupning
- Datavetenskap A1F
- Betygsskala
- Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
- Fastställd av
- Teknisk-naturvetenskapliga fakultetsnämnden, 30 augusti 2018
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
120 hp varav 40 hp datavetenskap och 20 hp matematik. Programmeringsteknik II och Funktionell Programmering I, alternativt Programkonstruktion, eller motsvarande. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)
Mål
Efter godkänd kurs ska studenten kunna:
- skriva program i Haskell, Erlang och Lisp,
- använda högre ordningens funktioner, och fortsättningar (continuations),
- använda lat evaluering och oändliga datastrukturer i Haskell,
- använda Erlangs processbegrepp och lösa programmeringsuppgifter i Erlang genom att organisera dem som system av kommunicerande processer,
- skriva program som interpreterar, transformerar och analyserar Lisp-program i Lisp, samt förstå och använda Lisps macro-begrepp,
Innehåll
Programspråken Haskell, Erlang och Lisp. Högre ordningens funktioner, fortsättningar, lat evaluering i Haskell, kommunicerande process i Erlang, program som data (metaprogrammering) i Lisp.
Undervisning
Föreläsningar, laborationer och obligatoriska uppgifter.
Examination
Tentamen 2 hp och obligatoriska uppgifter 3 hp.
Om särskilda skäl finns får examinator göra undantag från det angivna examinationssättet och medge att en enskild student examineras på annat sätt. Särskilda skäl kan t.ex. vara besked om särskilt pedagogiskt stöd från universitetets samordnare för studenter med funktionsnedsättning.