Programowanie funkcyjne w OCamlu
Informacje ogólne
Kod przedmiotu: | 1000-2M24PFO |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Programowanie funkcyjne w OCamlu |
Jednostka: | Wydział Matematyki, Informatyki i Mechaniki |
Grupy: |
Przedmioty obieralne narzędziowe dla informatyki |
Punkty ECTS i inne: |
4.00
|
Język prowadzenia: | (brak danych) |
Skrócony opis: |
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. |
Pełny opis: |
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) |
Literatura: |
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/ |
Efekty uczenia się: |
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). |
Metody i kryteria oceniania: |
Na zaliczenie składa się oddawanie małych programików, mniej więcej na każdym labie (max 30 punktów) oraz projektu zaliczeniowego (max 70 punktów). |
Zajęcia w cyklu "Semestr zimowy 2024/25" (zakończony)
Okres: | 2024-10-01 - 2025-01-26 |
Przejdź do planu
PN WT ŚR LAB
CZ PT LAB
LAB
|
Typ zajęć: |
Laboratorium, 30 godzin
|
|
Koordynatorzy: | Jacek Chrząszcz, Daria Walukiewicz-Chrząszcz | |
Prowadzący grup: | Jacek Chrząszcz, Daria Walukiewicz-Chrząszcz, Wiktor Zuba | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Zaliczenie na ocenę |
Zajęcia w cyklu "Semestr zimowy 2025/26" (jeszcze nie rozpoczęty)
Okres: | 2025-10-01 - 2026-01-25 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 30 godzin
|
|
Koordynatorzy: | Jacek Chrząszcz, Daria Walukiewicz-Chrząszcz | |
Prowadzący grup: | Jacek Chrząszcz, Daria Walukiewicz-Chrząszcz | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę |
Właścicielem praw autorskich jest Uniwersytet Warszawski.