Zaawansowane programowanie funkcyjne
Informacje ogólne
| Kod przedmiotu: | 1000-2M11ZPF |
| Kod Erasmus / ISCED: |
11.303
|
| Nazwa przedmiotu: | Zaawansowane programowanie funkcyjne |
| Jednostka: | Wydział Matematyki, Informatyki i Mechaniki |
| Grupy: |
Grupa przedmiotów obieralnych dla informatyki magisterskiej- specjalność Języki programowania Przedmioty obieralne dla informatyki i ML Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka |
| Punkty ECTS i inne: |
6.00
|
| Język prowadzenia: | angielski |
| Kierunek podstawowy MISMaP: | informatyka |
| Rodzaj przedmiotu: | monograficzne |
| Wymagania (lista przedmiotów): | Języki i paradygmaty programowania 1000-216bJPP |
| Skrócony opis: |
Wykład ma na celu przedstawienie najważniejszych zagadnień nowoczesnego programowania funkcyjnego w językach takich jak Haskell, Coq, Idris ze szczególnym uwzględnieniem wykorzystania typów do specyfikowania i weryfikacji programów. |
| Pełny opis: |
1. Typy i klasy • Typy algebraiczne i klasy typów • Klasy konstruktorowe • Klasy wieloparametrowe, zależności funkcyjne • Rodziny typów, typy skojarzone, uogólnione typy algebraiczne (GADT) 2. Testowanie programów w Haskellu 3. Programowanie z typami zależnymi w języku Idris 4. Programowanie z typami zależnymi w systemie Coq 5. Dowodzenie własności w systemie Coq 6. Programowanie równoległe w Haskellu • Programowanie wielordzeniowe i wieloprocesorowe (SMP) • Równoległość danych (Data Parallel Haskell) |
| Literatura: |
1. B. O'Sullivan, J. Goerzen, D. Stewart Real World Haskell O'Reilly Media 2008, http://book.realworldhaskell.org/ 2. Adam Chlipala, Certified Programming with Dependent Types, A Pragmatic Introduction to the Coq Proof Assistant, MIT Press 2013, http://adam.chlipala.net/cpdt/ 3. Yves Bertot, Pierre Castéran, Interactive Theorem Proving and Program Development Coq'Art: The Calculus of Inductive Constructions, Springer 2004, https://www.labri.fr/perso/casteran/CoqArt/ 4. Simon Marlow, Parallel and Concurrent Programming in Haskell, O'Reilly Media 2013, http://chimera.labs.oreilly.com/books/1230000000929/ |
| Efekty uczenia się: |
Wiedza 1. ma pogłebioną wiedze w zakresie paradygmatu programowania funkcyjnego 2. zna metody specyfikowania programów funkcyjnych 3. zna metody programowania równoległego w języku funkcyjnym (K_W04) Umiejętności 1. potrafi stworzyć średniej wielkości program w języku funkcyjnym 2. umie stosować typy do specyfikowania i weryfikacji programów 3. umie stosować techniki zrównoleglania obliczeń w języku funkcyjnym (K_U07) Kompetencje 1. zna ograniczenia własnej wiedzy i rozumie potrzebę dalszego kształcenia (K_K01) 2. potrafi precyzyjnie formułować pytania, służące pogłębieniu własnego zrozumienia danego tematu (K_K02) 3. rozumie konieczność systematycznej pracy nad wszelkimi projektami, które mają długofalowy charakter (K_K03) |
| Metody i kryteria oceniania: |
Ocena końcowa na podstawie projektów zaliczeniowych oraz ich prezentacji |
Zajęcia w cyklu "Semestr letni 2024/25" (zakończony)
| Okres: | 2025-02-17 - 2025-06-08 |
Przejdź do planu
PN WT WYK
LAB
LAB
ŚR CZ PT |
| Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
| Koordynatorzy: | Marcin Benke, Daria Walukiewicz-Chrząszcz | |
| Prowadzący grup: | Marcin Benke, Daria Walukiewicz-Chrząszcz | |
| Lista studentów: | (nie masz dostępu) | |
| Zaliczenie: | Egzamin |
Zajęcia w cyklu "Semestr letni 2025/26" (jeszcze nie rozpoczęty)
| Okres: | 2026-02-16 - 2026-06-07 |
Przejdź do planu
PN WT WYK
LAB
ŚR CZ PT |
| Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
| Koordynatorzy: | Marcin Benke, Daria Walukiewicz-Chrząszcz | |
| Prowadzący grup: | Marcin Benke, Daria Walukiewicz-Chrząszcz | |
| Lista studentów: | (nie masz dostępu) | |
| Zaliczenie: |
Przedmiot -
Egzamin
Wykład - Egzamin |
Właścicielem praw autorskich jest Uniwersytet Warszawski.
