University of Warsaw - Central Authentication System
Strona główna

(in Polish) Funkcyjne programowanie sieciowe

General data

Course ID: 1000-2M24FPS
Erasmus code / ISCED: (unknown) / (unknown)
Course title: (unknown)
Name in Polish: Funkcyjne programowanie sieciowe
Organizational unit: Faculty of Mathematics, Informatics, and Mechanics
Course groups: Elective courses (tools for programming) for Computer Science
Elective courses for Computer Science
ECTS credit allocation (and other scores): 4.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.

view allocation of credits
Language: (unknown)
Prerequisites:

Computer networks 1000-214bSIK
Foundations of mathematics 1000-211bPM

Short description: (in Polish)

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.

Full description: (in Polish)

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

Bibliography: (in Polish)

* 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/

Assessment methods and assessment criteria: (in Polish)

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

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

Time span: 2025-02-17 - 2025-06-08
Selected timetable range:
Navigate to timetable
Type of class:
Lab, 30 hours more information
Coordinators: Aleksy Schubert
Group instructors: Aleksy Schubert
Students list: (inaccessible to you)
Examination: Grading
Course descriptions are protected by copyright.
Copyright by University of Warsaw.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
contact accessibility statement USOSweb 7.0.3.0 (2024-03-22)