Předmět: Programové struktury

« Zpět
Název předmětu Programové struktury
Kód předmětu KIV/PGS
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Semestr Letní
Počet ECTS kreditů 6
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í
  • Cmorej Vlastimil, Ing. Ph.D.
  • Rejšek Václav, Ing.
Obsah předmětu
1. Vývoj programovacích jazyků, typické vlastností. Programovací paradigmata, prostředky popisu syntaxe a sémantiky. 2. Principy a problémy programování paralelních aktivit. Jazykové konstrukce Javy pro paralelní výpočty. 3. Synchronizace vláken, monitory. 4. Konstrukce knihovny java.util.concurrent. 5. Skriptovací jazyky, úvod do jazyka Python. 6. Prostředky Pythonu pro práci se soubory. 7. Prostředky Pythonu pro práci s XML a DB-API. 8. Logické programování, Prolog. 9. Principy funkcionálního programování. 10. Programovací jazyk Lisp. 11. Porovnání typových systémů, příkazů a podprogramů moderních programovacích jazyků. 12. Porovnání objektově-orientovaných konstrukcí jazyků C, Python a Java. 13. Principy překladu programových struktur.

Studijní aktivity a metody výuky
Přednáška s praktickými aplikacemi, Studium metodou řešení problémů
  • Projekt individuální [40] - 40 hodin za semestr
  • Kontaktní výuka - 65 hodin za semestr
  • Příprava na zkoušku [10-60] - 50 hodin za semestr
  • Příprava na dílčí test [2-10] - 20 hodin za semestr
Předpoklady
Odborné znalosti
využívat teoretické poznatky z datových struktur
využívat teoretické poznatky z diskrétní matematiky
prokázat znalosti základních pojmů a metod z matematiky, pravděpodobnosti a statistiky
rozumět principům objektově orientovaného programování v jazyce Java
Odborné dovednosti
správně rozhodnout, kdy použít jakou datovou strukturu
na základní uživatelské úrovni používat některé z běžných vývojových prostředí Javy
sekvenčně programovat v jazyce Java
popsat algoritmy složitější matematické výpočty
Obecné způsobilosti
bc. studium: své učení a pracovní činnost si sám plánuje a organizuje,
bc. studium: uplatňuje při řešení problémů vhodné metody a dříve získané vědomosti a dovednosti, kromě analytického a kritického myšlení využívá i myšlení tvořivé s použitím představivosti a intuice,
bc. studium: rozpozná problém, objasní jeho podstatu, rozčlení ho na části,
Výsledky učení
Odborné znalosti
charakterizovat principy a výhody či nevýhody programování v různých paradigmatech
rozumět možnostem tvorby paralelního programu v jazyce Java
rozumět problémům, které v paralelním programu mohou vzniknout
popsat základní konstrukce pro skriptovací, logické a funkcionální jazyky
Odborné dovednosti
napsat jednoduchý vícevláknový program v jazyce Java
řešit typické problémy při psaní paralelního programu
napsat jednoduché programy ve skriptovacím jazyce, v logickém jazyce a ve funkcionálním jazyce
vybrat vhodný jazyk pro řešení zadaného problému
Obecné způsobilosti
bc. studium: samostatně získávají další odborné znalosti, dovednosti a způsobilosti na základě především praktické zkušenosti a jejího vyhodnocení, ale také samostatným studiem teoretických poznatků oboru,
bc. studium: používají své odborné znalosti, odborné dovednosti a obecné způsobilosti alespoň v jednom cizím jazyce,
Vyučovací metody
Odborné znalosti
Přednáška s aktivizací studentů,
Cvičení (praktické činnosti),
Samostatná práce studentů,
Hodnotící metody
Písemná zkouška,
Demonstrace dovedností (praktická činnost),
Doporučená literatura
  • Bieliková, Mária; Návrat, Pavol. Funkcionálne a logické programovanie. Slovenská technická univerzita, 2009. ISBN 978/80/227/3225-3.
  • Harms D., McDonald K. Začínáme programovat v jazyce Python. Computer Press, 2008.
  • Herout, Pavel. Java a XML. České Budějovice, 2007. ISBN 978-80-7232-307-4.
  • Pilgrim, Mark. Ponořme se do Python(u) 3. Edice CZ.NIC, 2010. ISBN 978-80-904248-2-1.
  • Scott, Michael L. Programming Language Pragmatics. Morgan Kaufmann, 2009. ISBN 9780123745149.
  • Sebesta, Robert W. Concepts of Programming Languages. 10. vydání. Addison Wesley, 2012. ISBN 978-0-13-139531-2.
  • Siebel, Peter. Practical Common Lisp. Apress, 2005. ISBN 978-1-59059-239-7.
  • Zakhour, Sharon. Java 6 : výukový kurz. Vyd. 1. Brno : Computer Press, 2007. ISBN 978-80-251-1575-6.


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