460-2001/02 – Algoritmy I (ALG I)

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ý
Ročník1Semestrzimní
Jazyk výukyčeština
Rok zavedení2013/2014Rok zrušení2020/2021
Určeno pro fakultyFEI, USPUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
BIE0026 Ing. Martin Bielik
DVO26 doc. Mgr. Jiří Dvorský, Ph.D.
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

Seznámit studenty se technikami řešení problémů pomocí algoritmů. Po absolvování předmětu bude student schopen: definovat a popsat vybrané techniky řešení problémů pomocí algoritmů, demonstrovat tyto techniky na ukázkových problémech využívat tyto techniky pro řešení jiných problémů, pracovat s kombinacemi několika technik dohromady.

Vyučovací metody

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

Anotace

Tento předmět je jedním z úvodních kurzů programování. Předmět si klade za cíl seznámit studenty s technikami, strategiemi, řešení problémů pomocí algoritmů. Probírané algoritmy a datové struktury budou demonstrovány v jazyce C++. Studenti jsou vedeni k analýze algoritmizovaných problémů a k syntéze řešení z menších celků.

Povinná literatura:

LEVITIN, Anany. Introduction to the Design and Analysis of Algorithms. 3rd ed. Boston: Pearson, 2012. ISBN 978-0-13-231681-1. CORMEN, Thomas H. Introduction to algorithms. 2nd ed. Cambridge, Mass.: MIT Press, 2001. ISBN 02-620-3293-7. SEDGEWICK, Robert. Algoritmy v C. Praha: SoftPress, 2003. ISBN 80-864-9756-9. WRÓBLEWSKI, Piotr. Algoritmy. Brno: Computer Press, 2015. ISBN 978-80-251-4126-7. WIRTH, N. Algoritmy a štruktúry údajov, Alfa, Bratislava 1989. Studijní opora (skripta), dostupné na stránkách garanta předmětu, www.cs.vsb.cz/dvorsky

Doporučená literatura:

STROUSTRUP, Bjarne. C++ programovací jazyk. Praha: Softwarové Aplikace a Systémy, 1997. ISBN 80-901-5072-1. VIRIUS, Miroslav. Pasti a propasti jazyka C++. 2., aktualiz. a rozš. vyd. Brno: CP Books, 2005. ISBN 80-251-0509-1. SCHILDT, Herbert. Nauč se sám C++: [poznej, vyzkoušej, používej]. Praha: SoftPress, 2001. ISBN 80-864-9713-5. ECKEL, Bruce. Myslíme v jazyku C++. Praha: Grada, 2000. Knihovna programátora (Grada). ISBN 80-247-9009-2.

Forma způsobu ověření studijních výsledků a další požadavky na studenta

Podmínky udělení zápočtu 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čů.

Prerekvizity

Kód předmětuZkratkaNázevPovinnost
460-2052 UPR Úvod do programování Doporučená
460-2054 FPR Funkcionální programování 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 První program v C++, algoritmus, program, překlad, procesor, proces Proměnné, konstanty, datové typy Řídící konstrukce jazyka (sekvence, větvení, cyklus) Strukturované programování v C++, funkce a jejich parametry, volání funkcí Pole Vyhledávání v poli (sekvenční, půlením intervalu) Seznam, fronta, zásobník Rekurze, vymezení pojmu, příklady, jednoduchý backtracking Třídění, vymezení problému, adresní třídění Základní třídící algoritmy (třídění vkládáním, výběrem, bublinové) Pokročilé třídící algoritmy (QuickSort, HeapSort, MergeSort) Náplň počítačových cvičení Seznámení se s vývojovým prostředím, plánováno Visual Studio 2015 Implementace a ladění triviálních programů - Hello world Implementace a ladění programů se základními konstrukcemi např. výpočet největšího společného dělitele Práce s funkcemi, parametry volané hodnotou, odkazem, konstantní parametry Práce s polem Implementace algoritmů vyhledávání v poli Implementace zásobníku, ukázky využití Rekurzivní funkce Rekurzivní funkce Třídící algoritmy Náplň projektů Zadání projektů budou směřována k využití třídících a vyhledávacích algoritmů, práci s poli a podobně.

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

Kombinovaná forma (platnost od: 2013/2014 zimní semestr, platnost do: 2020/2021 letní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodůMax. počet pokusů
Klasifikovaný zápočet Klasifikovaný zápočet 100 (100) 51 3
        První test Písemka 20  10 2
        Druhý test Jiný typ úlohy 20  10 2
        Třetí test Jiný typ úlohy 20  10 2
        Projekt Projekt 40  21 1
Rozsah povinné účasti: povinná účast na cvičeních, jsou akceptovány 2 omluvy

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP:

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2020/2021 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2020/2021 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2019/2020 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2019/2020 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2018/2019 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 1 povinný stu. plán
2018/2019 (B3973) Automobilové elektronické systémy P čeština Ostrava 1 povinný stu. plán
2018/2019 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2018/2019 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
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