NPRM0046 Programování III pro neinformatiky - 2/2 Z/Zk
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ředmět v tomto semestru nebude vyučován, od příštího školního roku bude přesunut do zimního semestru.
Zájemci si ho mohou zapsat příští školní rok.
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.
- 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.