Programowanie funkcyjne: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Kubica (dyskusja | edycje)
Nie podano opisu zmian
m Poprawki edytorskie
Linia 1: Linia 1:
= '''Programowanie Funkcyjne''' =
== Forma zajęć ==
wykład (30 godz.) + laboratorium (30 godz.)


== Wykłady ==
== 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.


== Literatura ==
== Sylabus ==
=== Autor sylabusa ===
* Marcin Kubica


== [[PF:Sylabus|Sylabus]] ==
=== 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

  1. H. Abelson, G. J. Sussman, Struktura i interpretacja programów komputerowych, WNT 2002.
  2. X. Leroy, The Objective Caml system, [1]
  3. E. Chailloux, P. Manoury, B. Pagano, Developing Applications with Objective Caml, [2]
  4. D. Remy, Using, Understanding and Unraveling the Ocaml Language, [3]

Moduły