FI:IB111 Základy programování - Informace o předmětu
IB111 Základy programování
Fakulta informatikypodzim 2024
- Rozsah
- 2/2/2. 5 kr. (plus ukončení). Ukončení: zk.
Vyučováno kontaktně - Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
Bc. Filip Bartek (cvičící)
Kryštof Bednařík (cvičící)
Kateřina Borošová (cvičící)
Vojtěch Brdečko (cvičící)
Bc. Oliver Bukor (cvičící)
Jindřich Burget (cvičící)
Bc. Samuel Čepela (cvičící)
Bc. Matej Focko (cvičící)
Mgr. Tomáš Foltýnek, Ph.D. (cvičící)
Richard Glosner (cvičící)
Mgr. Jan Jedelský (cvičící)
Mgr. Nastasia Juračková (cvičící)
Iva Kasprzaková (cvičící)
Boris Lukačovič (cvičící)
Tomáš Marek (cvičící)
Dominik Melkovič (cvičící)
RNDr. Samuel Pastva, Ph.D. (cvičící)
Miroslav Patlevič (cvičící)
Peter Rakšány (cvičící)
RNDr. Petr Ročkai, Ph.D. (cvičící)
RNDr. Lukáš Ručka (cvičící)
Erik Sedlák (cvičící)
Samuel Stančík (cvičící)
Bc. Dávid Šutor (cvičící)
Pavol Trnavský (cvičící)
Martin Tuček (cvičící)
Martin Tvarožek (cvičící)
Bc. Vladimír Uhlík (cvičící)
prof. Ing. Tomáš Vojnar, Ph.D. (cvičící)
Filip Weinberger (cvičící)
Mgr. Anna Winklerová (cvičící)
Jakub Wolek (cvičící)
Lukáš Záborský (cvičící)
Bc. Jan Zatloukal (cvičící)
Bc. Vladimír Žbánek (cvičící)
Tomáš Balák (pomocník)
Radoslav Baník (pomocník)
Matej Barna (pomocník)
Jakub Béreš (pomocník)
Pavol Biačko (pomocník)
Jakub Borský (pomocník)
Bc. Matěj Bukáček (pomocník)
Richard Čech (pomocník)
Karel Čermák (pomocník)
Nikola Davidová (pomocník)
Tomáš Drkoš (pomocník)
Bc. Roman Dvořák (pomocník)
Martin Ergang (pomocník)
Bc. Frederik Fedorko (pomocník)
Jan Frejlach (pomocník)
Bc. Jan Glos (pomocník)
Adam Hadar (pomocník)
Jindřich Halabala (pomocník)
Marek Halamka (pomocník)
Petr Hejčl (pomocník)
Jakub Horák (pomocník)
Jana Jarošová (pomocník)
Bc. Jakub Judiny (pomocník)
Daniel Kamenov (pomocník)
Ján Kapko (pomocník)
Ing. Bc. Michaela Kecskésová (pomocník)
Bc. Tereza Kinská (pomocník)
Vojtěch Klapetek (pomocník)
Tomáš Klostermann (pomocník)
Matej Korž (pomocník)
Bc. Patrik Kotúček (pomocník)
Bc. Tomáš Krchňák (pomocník)
Bc. Petr Kubica (pomocník)
Adam Kubík (pomocník)
Mgr. Roman Lacko (pomocník)
Adam Lopatka (pomocník)
Leon Ludvig (pomocník)
Bc. Martin Mackovík (pomocník)
Martin Marcinech (pomocník)
Soňa Martišová (pomocník)
Jindřich Matuška (pomocník)
Bc. Ondřej Metelka (pomocník)
Marcel Nadzam (pomocník)
Patrik Novák (pomocník)
Martin Ondulič (pomocník)
Adam Pavelka (pomocník)
Filip Pavlovič (pomocník)
Barbora Piatková (pomocník)
Ladislav Pittner (pomocník)
Michal Rábek (pomocník)
Bc. Jakub Rádl (pomocník)
Bc. Tomáš Rohlínek (pomocník)
Mgr. Anna Řechtáčková (pomocník)
Jozef Sabo (pomocník)
Jakub Simandl (pomocník)
Soňa Sviatková (pomocník)
Gabriel Szalona (pomocník)
Andrej Tejbus (pomocník)
Tomáš Tomíček (pomocník)
Peter Vajda (pomocník)
Bc. Adam Valalský (pomocník)
Diana Valková (pomocník)
Juraj Zemančík (pomocník)
Veronika Zemanová (pomocník)
Bc. Josef Žižka (pomocník) - Garance
- RNDr. Nikola Beneš, 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
- Út 24. 9. až Út 17. 12. Út 12:00–13:50 D1, Út 12:00–13:50 D2, Út 12:00–13:50 D3
- Rozvrh seminárních/paralelních skupin:
IB111/01: Pá 4. 10. až Pá 20. 12. Pá 10:00–11:50 B130, T. Foltýnek
IB111/01_nahrada: Rozvrh nebyl do ISu vložen. T. Foltýnek
IB111/02: Po 30. 9. až Po 16. 12. Po 10:00–11:50 B130, A. Winklerová
IB111/03: Po 30. 9. až Po 16. 12. Po 12:00–13:50 B011, N. Beneš
IB111/04: Čt 3. 10. až Čt 19. 12. Čt 10:00–11:50 B130, T. Vojnar
IB111/04_nahrada: Rozvrh nebyl do ISu vložen. T. Vojnar
IB111/05: Čt 3. 10. až Čt 19. 12. Čt 10:00–11:50 B011, P. Ročkai
IB111/05_nahrada: Rozvrh nebyl do ISu vložen. P. Ročkai
IB111/06: Pá 4. 10. až Pá 20. 12. Pá 8:00–9:50 B011, K. Borošová
IB111/06_nahrada: Rozvrh nebyl do ISu vložen. K. Borošová
IB111/07: St 2. 10. až St 18. 12. St 8:00–9:50 B011, L. Ručka
IB111/07_nahrada: Rozvrh nebyl do ISu vložen. L. Ručka
IB111/08: Pá 4. 10. až Pá 20. 12. Pá 8:00–9:50 A219, S. Pastva
IB111/08_nahrada: Rozvrh nebyl do ISu vložen. S. Pastva
IB111/09: Pá 4. 10. až Pá 20. 12. Pá 12:00–13:50 A219, S. Pastva
IB111/09_nahrada: Rozvrh nebyl do ISu vložen. S. Pastva
IB111/10: Čt 3. 10. až Čt 19. 12. Čt 16:00–17:50 B011, N. Juračková
IB111/10_nahrada: Rozvrh nebyl do ISu vložen. N. Juračková
IB111/11: St 2. 10. až St 18. 12. St 14:00–15:50 B011, J. Jedelský
IB111/11_nahrada: Rozvrh nebyl do ISu vložen. J. Jedelský
IB111/12: Po 30. 9. až Po 16. 12. Po 8:00–9:50 A219, M. Focko
IB111/13: Po 30. 9. až Po 16. 12. Po 10:00–11:50 A219, M. Focko
IB111/14: Út 1. 10. až Út 17. 12. Út 16:00–17:50 B011, D. Šutor
IB111/14_nahrada: Rozvrh nebyl do ISu vložen. D. Šutor
IB111/15: Út 1. 10. až Út 17. 12. Út 16:00–17:50 A219, V. Uhlík
IB111/16: St 2. 10. až St 18. 12. St 14:00–15:50 A219, V. Uhlík
IB111/17: Út 1. 10. až Út 17. 12. Út 10:00–11:50 B011, J. Zatloukal
IB111/17_nahrada: Rozvrh nebyl do ISu vložen. J. Zatloukal
IB111/18: St 2. 10. až St 18. 12. St 18:00–19:50 A219, T. Marek
IB111/19: Čt 3. 10. až Čt 19. 12. Čt 10:00–11:50 A219, T. Marek
IB111/20: Čt 3. 10. až Čt 19. 12. Čt 8:00–9:50 B011, S. Čepela
IB111/20_nahrada: Rozvrh nebyl do ISu vložen. S. Čepela
IB111/21: Po 30. 9. až Po 16. 12. Po 16:00–17:50 B011, V. Žbánek
IB111/22: Po 30. 9. až Po 16. 12. Po 8:00–9:50 B011, E. Sedlák
IB111/23: St 2. 10. až St 18. 12. St 10:00–11:50 A215, P. Trnavský
IB111/24: Po 30. 9. až Po 16. 12. Po 18:00–19:50 B011, F. Bartek
IB111/25: Čt 3. 10. až Čt 19. 12. Čt 12:00–13:50 A219, R. Glosner
IB111/25_nahrada: Rozvrh nebyl do ISu vložen. R. Glosner
IB111/26: Út 1. 10. až Út 17. 12. Út 14:00–15:50 B011, M. Tuček
IB111/26_nahrada: Rozvrh nebyl do ISu vložen. M. Tuček
IB111/27: St 2. 10. až St 18. 12. St 14:00–15:50 A215, M. Patlevič
IB111/27_nahrada: Rozvrh nebyl do ISu vložen. M. Patlevič
IB111/28: Čt 3. 10. až Čt 19. 12. Čt 8:00–9:50 A219, L. Záborský
IB111/29: Čt 3. 10. až Čt 19. 12. Čt 16:00–17:50 A219, B. Lukačovič
IB111/30: St 2. 10. až St 18. 12. St 18:00–19:50 A215, O. Bukor
IB111/30_nahrada: Rozvrh nebyl do ISu vložen. O. Bukor
IB111/31: Po 30. 9. až Po 16. 12. Po 12:00–13:50 A219, K. Bednařík
IB111/32: St 2. 10. až St 18. 12. St 12:00–13:50 B011, I. Kasprzaková
IB111/32_nahrada: Rozvrh nebyl do ISu vložen. I. Kasprzaková
IB111/33: Út 1. 10. až Út 17. 12. Út 8:00–9:50 A219, D. Melkovič
IB111/34: Út 1. 10. až Út 17. 12. Út 10:00–11:50 A219, V. Brdečko
IB111/35: St 2. 10. až St 18. 12. St 10:00–11:50 B130, S. Stančík, nepřihlašuje se, náhradní skupina
IB111/35_nahrada: Rozvrh nebyl do ISu vložen. N. Beneš
IB111/36: St 2. 10. až St 18. 12. St 12:00–13:50 A215, M. Tvarožek
IB111/36_nahrada: Rozvrh nebyl do ISu vložen. M. Tvarožek
IB111/37: Čt 3. 10. až Čt 19. 12. Čt 18:00–19:50 A219, J. Burget
IB111/37_nahrada: Rozvrh nebyl do ISu vložen. J. Burget
IB111/38: Po 30. 9. až Po 16. 12. Po 16:00–17:50 A219, J. Wolek
IB111/39: Čt 3. 10. až Čt 19. 12. Čt 18:00–19:50 B011, F. Weinberger
IB111/39_nahrada: Rozvrh nebyl do ISu vložen. F. Weinberger
IB111/40: Út 1. 10. až Út 17. 12. Út 18:00–19:50 A219, P. Rakšány
IB111/40_nahrada: Rozvrh nebyl do ISu vložen. P. Rakšány - 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
- Digitální lingvistika (program FI, N-DL)
- Informatika (program FI, B-INF) (2)
- Kyberbezpečnost (program FI, B-CS)
- Programování a vývoj aplikací (program FI, B-PVA)
- 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) - Naskoc8 Nulté cvičení IB111
fakulta(FI) && typ_studia(B) && semestr(1) && NOW(IB111) - PB006 Principy programovacích jazyků a OOP
(IB111 || NOW(IB111)) && (PB071 || PB111) - PB111 Principy nízkoúrovňového programování
IB111 && PB151 - PV275 Introduction to Quantum Computer Programming
( MB141 || MB151 || MB101 || MB201 ) && IB111
- IB002 Algoritmy a datové struktury I
- Statistika zápisu (nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2024/IB111