NPRM0046 Programování III pro neinformatiky - 2/2 Z/Zk
Pátek 12:20 - 13:50 a 14:00 - 15:30 posluchárna S8, začínáme 10.října, budeme pružně přepínat mezi "přednáškou a cvičením".
Výběrová přednáška pro studenty neinformatických oborů - hlavní náplní je neprocedurální programování.
Předmět je nepovinný, předpokládá se tedy "jen" zájem.
Nic víc - kromě základů algoritmického myšlení -
se de facto nepředpokládá, přesto uvidíte, že se toho naučíte překvapivě mnoho.
I další zájemci jsou srdečně zváni, nebude-li váhat dlouho, snadno se zapojíte.
Předmět prohlubuje znalosti z programování pro studenty, pro něž není informatika hlavním oborem.
Hlavní náplní kursu je neprocedurálního programování,
které může být na základě zájmu studentů případně doplněno o další témata.
Neprocedurální programování se obejde bez základních kamenů běžných procedurálních jazyků
(Pascal, C, C++, Basic), kterými jsou pojem proměnné (jako jména pro kus paměti) a přiřazovacího příkazu. Programování se tak přibližuje "klasickému matematickému uvažování".
- Hlavní důraz je věnován programování v jazyce Prolog.
Studenti si prakticky osvojí dovednosti v logickém programování.
V Prologu se také vytvářejí a ladí zápočtové úlohy. Programování v Prologu se dá naučit a pochopit i bez hlubších znalostí z matematické logiky, které leží v jeho základech (foundations). V Prologu budou studenti vytvářet svoji zápočtovou úlohu.
- Jako doplňkové téma se proberou základy funkcionálního programování na bázi jazyků LISP (bude použit dialekt XSCHEME vyvinutý na MIT) a Haskell.
V těchto jazycích studenti nemusejí prakticky programovat.
- Styl výkladu i požadavky berou ohled na to, že jde o výběrovou přednášku pro nespecialisty v informatice. Podle potřeby budeme přecházet mezi formou výkladu a praktického řešení úloh v daných jazycích.
- Předpokládám, že požadavky ke zkoušce půjdou do značné míry (podrobnosti dohodneme se studenty) splnit průběžnou prací během semestru,
takže může odpadnout zkoušková písemka, která někdy dělala potíže.
Obsah předmětu je podobný předmětu povinnému předmětu bakalářského studia Neprocedurální programování, ale styl výkladu i způsob zkoušení je přizpůsoben tomu, že jde o výběrovou přednášku pro nespecialisty.
- Rudolf Kryl: Úvod do programovacího jazyka Prolog
učební text - ke stažení z WWW stránek přednášejícího
aktuální verze 3.02 ve formátu pdf
nebo zip
Text byl původně napsán pro čtenáře s o poznání menší programátorskou erudicí, než má většina z Vás.
Proto by mělo jít o "nenáročné čtení před usnutím". Text pokrývá přibližně první polovinu látky z Prologu.
Obsahuje řadu jednoduchých programů.
Budu vděčný za připomínky a opravy chyb - posílejte je na můj mail a v subjectu uveďte číslo verze,
ke které se připomínky vztahují.
-
Přehled předdefinovaných forem ve vykládaném dialektu LISPu
Ke stažení ve formátu pdf
-
ke stažení z www.haskell.org
Poměrně čtivý základní text o programovacím jazyku Haskell. Pokrývá vše z jazyka, co probereme.
Některé partie vynecháme, můžeme však jít dál v programátorské obtížnosti úloh.
Na dané adrese můžete získat úplný přehled o problematice jazyka Haskell.
- P.Jirků a kol. : Programování v jazyku Prolog
SNTL 1991
Pěkná knížkav češtině. Neobsahuje mnoho těžších příkladů, věnuje se však dost podrobně souvislostem s logikou.
- Bratko I.: PROLOG Programming for Artificial Intelligence
Addison-Wesley, Reading, Massachussets, 1986 ISBN 0-201-14224-4
Stále velmi pěkná knížka i když obsahuje dost chyb. První díl obsahuje výklad Prologu
(náš přístup k výkladu je do značné míry poplatný přístupu této knihy),
druhý obsahuje výklad některých základních partií umělé inteligence pomocí programů v Prologu (tato část poněkud zastarala).
- Harold Abelson, Gerald Jay Sussman, Julie Sussman :
Structure and Interpretation of Computer Programs
Mc Graw-Hill Book Company 1985 ISBN 0-07-000-422-6
Výklad principů programování na bázi jazyka XSCHEME (dialekt jazyka LISP).
Kniha byla používána v základnídním kursu programování na MIT.
My použijeme tohoto jazyka i příkladů z této knihy k velmi zběžnému seznámení s principy LISPu.
- Ivan Kalaš : Iné programovanie - stretnutie s jazykom Lisp
Alfa 1992
Krásná kniha s množství originálních příkladů.
Uživaný dialekt LISPu se poněkud liší od toho, se kterým budeme pracovat na přednášce my.