Programowanie funkcyjne: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Przemek (dyskusja | edycje)
Przemek (dyskusja | edycje)
Linia 55: Linia 55:
* [[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/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/Techniki uleniwiania i spamiętywania | Techniki uleniwiania i spamiętywania ]] ([[Programowanie funkcyjne/Techniki uleniwiania i spamiętywania/Ćwiczenia        |Ćwiczenia]])
* [[Programowanie funkcyjne/Strumienie      | Strumienie]] ([[Programowanie funkcyjne/Strumienie/Ćwiczenia        |Ćwiczenia]])
* [[Programowanie funkcyjne/Strumienie      | Strumienie]] ([[Programowanie funkcyjne/Strumienie/Ćwiczenia        |Ćwiczenia]])

Wersja z 20:51, 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

  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. Rémy, Using, Understanding and Unraveling the Ocaml Language, [3]

Moduły

do testów:

inne wprowadzone:

Finalne