Předmět: Programování v Common Lispu

» Seznam fakult » PRF » KMI
Název předmětu Programování v Common Lispu
Kód předmětu KMI/PRCL
Organizační forma výuky Seminář
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Semestr Letní
Počet ECTS kreditů 2
Vyučovací jazyk Čeština
Statut předmětu nespecifikováno
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Tříska Jan, Mgr. Ph.D.
  • Krupka Michal, doc. RNDr. Ph.D.
Obsah předmětu
Studenti získají solidní základ pro programování v Common Lispu. Současně se dozvědí o netypických rysech jazyka, čímž si rozšíří povědomí o možných přístupech k programování. V předmětu budou popsány různé, i neobvyklé, techniky a metody, které je možno při programování použít, s cílem zlepšit předpoklady studentů pro případnou budoucí programátorskou praxi. Předmět je určen studentům s vážným zájmem o programovací jazyky obecně a Common Lisp konkrétně. Zvláště vhodný je pro ty, kteří chtějí tento jazyk použít v bakalářské práci. Předpokládá se základní znalost programování v Common Lispu. Předmět není určen začátečníkům. - Základní rysy CL: Programovatelnost, pragmatičnost, využití mnoha paradigmat. CL jako dynamický a dynamicky typovaný jazyk. Kód jako data. Princip synergie. - Základy CL: Funkce, makra, speciální operátory, funkce eval, prostředí, viditelnost a životnost. Datové typy a operace. Zobecněné proměnné, operátor setf a jeho programování. - Pokročilé neobjektové prvky CL: Programování vstupu, výstupu, kompilátoru, serializace dat. Práce s výjimkami, vyvolání a obsluha výjimek, restarty. Optimalizace kódu. - Pokročilé prvky objektového systému: vícenásobná dědičnost, multimetody, kombinace metod, metaobjektový protokol. - Metody vývoje SW: Tvorba a údržba programů v dynamických a dynamicky typovaných jazycích, programování zdola nahoru, využití agilních metod, využití programovatelnosti jazyka přizpůsobením jazyka problémové doméně (embedded languages). - Historie a současnost Lispu: Vznik Lispu a jeho vývoj, vztah k ostatním programovacím jazykům, přehled dostupných implementací, vývojových prostředí a knihoven, problémy a nedostatky.

Studijní aktivity a metody výuky
Demonstrace
Výstupy z učení
Studenti se seznámí s pokročilými aspekty programování v Common Lispu.
3. Aplikace Ukaž, jak pkužít Common Lisp pro vývoj programů.
Předpoklady
Základní znalost programování v Common Lispu. Předmět není určen začátečníkům.

Hodnoticí metody a kritéria
Písemná zkouška, Analýza výkonů studenta

Zpracování úkolů podle zadání.
Doporučená literatura
  • Barski. (2010). Land of Lisp: Learn to Program in Lisp, One Game at a Time! No Starch Press.
  • Graham, P. (1995). ANSI Common LISP. Prentice Hall.
  • H. Abelson, G. J. Sussman. (1996). Structure and Implemantation of Computer Programs. Cambridge, Massachusetts.
  • Seibel P. (2005). Practical Common Lisp. Apress, Berkeley, CA.
  • Touretzky D.S. (2013). Common LISP: A Gentle Introduction to Symbolic Computation. Dover Publications.
  • Weitz, E. (2015). Common Lisp Recipes: A Problem-Solution Approach. Apress.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr