- Nazwa przedmiotu:
- Programowanie funkcyjne
- Koordynator przedmiotu:
- Dr inż. Tomasz Brengos
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia II stopnia
- Program:
- Matematyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- 1120-MAMNI-NSP-0241
- Semestr nominalny:
- 4 / rok ak. 2023/2024
- Liczba punktów ECTS:
- 5
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1. godziny kontaktowe – 68 h; w tym
a) obecność na wykładach – 30 h
b) obecność na laboratoriach – 30 h
c) konsultacje – 8 h
2. praca własna studenta – 55 h; w tym
a) przygotowanie do laboratoriów – 50 h
b) zapoznanie się z literaturą – 5 h
Razem 103 h, co odpowiada 5 pkt. ECTS
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- a) obecność na wykładach – 30 h
b) obecność na laboratoriach – 30 h
c) konsultacje – 8 h
Razem 68 h, co odpowiada 3 pkt. ECTS
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- .
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium30h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Przedmioty poprzedzające:
1. Elementy Logiki i Teorii Mnogości
2. Algebra i jej zastosowania 1, 2
3. Teoria Kategorii
Wymagania wstępne:
1. Znajomość podstawowych pojęć teorii mnogości i algebry abstrakcyjnej.
2. Znajomość podstawowych zagadnień z teorii kategorii.
- Limit liczby studentów:
- .
- Cel przedmiotu:
- Zdobycie wiedzy na temat założeń i własności teoretycznych funkcyjnych języków programowania. Nabycie praktycznych umiejętności programowania w wybranym języku funkcyjnym.
- Treści kształcenia:
- 1. Podstawowe pojęcia Lambda rachunku i teorii typów
2. Funkcje i ewaluacja w językach funkcyjnych
3. Abstrakcja w językach funkcyjnych
4. Listy w językach funkcyjnych. Rekurencja.
5. Monady i Applicative w Haskellu.
- Metody oceny:
- Laboratoria 60 punktów w tym: projekt – 30 punktów, dwa kolokwia na zajęciach – 2 x 15 punktów.
Ocena z przedmiotu wystawiona będzie wg następującej skali:
od 31pkt – 3,0
od 37pkt – 3,5
od 43pkt – 4,0
od 49pkt – 4,5
od 55pkt – 5,0
- Egzamin:
- nie
- Literatura:
- 1. A Gentle Introduction to Haskell 98; Hudak, Peterson, Fasel
2. Introduction to Lambda Calculus, Barendregt, Barendsen
3. Programming in Haskell, 2nd Edition; Hutton, Cambridge University Press
- Witryna www przedmiotu:
- .
- Uwagi:
- .
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Charakterystyka PF_W01
- Ma podstawową wiedzę dotyczącą paradygmatów programowania funkcyjnego.
Weryfikacja: Projekty na laboratoriach
Powiązane charakterystyki kierunkowe:
M2MCB_W11
Powiązane charakterystyki obszarowe:
Profil ogólnoakademicki - umiejętności
- Charakterystyka PF_U01
- Potrafi tworzyć programy używając paradygmatów programowania funkcyjnego w jednym z wybranych języków funkcyjnych.
Weryfikacja: Projekty na laboratoriach
Powiązane charakterystyki kierunkowe:
M2MCB_U11
Powiązane charakterystyki obszarowe:
Profil ogólnoakademicki - kompetencje społeczne
- Charakterystyka PF_K01
- Rozumie przydatność nabytej wiedzy i potrzebę jej pogłębiania.
Weryfikacja: Projekty na laboratoriach
Powiązane charakterystyki kierunkowe:
M2MCB_K02
Powiązane charakterystyki obszarowe: