IB113 Úvod do programování a algoritmizace

Fakulta informatiky
podzim 2017
Rozsah
2/2/0. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
RNDr. Nikola Beneš, Ph.D. (přednášející)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
Ing. Michaela Pokludová (cvičící)
doc. Mgr. Radek Pelánek, Ph.D. (pomocník)
Garance
doc. RNDr. Eva Hladká, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
Po 12:00–13:50 D2
  • Rozvrh seminárních/paralelních skupin:
IB113/01: Po 14:00–15:50 B311, J. Plhák
IB113/02: Út 10:00–11:50 B311, J. Plhák
IB113/03: Út 18:00–19:50 B311, M. Pokludová
IB113/04: Út 16:00–17:50 B311, M. Pokludová
IB113/05: St 16:00–17:50 B311, M. Pokludová
Předpoklady
! NOW ( IB111 Základy programování ) && ! IB111 Základy programování && ! PB162 Programování Java && ! PB161 Programování v jazyce C++ && ! PB071 Principy nízkoúr. prog. && ! IB001 Úvod do prog. skrze C
Předmět je určen primárně studentům neinformatických programů. Ostatním studentům je doporučeno zapsat si předmět IB111.
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
předmět má 9 mateřských oborů, zobrazit
Cíle předmětu
Předmět poskytuje systematické pokrytí základů programování. Pro výklad a cvičení je použit konkrétní programovací jazyk (Python), předmět se však zaměřuje na obecné principy uplatnitelné v mnoha různých programovacích jazycích. Po ukončení předmětu by studenti měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) a znát několik základních algoritmů.
Výstupy z učení
Student bude po absolvování předmětu schopen:
- používat základní prostředky strukturovaného imperativního programování (proměnné, podmínky, cykly, funkce, složené datové typy);
- napsat a odladit jednoduchý program v jazyce Python;
- používat základní datové typy a struktury (řetězce, seznamy, slovníky);
- umět intuitivně vysvětlit pojem algoritmu;
- při programování dodržovat doporučené zásady čitelnosti kódu.
Osnova
  • Předmět ilustruje základní prvky imperativního programování a algoritmického myšlení skrze vysokoúrovňový jazyk Python a za bohatého použití ilustrativních příkladů.
  • Základní konstrukce imperativních programovacích jazyků: podmínky, cykly, základní datové typy, funkce, vstup a výstup.
  • Výpočty s čísly, číselné typy, využití náhody.
  • Datové struktury, seznamy, řetězce, vícerozměrná pole, slovníky, základy použití objektů.
  • Příklady základních algoritmů: největší společný dělitel, prvočísla, řadicí algoritmy, vyhledávání. Využití rekurze.
  • Želví grafika, bitmapová grafika, regulární výrazy, práce s textem.
  • Návrh programů, programátorské konvence, úprava kódu.
Literatura
    doporučená literatura
  • PELÁNEK, Radek. Programátorská cvičebnice: algoritmy v příkladech. Brno: Computer Press, 2012, 175 s. ISBN 978-80-251-3751-2. info
  • GUZDIAL, Mark a Barbara ERICSON. Introduction to computing & programming in Python : a multimedia approach. 2nd ed. Upper Saddle River [N.J.]: Prentice Hall, 2010, xxiii, 401. ISBN 9780136060239. info
  • ZELLE, John M. Python programming : an introduction to computer science. Wilsonville: Franklin, Beedle &Associates, 2004, xiv, 514. ISBN 1887902996. info
Výukové metody
přednášky, povinná cvičení u počítače, domácí úkoly (příklady k programování)
Metody hodnocení
Hodnocení se skládá ze 3 částí: průběžné domácí úkoly (150 bodů), programátorský test u počítače v průběhu semestru (100 bodů), závěrečná písemná zkouška (150 bodů). K úspěšnému zvládnutí je třeba získat alespoň 100 bodů z domácích úkolů, 50 bodů z programátorského testu a 75 bodů z písemné zkoušky.
Další komentáře
Studijní materiály
Nachází se v prerekvizitách jiných předmětů
Předmět je zařazen také v obdobích podzim 2018, podzim 2019, podzim 2020, podzim 2021, podzim 2022, podzim 2023.