Funktionell programmering I

5 hp

Kursplan, Avancerad nivå, 1DL330

Det finns en senare version av kursplanen.
Kod
1DL330
Utbildningsnivå
Avancerad nivå
Huvudområde(n) med fördjupning
Datavetenskap A1N
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, 2 februari 2021
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 eventuellt föreläsningar.

Examination

Uppgifter. En frivillig tentamen ges för dem som vill ha möjlighet till högre betyg.

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).

FÖLJ UPPSALA UNIVERSITET PÅ

facebook
instagram
twitter
youtube
linkedin