Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Předmět Paradigmata programování 1 (KMI / PAPR1)

Na serveru studentino.cz naleznete nejrůznější studijní materiály: zápisky z přednášek nebo cvičení, vzorové testy, seminární práce, domácí úkoly a další z předmětu KMI / PAPR1 - Paradigmata programování 1, Přírodovědecká fakulta, Univerzita Palackého v Olomouci (UP).

Top 10 materiálů tohoto předmětu

Materiály tohoto předmětu

Materiál Typ Datum Počet stažení

Další informace

Obsah

Tento kurs je zaměřen na funkcionální programování a související problematiky. Zejména se jedná o problémy vyhodnocování výrazů, aplikace procedur a hierarchických dat konstruovaných z párů. Jako modelovací jazyk je během kursu používán jazyk Scheme. V závěru kursu jsou studenti seznámeni s principy konstrukce interpretu jednoduchého funkcionálního jazyka. Po absolvování kursu by studenti měli získat nadhled nad funkcionálním programováním a měli by být schopni rychle se sžít s libovolným funkcionálním programovacím jazykem.1. Programovací jazyky, jejich syntaxe a sémantika. Funkcionální paradigma, symbolické výrazy, abstraktní interpret jazyka Scheme, elementy jazyka, procedury, speciální formy, vyhodnocování.2. Vytváření abstrakcí pomocí procedur. Lambda výrazy. Procedury. Aplikace procedur, prostředí, lexikální a dynamický rozsah platnosti. Procedury vyšších řádů. Procedury versus matematické funkce. Kompozice procedur. Abstrakční bariéry. Interní definice. Procedury jako parametry a výsledky vyhodnocení.3. Hierarchická data. Páry, konstrukce páru. Seznamy. Kvotování, manipulace se seznamy, mapování, spojování, generování seznamů. Explicitní aplikace procedur a vyhodnocení symbolických výrazů, filtrace a řešení problémů pomoci nich. Pohled na program jako na data. Pohled na data jako na program.4. Indukce a rekurze. Princip indukce. Obecný princip rekurze. Limitní podmínka rekurze, předpis rekurze. Indukce a správnost rekurzivních procedur. y- kombinátor. Výpočetní procesy generované rekurzivními procedurami.Výpočetní procesy, typy rekurzivních procesů. Fáze navíjení a odvíjení. Efektivita výpočetních procesů generovaných rekurzivními procedurami.5. Pokročilá práce se seznamy. Vyhodnocování postfixových výrazů, hloubková akumulace, procházení(vnořených) seznamů do hloubky a do šířky. Reprezentace množin a relací pomocí seznamů a procedur vyšších řádů. Kombinatorika na seznamech, symbolická manipulace s výrazy, algoritmy vnějšího třídění.6. Konstrukce interpretu ryze funkcionální podmnožiny jazyka Scheme. Typový systém, generické procedury, koerce. Datové reprezentace elementů jazyka. Implementace vyhodnocovacího procesu. Vytvoření počátečního prostředí.

Získané způsobilosti

2. PorozuměníIdentifikuj správné zůsoby vývoje funkcionálních programů.

Literatura

M. Felleisen, R. B. Findler, M. Flatt, S. Krishnamurthi. How to Design Programs: An Introduction to Computing and Programming. Cambridge, Massachusetts, 2001. ISBN 0-262-06218-6.R. Bird, P. Wadler. Introduction to Functional Programming. Englewood Cliffs, New Jersey, 1988. ISBN 0-13-484197-2.Konečný, Vychodil. Paradigmata programování 1, díl A. Konečný, Vychodil. Paradigmata programování 1, díl B. G. Springer, D. P. Friedman. Scheme and the Art of Programming. Cambridge, Massachusetts, 1994. ISBN 0-262-19288-8.H. Abelson, G. J. Sussman. Structure and Implemantation of Computer Programs. Cambridge, Massachusetts, 1996. ISBN 0-262-01153-0.V. S. Manis, J. J. Little. The Schematics of Computation. Englewood Cliffs, New Jersey, 1995. ISBN 0-13-834284-9.R. K. Dybvig. The Scheme Programming Language. Cambridge, Massachusetts, 2003. ISBN 0-262-54148-3.

Požadavky

Aktivní účast v hodině. Plnění zadaných úkolů. Složení ústní (příp. písemné) zkoušky.

Garant

doc. RNDr. Vilém Vychodil, Ph.D.

Vyučující

RNDr. Eduard Bartl, Ph.D.Mgr. Martin Dostál, Ph.D.doc. RNDr. Vilém Vychodil, Ph.D.RNDr. Eduard Bartl, Ph.D.Mgr. Martin Dostál, Ph.D.Ing. Miroslav HruškaMgr. Jan Konečný, Ph.D.Mgr. Tomáš Kühr, Ph.D.Mgr. Jan LaštovičkaBc. Jan Tříska