Funktionell programmering I
Kursplan, Avancerad nivå, 1DL330
- Kod
- 1DL330
- Utbildningsnivå
- Avancerad nivå
- Huvudområde(n) med fördjupning
- Datavetenskap A1N
- Betygsskala
- Med beröm godkänd (5), Icke utan beröm godkänd (4), Godkänd (3), Underkänd (U)
- Fastställd av
- Teknisk-naturvetenskapliga fakultetsnämnden, 4 februari 2022
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
120 hp med en fortsättningskurs i programmering. 15 hp matematik inklusive grundläggande algebra. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)
Mål
Efter godkänd kurs ska studenten kunna:
- definiera de grundläggande begreppen i funktionell programmering,
- manuellt exekvera ett enkelt funktionellt program,
- härleda typen av ett enkelt funktionellt program,
- implementera enkla algoritmer och datastrukturer som funktionella program,
- designa större funktionella program på ett modulärt sätt och med återanvändbara komponenter,
- förklara med hjälp av enkla problem hur funktionell programmering skiljer sig från imperativ och objektorienterad programmering.
Innehåll
Grundläggande begrepp: funktioner och relationer, rekursion och svansrekursion, typsystem, polymorfism, datatyper, rekursiva datatyper, inledning till högre ordningens funktioner, data-abstraktion.
Programmering i ett funktionellt språk, t.ex. Haskell.
Likheter och skillnader i förhållande till imperativ och objektorienterad programmering.
Undervisning
Laborationer och föreläsningar.
Examination
Skriftliga individuella uppgifter. Skriftliga uppgifter i grupp.
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.
Övriga föreskrifter
Kursen kan ej räknas in i examen tillsammans med Programkonstruktion (1IT020, 1IT021, 1DL200, 1DL201).
Litteraturlista
- Litteraturlista giltig från och med höstterminen 2022
- Litteraturlista giltig från och med höstterminen 2021
- Litteraturlista giltig från och med höstterminen 2019
- Litteraturlista giltig från och med vårterminen 2019, version 2
- Litteraturlista giltig från och med vårterminen 2019, version 1
- Litteraturlista giltig från och med höstterminen 2009