Nicolaus Copernicus University in Torun - Central Authentication Service
Strona główna

Functional programming

General data

Course ID: 1000-I1ProgFunkc
Erasmus code / ISCED: (unknown) / (0613) Software and applications development and analysis The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
Course title: Functional programming
Name in Polish: Programowanie funkcyjne
Organizational unit: Faculty of Mathematics and Computer Science
Course groups: (in Polish) Inf., I st., stacjonarne, 3 rok, przedmioty do wyboru
(in Polish) Inf., II st, stacjonarne, przedmioty do wyboru
ECTS credit allocation (and other scores): 3.00 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.
Language: Polish
Prerequisites:

(in Polish) • Elementy logiki i teorii mnogości

• Programowanie II

Type of course:

(in Polish) przedmiot fakultatywny

Total student workload:

(in Polish) 30 godz. – laboratoria

30 godz. – czytanie literatury i dokumentacji

30 godz. – rozwiązywanie zadań praktycznych


RAZEM: 90 godz.


3 pkt. ECTS

Learning outcomes - knowledge:

(in Polish) • W1: definiuje podstawowe paradygmaty programowania i podaje praktyczne przykłady języków, które je realizują (K_W02, K_W10)

• W2: opisuje główne cechy programowania funkcyjnego, które odróżniają go od innych paradygmatów (K_W02, K_W03)


Powyższe efekty realizują efekty kierunkowe: K_W02, K_W03, K_W10

Learning outcomes - skills:

(in Polish) • U1: potrafi projektować i implementować algorytmy w języku funkcyjnym (K_U07)

• U2: potrafi programować i analizować rozbudowane projekty w funkcyjnym języku programowania (K_U05)


Powyższe efekty realizują efekty kierunkowe: K_U05, K_U07

Learning outcomes - social competencies:

(in Polish) • K1: Potrafi zdobywać i rozszerzać wiedzę związaną z programowaniem funkcyjnym (K_K03)

• K3: Przekazuje posiadaną wiedzę w zrozumiały sposób (K_K02)


Powyższe efekty realizują efekty kierunkowe: K_K02, K_K03

Teaching methods:

(in Polish) Laboratorium z elementami konwersatorium. Interaktywny zajęcia, pobudzające do bieżącej dyskusji, zadawania pytań i rozwiązywania konkretnych problemów.

Observation/demonstration teaching methods:

- display

Expository teaching methods:

- description
- discussion

Exploratory teaching methods:

- laboratory

Short description: (in Polish)

Zapoznanie z paradygmatem programowania funkcyjnego oraz jego praktyczną realizacją w języku Erlang.

Full description: (in Polish)

• programowanie imperatywne a programowanie deklaratywne: C, SQL i wyrażenia regularne

• Erlang: podstawowe konstrukcje i typy danych

• Podstawy algorytmiki programów funkcyjnych

• Programowanie sekwencyjne

• Rekurencja ogonowa i jej optymalizacja

• Programowanie współbieżne

• Obsługa błędów

• Biblioteki

Bibliography: (in Polish)

Literatura podstawowa

1. J. Backfield – Programowanie funkcyjne krok po kroku, Helion 2015

2. F. Cesarini, S. Thompson – Erlang programming, O'Reilly 2009

3. Oficjalna dokumentacja na stronie https://www.erlang.org/docs

Litera uzupełniająca

1. Z. Kessin – Building web applications with ERLANG, O'Reilly 2012

2. W. Loder – Erlang and Elixir for Imperative Programmers, Apress 2016

Assessment methods and assessment criteria: (in Polish)

Zaliczenie na podstawie projektu (przygotowanego w języku Erlang). Weryfikacja efektów: U1, U2, K1, K3.

Classes in period "Summer semester 2022/23" (past)

Time span: 2023-02-20 - 2023-09-30
Selected timetable range:
Navigate to timetable
Type of class:
Laboratory, 30 hours, 16 places more information
Coordinators: Marcin Gąsiorek
Group instructors: Marcin Gąsiorek
Students list: (inaccessible to you)
Examination: Course - Grading
Laboratory - Grading

Classes in period "Summer semester 2023/24" (in progress)

Time span: 2024-02-20 - 2024-09-30
Selected timetable range:
Navigate to timetable
Type of class:
Laboratory, 30 hours, 16 places more information
Coordinators: Marcin Gąsiorek
Group instructors: Marcin Gąsiorek
Students list: (inaccessible to you)
Examination: Course - Grading
Laboratory - Grading

Classes in period "Summer semester 2024/25" (future)

Time span: 2025-02-24 - 2025-09-30
Selected timetable range:
Navigate to timetable
Type of class:
Laboratory, 30 hours, 16 places more information
Coordinators: (unknown)
Group instructors: Marcin Gąsiorek
Students list: (inaccessible to you)
Examination: Course - Grading
Laboratory - Grading
Course descriptions are protected by copyright.
Copyright by Nicolaus Copernicus University in Torun.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ contact accessibility statement mapa serwisu USOSweb 7.0.3.0-2 (2024-04-26)