Programowanie funkcyjne: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
m Poprawki edytorskie |
||
Linia 1: | Linia 1: | ||
= | == 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 sylabusa === | |||
* Marcin Kubica | |||
== [[PF: | === 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'', [http://caml.inria.fr/pub/docs/manual-ocaml/index.html] | |||
# E. Chailloux, P. Manoury, B. Pagano, ''Developing Applications with Objective Caml'', [http://caml.inria.fr/oreilly-book/] | |||
# D. Remy, Using, ''Understanding and Unraveling the Ocaml Language'', [http://caml.inria.fr/pub/docs/u3-ocaml/] | |||
== Moduły == | |||
* [[PF:Moduł Wstęp | Wstęp – porównanie programowania funkcyjnego i imperatywnego]] | |||
* [[PF:Moduł Podstawy | Podstawy języka programowania Ocaml]] | |||
* [[PF:Moduł Struktury danych | Podstawowe typy danych]] | |||
* [[PF:Moduł Model obliczeń | Model obliczeń]] | |||
* [[PF:Moduł Wyrzsze rzędy 1 | Procedury wyższych rzędów]] | |||
* [[PF:Moduł Wyrzsze rzędy 2 | Procedury wyższych rzędów i listy]] | |||
* [[PF:Moduł Wyrzsze rzędy 3 | Procedury jeszcze wyższych rzędów]] | |||
* [[PF:Moduł Moduły | Moduły]] | |||
* [[PF:Moduł Funktory | Funktory]] | |||
* [[PF:Moduł Imperatywne | Programowanie imperatywne]] | |||
* [[PF:Moduł System typów | System typów]] | |||
* [[PF:Moduł Uleniwianie | Techniki uleniwiania i spamiętywania ]] | |||
* [[PF:Moduł Strunmienie | Strumienie]] |
Wersja z 11:10, 7 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 sylabusa
- 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. Remy, Using, Understanding and Unraveling the Ocaml Language, [3]
Moduły
- Wstęp – porównanie programowania funkcyjnego i imperatywnego
- Podstawy języka programowania Ocaml
- Podstawowe typy danych
- Model obliczeń
- Procedury wyższych rzędów
- Procedury wyższych rzędów i listy
- Procedury jeszcze wyższych rzędów
- Moduły
- Funktory
- Programowanie imperatywne
- System typów
- Techniki uleniwiania i spamiętywania
- Strumienie