Uniwersytet Warszawski - Centralny System Uwierzytelniania
Strona główna

Funkcyjne programowanie sieciowe

Informacje ogólne

Kod przedmiotu: 1000-2M24FPS
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Funkcyjne programowanie sieciowe
Jednostka: Wydział Matematyki, Informatyki i Mechaniki
Grupy: Przedmioty obieralne dla informatyki
Przedmioty obieralne narzędziowe dla informatyki
Punkty ECTS i inne: 4.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: (brak danych)
Założenia (lista przedmiotów):

Podstawy matematyki 1000-211bPM
Sieci komputerowe 1000-214bSIK

Skrócony opis:

Przedmiot ma na celu przedstawienie zaawansowanych mechanizmów programowania funkcyjnego z typami zależnymi na przykładzie tworzenia klienta i serwera protokołu sieciowego. Na zajęciach wykorzystywane będzie programowanie funkcyjne w Ocamlu wzbogacone o elementy weryfikacji funkcyjnych własności wykonywane w Coq-u.

Pełny opis:

1. Podstawy programowania w OCaml-u i Coq-u

2. Typy algebraiczne i zależne

3. Podstawy dowodzenia własności wynikających z typów zależnych

4. Ekstrakcja kodu z efektywnymi typami

5. Pętla komunikacji sieciowej w programach funkcyjnych

6. Parsowanie pakietów binarnych w językach funkcyjnych

7. Logika implementacji protokołu

8. Dowodzenie własności implementacji

Literatura:

* Dokumentacja języka programowania Ocaml, https://ocaml.org/docs

* Dokumentacja systemu dowodzenia twierdzeń Coq, https://coq.inria.fr/

* Adam Chlipala, Certified Programming with Dependent Types, http://adam.chlipala.net/cpdt/

Metody i kryteria oceniania:

Na podstawie projektu polegającego na implementacji małego protokołu sieciowego w języku funkcyjnym z elementami weryfikacji poprawności pisanego kodu. 100%

Zajęcia w cyklu "Semestr letni 2024/25" (jeszcze nie rozpoczęty)

Okres: 2025-02-17 - 2025-06-08
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Koordynatorzy: Aleksy Schubert
Prowadzący grup: Aleksy Schubert
Lista studentów: (nie masz dostępu)
Zaliczenie: Zaliczenie na ocenę
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
kontakt deklaracja dostępności USOSweb 7.0.3.0 (2024-03-22)