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

(in Polish) Programowanie funkcyjne w Ocamlu

General data

Course ID: 1000-2M24PFO
Erasmus code / ISCED: (unknown) / (unknown)
Course title: (unknown)
Name in Polish: Programowanie funkcyjne w Ocamlu
Organizational unit: Faculty of Mathematics, Informatics, and Mechanics
Course groups: Elective courses (tools for programming) 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)
Short description: (in Polish)

Podczas zajęć przedstawione zostaną podstawowe zagadnienia programowania funkcyjnego na przykładzie języka OCaml, który jest językiem na styku

paradygmatów funkcyjnego, imperatywnego i obiektowego.

Full description: (in Polish)

OCaml, skrót od Objective CAML to funkcyjny język z elementami programowania obiektowego i imperatywnego. Podczas zajęć omówimy najważniejsze cechy programowania funkcyjnego (niezmienialne struktury danych, funkcje jako wartości), łącznie z elementami semantycznymi stosowanymi w większości języków programowania funkcyjnego (typy wariantowe, dopasowanie wzorca, rekonstrukcja typów, abstrakcja typów), które coraz częściej przenikają do języków głównego nurtu (Java, Python, C++). Zaprezentujemy też niektóre praktyczne narzędzia stosowane w pracy w językiem OCaml, również w zastosowaniach przemysłowych.

Lista tematów:

1. Wstęp do programowania funkcyjnego

2. Typy podstawowe i listy, polimorfizm

3. Dopasowanie wzorców

4. Typy algebraiczne

5. Funkcje wyższego rzędu

6. Moduły i funktory

7. Elementy programowania imperatywnego w OCamlu

8. Obsługa błędów (wyjątki, monady)

9. Obiekty i klasy

10. Polimorficzne warianty, uogólnione typy algebraiczne (GADT)

Bibliography: (in Polish)

Literatura:

Michael R. Clarkson et al. “OCaml Programming: Correct + Efficient + Beautiful” https://cs3110.github.io/textbook/

John Whitington “OCaml from the Very Beginning”

https://ocaml-book.com/

Anil Madhavapeddy, Yaron Minsky “Real World OCaml: Functional Programming for the Masses” 2nd Edition

https://realworldocaml.org/

Learning outcomes: (in Polish)

Wiedza: absolwent zna i rozumie:

teoretyczne podstawy z zakresu programowania funkcyjnego … (K_W02)

w stopniu ogólnym paradygmat programowania funkcyjnego … (K_W09)

Umiejętności - absolwent potrafi:

pisać, uruchamiać i testować programy w języku OCaml (K_U05)

czytać ze zrozumieniem programy zapisane w języku OCaml (K_U06)

Kompetencje społeczne - absolwent jest gotów do:

- krytycznej oceny posiadanej wiedzy i odbieranych treści (K_K01),

- pracy z poszanowaniem uczciwości intelektualnej w działaniach własnych i innych osób; przestrzegania zasad etyki zawodowej i wymagania tego od innych oraz dbałości o dorobek i tradycje zawodu informatyka (K_K02),

- uznawania znaczenia wiedzy w rozwiązywaniu problemów poznawczych i praktycznych oraz wyszukiwania informacji w literaturze oraz zasięgania opinii ekspertów (K_K03).

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

Time span: 2024-10-01 - 2025-01-26
Selected timetable range:
Navigate to timetable
Type of class:
Lab, 30 hours more information
Coordinators: Jacek Chrząszcz, Daria Walukiewicz-Chrząszcz
Group instructors: Jacek Chrząszcz, Daria Walukiewicz-Chrząszcz, Wiktor Zuba
Students list: (inaccessible to you)
Examination: Examination
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)