460-2003/02 – Algoritmy II (ALG II)

Garantující katedraKatedra informatikyKredity5
Garant předmětudoc. Mgr. Jiří Dvorský, Ph.D.Garant verze předmětudoc. Mgr. Jiří Dvorský, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostpovinný
Odkaz na webJazyk výukyčeština
Rok zavedení2013/2014Rok zrušení
Určeno pro fakultyFEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
DOH089 Ing. Pavel Dohnálek
DVO26 doc. Mgr. Jiří Dvorský, Ph.D.
FAI0013 Ing. Michal Fait
HAN0037 Ing. Jiří Hanzelka
HEN0014 Ing. Jakub Hendrych
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Klasifikovaný zápočet 2+2
kombinovaná Klasifikovaný zápočet 10+0

Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi

Cílem předmětu je seznámit studenty s objektově orientovaným programováním a rozvinout znalosti studentů do oblasti datových struktur. Po absolvování předmětu bude student schopen: analyzovat zadaný problém z pozice OOP, vytvořit a odladit program C++ s využitím OOP, využívat binární stromy a hašovací tabulky, posoudit efektivitu zvoleného řešení daného problému.

Vyučovací metody

Přednášky
Cvičení (v učebně)

Anotace

Tento předmět je pokračováním předmětu Algoritmy I. V tomto kurzu bude kombinován výklad objektově orientovaného programování s představením dalších často používaných datových struktur - binárních stromů a hašovacích tabulek. OOP je chápáno spíše směrem ke zvládnutí implementace nejrůznějších tabulek, seznamů s operacemi vkládání, následného vyhledávání a rušení elementů, než směrem k návrhu komplexnějších systémů. Tento cíl bude naplněn v kurzech zabývajících se softwarovým inženýrstvím.

Povinná literatura:

Studijní opora (skripta), dostupné na stránkách garanta předmětu, www.cs.vsb.cz/dvorsky Wirth, N.: Algoritmy a štruktúry údajov, Alfa, Bratislava 1989. Sedgewick R.: Algoritmy v C, části 1-4, SoftPress, Praha, 2003 Wróblewski P.: Algoritmy. Datové struktury a programovací techniky, Computer Press, Praha 2003 SCHILDT. Herbert. Nauč se sám C++. Osborne/Softpress. 2000. ISBN 80-86497-13-5

Doporučená literatura:

Cormen, Leiserson, Rievest: Introduction to Algorithms, MIT Press, 2001. Stroustrup, B.: C++ Programovací jazyk. Česky: BEN-technická literatura, Praha 1997 Virius M.: Pasti a propasti jazyka C++, ComputerPress, Praha 2005, druhé vydání, ISBN 80-251-0509-1

Způsob průběžné kontroly znalostí během semestru

Realizace a obhajoba projektu. Programování jednoduchých aplikací na cvičeních.

E-learning

Další požadavky na studenta

U studentů se předpokládá znalost středoškolské matematiky a uživatelská znalost počítačů.

Minimální znalostní požadavky

Prerekvizity

Kód předmětuZkratkaNázevPovinnost
460-2001 ALG I Algoritmy I Doporučená

Korekvizity

Předmět nemá žádné korekvizity.

Osnova předmětu

Náplň přednášek Úvodní přednáška - organizační záležitosti, souhrn nutných znalostí z předmětu Algoritmy I Lineární datové struktury - abstraktní datové struktury, zásobník, fronta, seznam Dynamická alokace paměti - pointery, operátory reference, dereference, alokování a dealokování paměti Spojová implementace lineárních datových struktur - využití OOP a dynamicky alokovaných struktur Grafy - základní pojmy, graf jako datová struktura, možnosti implementace grafu Algoritmy průchodů grafem - průchod grafu do hloubky a do šířky, aplikace průchodu grafem Binární vyhledávací stromy I - základní pojmy, vyhledávání Binární vyhledávací stromy II - vkládání, rušení vrcholů, průchody stromem Vyvážené a vícecestné stromy - AVL-stromy, red-black stromy. B-stromy Hašování - hašovací tabulky, metody řešení kolizí Vyhledávání v textu - vyhledávání jednoho a více vzorků, elementární lexikální analýza textu Jednoduchý překladač - překlad aritmetických a logických výrazů, postfixová notace a její interpretace pomocí zásobníku Techniky řešení problémů - rozděl a panuj, žravý algoritmus, dynamické programování Náplň počítačových cvičení Opakování z předmětu Algoritmy I Implementace zásobníku, fronty, seznamu v poli Dynamická alokace paměti Spojová implementace seznamu Grafy, možnosti implementace grafů Průchody grafem Binární stromy Využití hašovacích tabulek Vyhledávání v textu Překladač založený na rekurzivním sestupu Náplň projektů Zadání projektů budou směřovat ke zvládnutí OOP.

Podmínky absolvování předmětu

Prezenční forma (platnost od: 2013/2014 zimní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
Klasifikovaný zápočet Klasifikovaný zápočet 100 (100) 51
        Průběžný test znalostí Jiný typ úlohy 20  10
        Obhajoba projektu Projekt 40  21
        Závěrečná písemná práce Písemka 40  20
Rozsah povinné účasti:

Zobrazit historii
Kombinovaná forma (platnost od: 2013/2014 zimní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
Klasifikovaný zápočet Klasifikovaný zápočet 100 (100) 51
        První test Písemka 20  10
        Druhý test Jiný typ úlohy 20  10
        Třetí test Jiný typ úlohy 20  10
        Obhajoba projektu Projekt 40  21
Rozsah povinné účasti:

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramOborSpec.FormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2017/2018 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2017/2018 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2017/2018 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 1 povinný stu. plán
2017/2018 (B3973) Automobilové elektronické systémy P čeština Ostrava 1 povinný stu. plán
2016/2017 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2016/2017 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2016/2017 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 1 povinný stu. plán
2015/2016 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2015/2016 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2014/2015 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2014/2015 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2013/2014 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2013/2014 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku
V - ECTS - bc. 2014/2015 prezenční čeština volitelný odborný 401 - Studijní oddělení FEI stu. blok
V - ECTS - bc. 2013/2014 prezenční čeština volitelný odborný 401 - Studijní oddělení FEI stu. blok