Programowanie funkcyjne: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 40: | Linia 40: | ||
* [[PF:Moduł Podstawy | Podstawy języka programowania Ocaml]] | * [[PF:Moduł Podstawy | Podstawy języka programowania Ocaml]] | ||
inne wprowadzone: | |||
* [[Programowanie funkcyjne/ | * [[Programowanie funkcyjne/Wyliczanie procesów | Wyliczanie procesów - proces wyliczania]] ([[Programowanie funkcyjne/Wyliczanie procesów/Ćwiczenia |Ćwiczenia]]) | ||
Finalne | |||
* [[Programowanie funkcyjne/Wstęp | Wstęp – porównanie programowania funkcyjnego i imperatywnego]] | * [[Programowanie funkcyjne/Wstęp | Wstęp – porównanie programowania funkcyjnego i imperatywnego]] | ||
* [[Programowanie funkcyjne/Podstawy | Podstawy języka programowania Ocaml]] ([[Programowanie funkcyjne/Podstawy/Ćwiczenia |Ćwiczenia]]) | * [[Programowanie funkcyjne/Podstawy | Podstawy języka programowania Ocaml]] ([[Programowanie funkcyjne/Podstawy/Ćwiczenia |Ćwiczenia]]) | ||
* [[Programowanie funkcyjne/Struktury danych | Podstawowe typy danych]] ([[Programowanie funkcyjne/Struktury danych/Ćwiczenia |Ćwiczenia]]) | * [[Programowanie funkcyjne/Struktury danych | Podstawowe typy danych]] ([[Programowanie funkcyjne/Struktury danych/Ćwiczenia |Ćwiczenia]]) | ||
* [[Programowanie funkcyjne/Moduł Model obliczeń | Model obliczeń]] | |||
* [[Programowanie funkcyjne/Procedury wyższych rzędów | Procedury wyższych rzędów]] ([[Programowanie funkcyjne/Procedury wyższych rzędów/Ćwiczenia |Ćwiczenia]]) | * [[Programowanie funkcyjne/Procedury wyższych rzędów | Procedury wyższych rzędów]] ([[Programowanie funkcyjne/Procedury wyższych rzędów/Ćwiczenia |Ćwiczenia]]) | ||
* [[Programowanie funkcyjne/Procedury wyższych rzędów i listy | Procedury wyższych rzędów i listy]] | |||
* [[Programowanie funkcyjne/Procedury jeszcze wyższych rzędów | Procedury jeszcze wyższych rzędów]] ([[Programowanie funkcyjne/Procedury jeszcze wyższych rzędów/Ćwiczenia |Ćwiczenia]]) | * [[Programowanie funkcyjne/Procedury jeszcze wyższych rzędów | Procedury jeszcze wyższych rzędów]] ([[Programowanie funkcyjne/Procedury jeszcze wyższych rzędów/Ćwiczenia |Ćwiczenia]]) | ||
* [[Programowanie funkcyjne/Moduły | Moduły]] ([[Programowanie funkcyjne/Moduły/Ćwiczenia |Ćwiczenia]]) | * [[Programowanie funkcyjne/Moduły | Moduły]] ([[Programowanie funkcyjne/Moduły/Ćwiczenia |Ćwiczenia]]) | ||
* [[Programowanie funkcyjne/Funktory | Funktory]] ([[Programowanie funkcyjne/Funktory/Ćwiczenia |Ćwiczenia]]) | * [[Programowanie funkcyjne/Funktory | Funktory]] ([[Programowanie funkcyjne/Funktory/Ćwiczenia |Ćwiczenia]]) | ||
* [[Programowanie funkcyjne/Programowanie imperatywne | Programowanie imperatywne]] ([[Programowanie funkcyjne/Programowanie imperatywne/Ćwiczenia |Ćwiczenia]]) | * [[Programowanie funkcyjne/Programowanie imperatywne | Programowanie imperatywne]] ([[Programowanie funkcyjne/Programowanie imperatywne/Ćwiczenia |Ćwiczenia]]) | ||
* [[Programowanie funkcyjne/System typów | System typów]] ([[Programowanie funkcyjne/System typów/Ćwiczenia |Ćwiczenia]]) | |||
* [[Programowanie funkcyjne/Techniki uleniwiania i spamiętywania | Techniki uleniwiania i spamiętywania ]] | |||
* [[Programowanie funkcyjne/Strumienie | Strumienie]] ([[Programowanie funkcyjne/Strumienie/Ćwiczenia |Ćwiczenia]]) | * [[Programowanie funkcyjne/Strumienie | Strumienie]] ([[Programowanie funkcyjne/Strumienie/Ćwiczenia |Ćwiczenia]]) | ||
Wersja z 18:17, 19 lip 2006
Forma zajęć
wykład (30 godz.) + laboratorium (30 godz.)
Opis
Celem przedmiotu jest przedstawienie programowania funkcyjnego – paradygmatu i stylu programowania, oraz towarzyszących mu technik programistycznych. Wykłady obejmują wprowadzenie do wybranego języka funkcyjnego (Ocaml) oraz podstawowe pojęcia i techniki programowania funkcyjnego. Laboratoria obejmują praktyczną naukę programowania funkcyjnego, zwieńczoną realizacją średniej wielkości programu.
Sylabus
Autor
- Marcin Kubica
Wymagania wstępne
- Wstęp do programowania
- Logika i teoria mnogości
Zawartość
- Podstawowe konstrukcje wybranego funkcyjnego języka programowania
- Typy danych
- Proceudry wyższych rzędów
- Model obliczeń programów funkcyjnych (uproszczona semantyka operacyjna)
- System typów dla fragmentu języka
- Moduły i funktory
- Konstrukcje imperatywne
- Uleniwianie i spamiętywanie
- Strumienie
Literatura
- H. Abelson, G. J. Sussman, Struktura i interpretacja programów komputerowych, WNT 2002.
- X. Leroy, The Objective Caml system, [1]
- E. Chailloux, P. Manoury, B. Pagano, Developing Applications with Objective Caml, [2]
- D. Rémy, Using, Understanding and Unraveling the Ocaml Language, [3]
Moduły
do testów:
inne wprowadzone:
Finalne
- Wstęp – porównanie programowania funkcyjnego i imperatywnego
- Podstawy języka programowania Ocaml (Ćwiczenia)
- Podstawowe typy danych (Ćwiczenia)
- Model obliczeń
- Procedury wyższych rzędów (Ćwiczenia)
- Procedury wyższych rzędów i listy
- Procedury jeszcze wyższych rzędów (Ćwiczenia)
- Moduły (Ćwiczenia)
- Funktory (Ćwiczenia)
- Programowanie imperatywne (Ćwiczenia)
- System typów (Ćwiczenia)
- Techniki uleniwiania i spamiętywania
- Strumienie (Ćwiczenia)