(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
|
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 |
Navigate to timetable
MO TU W TH FR |
Type of class: |
Lab, 30 hours
|
|
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 |
Copyright by University of Warsaw.