FI:IB111 Základy programování - Informace o předmětu
IB111 Základy programování
Fakulta informatikypodzim 2025
- Rozsah
- 2/2/2. 5 kr. (plus ukončení). Ukončení: zk.
Vyučováno kontaktně - Vyučující
- prof. Ing. Tomáš Vojnar, Ph.D. (přednášející)
RNDr. Petr Ročkai, Ph.D. (přednášející)
Bc. Kateřina Borošová (cvičící)
Bc. Richard Glosner (cvičící)
Bc. Jindřich Halabala (cvičící)
Petr Hejčl (cvičící)
Iva Kasprzaková (cvičící)
Mgr. Petr Kubica (cvičící)
Boris Lukačovič (cvičící)
Bc. Tomáš Marek (cvičící)
RNDr. Samuel Pastva, Ph.D. (cvičící)
Bc. et Bc. Jakub Rádl (cvičící)
Peter Rakšány (cvičící)
RNDr. Lukáš Ručka (cvičící)
Pavol Trnavský (cvičící)
Mgr. Marek Trtík, Ph.D. (cvičící)
Martin Tvarožek (cvičící)
Bc. Vladimír Uhlík (cvičící)
Peter Vajda (cvičící)
Matúš Bárány (cvičící)
Matej Beneš (cvičící)
Karel Čermák (cvičící)
Vladimír Drobný (cvičící)
Bc. Miroslav Gáll (cvičící)
Tomáš Hutňan (cvičící)
Bc. Samuel Malec (cvičící)
Matej Opálený (cvičící)
Juraj Osuský (cvičící)
Karel Pýcha (cvičící)
Linda Ráheľová (cvičící)
Jan Samek (cvičící)
Peter Schrimpel (cvičící)
Kristýna Sichová (cvičící)
Lukáš Ševc (cvičící)
Filip Škultéty (cvičící)
Eliška Zonygová (cvičící)
Mgr. Anna Řechtáčková (pomocník) - Garance
- prof. Ing. Tomáš Vojnar, 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
- Pá 19. 9. až Pá 19. 12. Pá 10:00–11:50 140
- Rozvrh seminárních/paralelních skupin:
IB111/02: Út 23. 9. až Út 16. 12. Út 10:00–11:50 C121, P. Ročkai
IB111/03: St 24. 9. až St 17. 12. St 12:00–13:50 S405, M. Trtík
IB111/04: St 24. 9. až St 17. 12. St 8:00–9:50 S405, M. Trtík
IB111/05: Po 22. 9. až Po 15. 12. Po 12:00–13:50 S405, S. Pastva
IB111/06: Čt 25. 9. až Čt 18. 12. Čt 10:00–11:50 C122, L. Ručka
IB111/07: St 24. 9. až St 17. 12. St 14:00–15:50 C121, L. Ručka
IB111/08: Po 22. 9. až Po 15. 12. Po 16:00–17:50 C122, P. Kubica
IB111/09: Út 23. 9. až Út 16. 12. Út 14:00–15:50 C122, M. Tvarožek
IB111/10: St 24. 9. až St 17. 12. St 12:00–13:50 C122, M. Tvarožek
IB111/11: Út 23. 9. až Út 16. 12. Út 12:00–13:50 C121, I. Kasprzaková
IB111/12: Čt 25. 9. až Čt 18. 12. Čt 8:00–9:50 C122, P. Hejčl
IB111/13: Čt 25. 9. až Čt 18. 12. Čt 8:00–9:50 C121, K. Borošová
IB111/14: Pá 26. 9. až Pá 19. 12. Pá 8:00–9:50 C122, P. Schrimpel
IB111/15: Čt 25. 9. až Čt 18. 12. Čt 14:00–15:50 C122, P. Rakšány
IB111/16: Po 22. 9. až Po 15. 12. Po 18:00–19:50 C121, P. Rakšány
IB111/17: Čt 25. 9. až Čt 18. 12. Čt 10:00–11:50 C121, L. Ševc
IB111/18: Po 22. 9. až Po 15. 12. Po 8:00–9:50 C121, J. Halabala
IB111/19: Pá 26. 9. až Pá 19. 12. Pá 12:00–13:50 C122, J. Rádl
IB111/20: Út 23. 9. až Út 16. 12. Út 8:00–9:50 C121, J. Rádl
IB111/21: Po 22. 9. až Po 15. 12. Po 18:00–19:50 S405, B. Lukačovič
IB111/22: Čt 25. 9. až Čt 18. 12. Čt 16:00–17:50 C122, L. Ráheľová
IB111/23: Po 22. 9. až Po 15. 12. Po 10:00–11:50 A219, R. Glosner
IB111/24: Po 22. 9. až Po 15. 12. Po 14:00–15:50 S405, K. Čermák
IB111/25: Čt 25. 9. až Čt 18. 12. Čt 18:00–19:50 S405, T. Hutňan
IB111/26: Út 23. 9. až Út 16. 12. Út 18:00–19:50 C122, T. Marek
IB111/27: Čt 25. 9. až Čt 18. 12. Čt 14:00–15:50 C121, P. Vajda
IB111/28: Út 23. 9. až Út 16. 12. Út 8:00–9:50 S405, J. Osuský
IB111/29: Čt 25. 9. až Čt 18. 12. Čt 18:00–19:50 A219, K. Pýcha
IB111/30: Po 22. 9. až Po 15. 12. Po 14:00–15:50 A219, K. Sichová
IB111/31: Út 23. 9. až Út 16. 12. Út 16:00–17:50 A219, F. Škultéty
IB111/32: Po 22. 9. až Po 15. 12. Po 12:00–13:50 C122, V. Uhlík
IB111/33: Út 23. 9. až Út 16. 12. Út 14:00–15:50 A219, S. Malec
IB111/34: Pá 26. 9. až Pá 19. 12. Pá 8:00–9:50 A219, M. Bárány
IB111/35: Út 23. 9. až Út 16. 12. Út 10:00–11:50 A219, E. Zonygová
IB111/36: Po 22. 9. až Po 15. 12. Po 18:00–19:50 A219, J. Samek
IB111/37: Čt 25. 9. až Čt 18. 12. Čt 14:00–15:50 A219, P. Trnavský
IB111/38: Po 22. 9. až Po 15. 12. Po 16:00–17:50 A219, V. Drobný
IB111/39: St 24. 9. až St 17. 12. St 10:00–11:50 A219, M. Beneš
IB111/40: Pá 26. 9. až Pá 19. 12. Pá 12:00–13:50 A219, M. Opálený
IB111/41: Út 23. 9. až Út 16. 12. Út 18:00–19:50 A219, M. Gáll - Předpoklady
- ! IB113 Úvod do progr. a algoritmizace && !NOW( IB113 Úvod do progr. a algoritmizace )
Předmět je určen primárně studentům informatických programů. Ostatním studentům je doporučeno zapsat si 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
- předmět má 6 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.
- 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ý styl.
- 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ů: proměnné a jejich sémantika, výrazy a příkazy, větvení, cykly; podprogramy (funkce), předávání parametrů (volání funkcí), čisté funkce, predikáty.
- Výpočty s čísly, základní datové typy, využití generátoru náhodných čísel.
- Datové struktury, ADT, seznamy, řetězce, vícerozměrná pole, množiny, slovníky, základy použití objektů jako vlastních datových struktur.
- Základy testování a ladění programů, vstupní a výstupní podmínky, typové anotace.
- Příklady základních algoritmů: největší společný dělitel, prvočísla, řadicí algoritmy, vyhledávání.
- Efektivita algoritmů, základy složitosti, složitost základních operací s datovými strukturami.
- Rekurze a její specifika v imperativním prostředí, koncová (tail) rekurze; využití rekurze pro práci se stromovými strukturami a pro řešení problémů splnění omezení (základy techniky backtrackingu).
- Interakce s prostředím (vstup/výstup), želví grafika, bitmapová grafika, práce s textem.
- Návrh programů, programátorské konvence, úprava kódu, jeho čitelnost a udržovatelnost, dokumentace a komentáře.
- 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 a na závěr semestru, závěrečná písemná zkouška.
- Navazující předměty
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně. - Nachází se v prerekvizitách jiných předmětů
- IB002 Algoritmy a datové struktury I
( IB015 || IB111 ) && !NOW(IB114) - IB113 Úvod do programování a algoritmizace
!NOW(IB111) && !IB111 && !PB162 && !PB161 && !PB071 && !IB001 && !program(B-INF) && !program(B-PVA) && !program(B-CS) - IB114 Úvod do programování a algoritmizace II
(IB111 || IB113) && !IB002 && !NOW(IB002) - PB006 Principy programovacích jazyků a OOP
(IB111 || NOW(IB111)) && (PB071 || PB111) - PB111 Principy nízkoúrovňového programování
IB111 && PB151
- IB002 Algoritmy a datové struktury I
- Statistika zápisu (nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2025/IB111