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:
2 / rok ak. 2020/2021
Liczba punktów ECTS:
4
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 – 35 h; w tym a) przygotowanie do laboratoriów – 30 h b) zapoznanie się z literaturą – 5 h Razem 103 h, co odpowiada 4 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 – 5 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:
a) obecność na laboratoriach – 30 h b) przygotowanie do laboratoriów – 30 h Razem 60 h, co odpowiada 2 pkt. ECTS
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 i kolekcje w językach funkcyjnych 5. Rekurencja w językach funkcyjnych 6. Monady w językach funkcyjnych
Metody oceny:
Laboratoria 60 punktów w tym: 4 projekty – 15 punktów każdy. 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: M2MNI_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: M2MNI_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: M2MNI_K02
Powiązane charakterystyki obszarowe: