UIIABP0001 Algoritmy a programování I

Filozoficko-přírodovědecká fakulta v Opavě
zima 2022
Rozsah
2/2/0. 4 kr. Ukončení: z.
Vyučující
Ing. Jiří Blahuta, Ph.D. (přednášející)
RNDr. Jiří Martinů, Ph.D. (přednášející)
doc. RNDr. Lucie Ciencialová, Ph.D. (cvičící)
RNDr. Jiří Martinů, Ph.D. (cvičící)
RNDr. Šárka Vavrečková, Ph.D. (cvičící)
Garance
doc. RNDr. Lucie Ciencialová, 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: St 16:25–18:00 B3b, St 16:25–18:00 B3a, J. Martinů
UIIABP0001/B: Čt 8:55–10:30 B3a, Š. Vavrečková
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 2021, zima 2023, zima 2024.