PředmětyPředměty(verze: 970)
Předmět, akademický rok 2015/2016
   Přihlásit přes CAS
Neprocedurální programování - NPRG005
Anglický název: Non-procedural Programming
Zajišťuje: Katedra softwaru a výuky informatiky (32-KSVI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2015 do 2019
Semestr: letní
E-Kredity: 6
Rozsah, examinace: letní s.:2/2, Z+Zk [HT]
Počet míst: neomezen
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: čeština, angličtina
Způsob výuky: prezenční
Další informace: http://ksvi.mff.cuni.cz/~dvorak/vyuka/NPRG005/
Garant: doc. RNDr. Tomáš Dvořák, CSc.
RNDr. Jan Hric
Vyučující: doc. RNDr. Tomáš Dvořák, CSc.
RNDr. Jan Hric
RNDr. Rudolf Kryl
Mgr. Tomáš Křen
doc. Mgr. Martin Pilát, Ph.D.
Třída: Informatika Bc.
Informatika Mgr. - učitelské studium informatiky
Kategorizace předmětu: Informatika > Programování
Je neslučitelnost pro: NPRM046
Je prerekvizitou pro: NPFL049, NAIL024
Výsledky anket   Termíny zkoušek   Rozvrh   Nástěnka   
Anotace -
Předmět je věnován principům logického a funkcionálního programování, které jsou vyloženy prostřednictvím programovacích jazyků Prolog a Haskell. Informativně se studenti seznámí i s jazykem LISP (Scheme).
Poslední úprava: Töpfer Pavel, doc. RNDr., CSc. (05.02.2018)
Literatura

Harold Abelson, Gerald Jay Sussman, Julie Sussman, Structure and Interpretation of Computer Programs, 2nd ed., McGraw-Hill, 1996

Richard Bird, Thinking Functionally with Haskell, Cambridge University Press, 2014

Ivan Bratko, Prolog Programming for Artificial Intelligence, 4th ed., Addison-Wesley, 2011

William F. Clocksin, Christopher S. Mellish, Programming in Prolog: Using the ISO Standard, 5th ed., Springer, 2003

Graham Hutton, Programming in Haskell, Cambridge University Press, 2007

Bryan O'Sullivan, John Goerzen, Don Stewart, Real World Haskell, O’Reilly, 2008, http://book.realworldhaskell.org/

Poslední úprava: Dvořák Tomáš, doc. RNDr., CSc. (10.02.2017)
Sylabus -

1. Tvar programu v jazyce Prolog a jeho interpretace, unifikace, backtracking. Deklarativní a procedurální sémantika programu.

2. Práce se seznamy a s rekurzivním datovými strukturami. Standardní predikáty a jejich použití.

3. Aritmetika. Vstup a výstup. Definice operátorů.

4. Řez a negace.

5. Efektivita programů v Prologu, neúplně definované datové struktury.

6. Funkcionální programování, základy jazyka LISP (Scheme).

7. Tvar programu v jazyce Haskell. Dvojrozměrná syntax, líné vyhodnocení.

8. Definice funkce, rekurze, porovnávání se vzorem. Stručné seznamy.

9. Definice typů a datových struktur, polymorfismus, typové třídy a instance.

10. Funkce vyšších řádů. Nekonečné datové struktury.

11. Vstup a výstup, monády.

Poslední úprava: Dvořák Tomáš, doc. RNDr., CSc. (24.03.2018)
 
Univerzita Karlova | Informační systém UK