IB111 Základy programování

Fakulta informatiky
podzim 2018
Rozsah
2/2/0. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
doc. Mgr. Radek Pelánek, Ph.D. (přednášející)
RNDr. Mgr. Jaroslav Bayer (cvičící)
Mgr. Štefan Bojnák (cvičící)
Mgr. Martina Cvinčeková (cvičící)
RNDr. Jaroslav Čechák, Ph.D. (cvičící)
Zdenko Čepan (cvičící)
Ing. Lenka Dobešová (cvičící)
Mgr. David Dobrovolný (cvičící)
doc. RNDr. Vlastislav Dohnal, Ph.D. (cvičící)
Mgr. Jan Horáček (cvičící)
Ing. Miroslav Kadlec (cvičící)
Mgr. František Lachman (cvičící)
RNDr. Filip Lux (cvičící)
doc. RNDr. Martin Maška, Ph.D. (cvičící)
doc. RNDr. Pavel Matula, Ph.D. (cvičící)
doc. RNDr. Petr Matula, Ph.D. (cvičící)
Ing. Michaela Pokludová (cvičící)
doc. Mgr. Pavel Rychlý, Ph.D. (cvičící)
Mgr. Martin Stančík (cvičící)
Mgr. Monika Stančíková (cvičící)
Mgr. Miloslav Staněk (cvičící)
Mgr. Marek Sýs, Ph.D. (cvičící)
Mgr. Radim Šašinka (cvičící)
RNDr. Valdemar Švábenský, Ph.D. (cvičící)
RNDr. Matej Troják, Ph.D. (cvičící)
Mgr. Adam Vaňko (cvičící)
Jakub Žák (cvičící)
RNDr. Nikola Beneš, Ph.D. (pomocník)
RNDr. Martin Macák, 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 17. 9. až Po 10. 12. Po 12:00–13:50 D2, Po 12:00–13:50 D3, Po 12:00–13:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB111/T01: Po 17. 9. až Čt 13. 12. Po 16:00–18:50 106, M. Macák, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB111/01: Út 12:00–13:50 C511, R. Pelánek
IB111/02: St 16:00–17:50 A219, P. Matula
IB111/03: Út 12:00–13:50 A219, F. Lachman
IB111/04: Út 14:00–15:50 A219, M. Staněk
IB111/05: Út 8:00–9:50 A215, J. Bayer
IB111/06: Út 10:00–11:50 A215, J. Bayer
IB111/07: Pá 12:00–13:50 B130, D. Dobrovolný, R. Šašinka
IB111/08: Út 10:00–11:50 B130, D. Dobrovolný, R. Šašinka
IB111/09: St 8:00–9:50 B116, M. Maška
IB111/10: Út 18:00–19:50 A215, M. Cvinčeková
IB111/11: Po 17. 9. až Po 10. 12. Po 16:00–17:50 B116, M. Kadlec
IB111/12: St 18:00–19:50 A215, M. Kadlec
IB111/13: Po 17. 9. až Po 10. 12. Po 14:00–15:50 B311, M. Stančíková
IB111/14: Po 17. 9. až Po 10. 12. Po 16:00–17:50 A219, M. Stančíková
IB111/15: Út 14:00–15:50 B130, M. Stančík, J. Žák
IB111/16: Čt 18:00–19:50 A215, M. Sýs
IB111/17: Út 18:00–19:50 B311, M. Sýs
IB111/18: St 14:00–15:50 A215, J. Bayer
IB111/19: St 10:00–11:50 A215, V. Dohnal
IB111/20: St 8:00–9:50 A215, V. Dohnal
IB111/21: Pá 10:00–11:50 B311, P. Matula
IB111/22: Pá 10:00–11:50 A215, M. Pokludová
IB111/23: Út 16:00–17:50 A215, M. Pokludová
IB111/24: Pá 12:00–13:50 A219, P. Rychlý
IB111/25: Út 18:00–19:50 A219, M. Troják
IB111/26: St 18:00–19:50 A219, M. Troják
IB111/27: Čt 12:00–13:50 A215, J. Horáček
IB111/28: Út 8:00–9:50 B130, J. Horáček, A. Vaňko
IB111/29: Po 17. 9. až Po 10. 12. Po 14:00–15:50 A215, Z. Čepan, V. Švábenský
IB111/30: Po 17. 9. až Po 10. 12. Po 16:00–17:50 A215, Z. Čepan, V. Švábenský
IB111/31: St 12:00–13:50 B130, J. Čechák, L. Dobešová
IB111/32: Po 17. 9. až Po 10. 12. Po 14:00–15:50 B130, J. Čechák, F. Lux
IB111/33: St 10:00–11:50 A219, F. Lux
IB111/34: Út 16:00–17:50 A219, Š. Bojnák
Předpoklady
(! PB162 Programování Java && ! PB161 Programování v jazyce C++ && ! PB071 Principy nízkoúr. prog. && ! IB001 Úvod do prog. skrze C && ! IB113 Úvod do progr. a algoritmizace && !NOW( IB113 Úvod do progr. a algoritmizace ) )
Předmět je určen pouze studentům FI. Pro studenty ostatních fakult je určen předmět IB113.
Omezení zápisu do předmětu
Předmět je určen pouze studentům mateřských oborů.
Mateřské obory/plány
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.
Výstupy z učení
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); napsat a odladit program v jazyce Python o rozsahu přibližně 200 řádků kódu; používat základní datové typy a struktury (řetězce, seznamy, slovníky); popsat několik základních algoritmů; popsat hlavní konvence a doporučený programátorský stylu.
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, programátorské testy u počítače v průběhu semestru, závěrečná písemná zkouška (otázky s výběrem možností).
Informace učitele
http://www.fi.muni.cz/IB111/
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 2009, podzim 2010, podzim 2011, podzim 2012, podzim 2013, podzim 2014, podzim 2015, podzim 2016, podzim 2017, podzim 2019, podzim 2020, podzim 2021, podzim 2022, podzim 2023, podzim 2024.