Uniwersytet Warszawski - Centralny System Uwierzytelniania
Strona główna

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 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)
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
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ę
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski.
ul. Banacha 2
02-097 Warszawa
tel: +48 22 55 44 214 https://www.mimuw.edu.pl/
kontakt deklaracja dostępności mapa serwisu USOSweb 7.1.1.0-7169e5891 (2025-04-24)