UIIABP0001 Algoritmy a programování I

Filozoficko-přírodovědecká fakulta v Opavě
zima 2021
Rozsah
2/2/0. 4 kr. Ukončení: z.
Vyučující
Ing. Jiří Blahuta, Ph.D. (přednášející)
RNDr. Miroslav Langer, Ph.D. (přednášející)
RNDr. Miroslav Langer, Ph.D. (cvičící)
RNDr. Jiří Martinů, Ph.D. (cvičící)
Garance
Ing. Jiří Blahuta, Ph.D.
Ústav informatiky – Filozoficko-přírodovědecká fakulta v Opavě
Rozvrh
Po 16:25–18:00 B1
  • Rozvrh seminárních/paralelních skupin:
UIIABP0001/A: Út 11:25–13:00 B3b, Út 11:25–13:00 B3a, J. Martinů
UIIABP0001/B: Čt 8:05–9:40 B3b, J. Martinů
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
Předmět Algoritmy a programování I je úvodem do programování, studenti se naučí navrhovat algoritmy, pochopí jejich logickou strukturu, syntaxi a sémantiku programovacího jazyka. Studenti se rovněž naučí správně používat datové typy (jak standardní, tak i typy definované uživatelem), cykly, procedury a funkce. V předmětu budou studenti seznámeni také se základními metodami optimalizace algoritmů.
Výstupy z učení
Student bude po absolvování předmětu schopen: navrhovat algoritmy, chápat jejich logickou strukturu, syntaxi a sémantiku programovacího jazyka, správně používat datové typy (jak standardní, tak i typy definované uživatelem), správně využívat cykly, procedury a funkce. Student taktéž bude schopen základních optimalizací algoritmů.
Osnova
  • 1. Algoritmus, dělení algoritmů, rekurze, iterace, reprezentace algoritmů.
  • 2. Asymptotiky, časová a prostorová složitost.
  • 3. Základní pojmy a syntaxe: proměnná, pole, operátory, aritmetické výrazy, větvení, cykly, funkce.
  • 4. Vývojové diagramy.
  • 5. Jazyk C++: základní syntaxe, komentáře, struktura programu, proměnné a datové typy.
  • 6. Funkce, funkce main, struktury IF THEN ELSE, SWITCH.
  • 7. Cykly WHILE, DO WHILE, FOR.
  • 8. Řazení, vlastnosti a složitost řadících algoritmů, Bubble sort, Shaker sort, Quick sort, Insert sort, Select sort, Merge sort, Heap sort, Radix sort, Bogo sort, Bozo sort.
  • 9. Složené datové typy, struktury.
  • 10. Ukazatele.
Literatura
    povinná literatura
  • PŠENČÍKOVÁ, Jana. Algoritmizace. Vyd. 2. Kralice na Hané: Computer Media, 2009. ISBN 978-807-4020-346
  • MATOUŠEK, David. C++ bez předchozích znalostí. Brno: Computer press, 2016. ISBN 978-80-251-4640-8. info
    doporučená literatura
  • https://stackoverflow.com
  • http://www.cplusplus.com
  • www.itnetwork.cz
  • http://msdn.microsoft.com
  • http://www.algoritmy.net
  • Prokop, J. Algoritmy v jazyku C a C++. Praha, 2015. ISBN 24797465. info
  • Stephen Prata. Mistrovství v C++ 4. aktualizované vydání. 2013. ISBN 9788025138281. info
Výukové metody
Přednáška, cvičení
Metody hodnocení
Odevzdání úkolů a zápočtového projektu, diskuse nad projektem.
Povinná účast na cvičeních min. 75%.
Další komentáře
Studijní materiály
Předmět je zařazen také v obdobích zima 2020, zima 2022, zima 2023, zima 2024.