FI:IB111 Základy programování - Informace o předmětu
IB111 Základy programování
Fakulta informatikypodzim 2026
- 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í)
Mgr. Marek Trtík, Ph.D. (přednášející)
RNDr. Lukáš Ručka (cvičící)
RNDr. Samuel Pastva, Ph.D. (cvičící)
Bc. Vladimír Uhlík (cvičící)
Karel Čermák (cvičící)
RNDr. Jakub Gajarský, Ph.D. (cvičící)
Jiří Pastrňák (pomocník)
prof. RNDr. Jiří Barnat, Ph.D. (cvičící)
Mgr. Tomáš Foltýnek, Ph.D. (cvičící)
Ing. Josef Melkus (cvičící)
Karel Pýcha (cvičící)
Lukáš Ševc (cvičící)
Jan Samek (cvičící)
Matúš Bárány (cvičící)
Matej Opálený (cvičící)
Bc. Boris Lukačovič (cvičící)
Juraj Osuský (cvičící)
Peter Rakšány (cvičící)
Bc. Martin Tvarožek (cvičící)
Iva Kasprzaková (cvičící)
Bc. et Bc. Jakub Rádl (cvičící)
Bc. Samuel Malec (cvičící)
Bc. Pavol Trnavský (cvičící)
Tomáš Hutňan (cvičící)
Bc. Tomáš Marek (cvičící)
Jozef Sabo (cvičící)
Jana Jarošová (cvičící)
Robin Drozd (cvičící)
Anna Tomalová (cvičící)
Ivan Hrabčák (cvičící)
Patrik Novák (cvičící)
Sebastian Vaško Da Silva (cvičící)
Martin Sedlák (cvičící)
Peter Hazlinger (cvičící)
Danny Ryška (cvičící)
Šimon Jelínek (cvičící)
Ella Gyurkovská (cvičící)
Pavla Bártová (cvičící) - Garance
- prof. Ing. Tomáš Vojnar, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Kontaktní osoba: prof. Ing. Tomáš Vojnar, Ph.D.
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - 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
- Anotace
- 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.
- Klíčová témata
- 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.
- Studijní zdroje a 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
- Přístupy, postupy a metody používané ve výuce
- přednášky, povinná cvičení u počítače, domácí úkoly (příklady k programování)
- Způsob ověření výstupů z učení a požadavky na ukončení
- 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
- Předmět je vyučován každoročně.
Výuka probíhá každý týden. - 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 - PB176 Základy kvality a správy kódu
PB006 || IB113 || IB111 || PB111 || PB071
- IB002 Algoritmy a datové struktury I
- Statistika zápisu (nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2026/IB111