Předmět: Základy programování a zpracování dat 2

» Seznam fakult » FAV » KIV
Název předmětu Základy programování a zpracování dat 2
Kód předmětu KIV/ZPD2
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ů 5
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í
  • Pinc Jiří, doc. Ing. Ph.D.
Obsah předmětu
1. Algoritmické myšlení, abstraktní datové typy. Vývojový diagram. Výpočetní složitost. 2. Zásobník, fronta, řešení úloh. 3. Prioritní fronta, řešení úloh. 4. Seznam, slovník, invertovaný seznam, řešení úloh. 5. Řazení, vyhledávání, třídění a řešení úloh. Mediány, kvantily. 6. Rozptylové tabulky se zřetězením. Hashovací funkce, řešení úloh 7. Stromy, stromové struktury, základní pojmy. 8. Použití stromů pro řešení úloh. 9. Grafy a grafové struktury. 10. Použití grafů pro řešení úloh. 11. Množinové algoritmy - generování permutací, podmnožin, řešení úloh 12. Textové algoritmy, řešení úloh. 13. Rekurze, příklady rekurze, řešení úloh.

Studijní aktivity a metody výuky
  • Kontaktní výuka - 52 hodin za semestr
  • Příprava na dílčí test [2-10] - 8 hodin za semestr
  • Příprava na zkoušku [10-60] - 30 hodin za semestr
  • Projekt individuální [40] - 39 hodin za semestr
Předpoklady
Odborné znalosti
rozumět jednoduchým programům zapsaným v imperativním programovacím jazyce (Java, python)
rozumět významu a použití základních řídících struktur imperativního programování (cykly, podmínky)
rozumět základům reprezentace dat v počítači (koncept proměnné, pole, datové typy)
Odborné dovednosti
psát jednoduché programy v imperativním programovacím jazyce
Obecné způsobilosti
bc. studium: efektivně využívá různé strategie učení k získání a zpracování poznatků a informací, hledá a rozvíjí účinné postupy ve svém učení,
bc. studium: zvažuje možné klady a zápory jednotlivých variant řešení, včetně posouzení jejich rizik a důsledků,
Výsledky učení
Odborné znalosti
orientovat se v základních datových strukturách (zásobník, fronta, tabulka, graf, strom)
popsat rozhraní základních datových struktur
orientovat se v základních algoritmech pro zpracování množin (generování permutací apod.)
orientovat se v základních algoritmech pro zpracování textových řetězců (vyhledání podřetězce apod.)
porozumět způsobu zápisu a vykonání rekurzivního programu
Odborné dovednosti
využívat základní datové struktury pro řešení běžných programátorských úkolů
samostatně navrhovat algoritmy pro řešení běžných programátorských úloh
identifikovat základní programátorské vzory v běžných úlohách
číst jednoduché programy využívající základní datové struktury a porozumět jejich funkci
Obecné způsobilosti
bc. studium: samostatně a odpovědně se na základě rámcového zadání rozhodují v souvislostech jen částečně známých,
Vyučovací metody
Odborné znalosti
Přednáška založená na výkladu,
Přednáška s demonstrací,
Přednáška s diskusí,
Odborné dovednosti
Cvičení (praktické činnosti),
Obecné způsobilosti
Přednáška založená na výkladu,
Hodnotící metody
Odborné znalosti
Písemná zkouška,
Test,
Průběžné hodnocení,
Odborné dovednosti
Demonstrace dovedností (praktická činnost),
Obecné způsobilosti
Písemná zkouška,
Doporučená literatura
  • Lafore, Robert. Data structures & algorithms in Java. Corte Madera : Waite Group Press, 1998. ISBN 1-57169-095-6.
  • Mareš, Martin; Valla, Tomáš. Průvodce labyrintem algoritmů. 1. vydání. 2017. ISBN 978-80-88168-19-5.
  • Ryant, Ivan. Algoritmy a datové struktury objektově. Vydání první. 2017. ISBN 978-80-270-1660-0.


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