FI:IB111 Základy programování - Informace o předmětu
IB111 Základy programování
Fakulta informatikypodzim 2022
- Rozsah
- 2/2/1. 4 kr. (plus ukončení). Ukončení: zk.
- Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
prof. RNDr. Jiří Barnat, Ph.D. (cvičící)
Bc. David Beneš (cvičící)
Bc. Stanislav Boboň (cvičící)
Bc. Patrik Čelko (cvičící)
Bc. Matej Focko (cvičící)
Mgr. Tomáš Foltýnek, Ph.D. (cvičící)
Mgr. Samuel Gorta (cvičící)
Mgr. Jakub Hanko (cvičící)
Mgr. Nastasia Juračková (cvičící)
Bc. Tomáš Jusko (cvičící)
Mgr. Lukáš Korenčik (cvičící)
Bc. Martin Krebs (cvičící)
Bc. Tomáš Krchňák (cvičící)
Ing. Matěj Lang (cvičící)
Bc. Tomáš Marek (cvičící)
Adam Mydla (cvičící)
Bc. Vojtěch Nájemník (cvičící)
Bc. Bruno Petrus (cvičící)
Bc. Šimon Plhák (cvičící)
RNDr. Petr Ročkai, Ph.D. (cvičící)
RNDr. Lukáš Ručka (cvičící)
Mgr. Anna Řechtáčková (cvičící)
Ondřej Sojka (cvičící)
Bc. Vladimír Uhlík (cvičící)
Samuel Wittlinger (cvičící)
Bc. Vladimír Žbánek (cvičící)
Tomáš Balák (pomocník)
Bc. Michal Barnišin (pomocník)
Bc. Filip Bartek (pomocník)
Pavol Biačko (pomocník)
Ing. Dávid Bolvanský (pomocník)
Bc. Matěj Bukáček (pomocník)
Bc. Oliver Bukor (pomocník)
Bc. Martin Cmiel (pomocník)
Bc. Samuel Čepela (pomocník)
Bc. Michal Drobný (pomocník)
Bc. Štěpán Dvorský (pomocník)
Bc. Roman Dvořák (pomocník)
Bc. Adam Džadoň (pomocník)
Bc. Jan Glos (pomocník)
Bc. Filip Gregora (pomocník)
Ondřej Hasman (pomocník)
Mgr. Martin Hofbauer (pomocník)
Bc. Ivan Hochman (pomocník)
Bc. Tomáš Jaroš (pomocník)
Ing. Miroslav Kadlec (pomocník)
Bc. David Kajan (pomocník)
Bc. Josef Karas (pomocník)
Bc. Tereza Kinská (pomocník)
Mgr. Jakub Bartolomej Košuth (pomocník)
Bc. Matyáš Kroupa (pomocník)
Bc. Petr Kubica (pomocník)
Vojtěch Kůr (pomocník)
Bc. Pavol Kyčina (pomocník)
Adam Lopatka (pomocník)
Mgr. Tomáš Macháček (pomocník)
Bc. Patrik Mažári (pomocník)
Bc. Ondřej Metelka (pomocník)
Bc. Terézia Mikulová (pomocník)
Bc. Radoslav Palkovič (pomocník)
Bc. Damián Paranič (pomocník)
Miroslav Patlevič (pomocník)
Bc. Daniel Rozehnal (pomocník)
Bc. Jindřich Sedláček (pomocník)
Erik Sedlák (pomocník)
Jakub Semeniuk (pomocník)
Bc. Richard Schwarz (pomocník)
Richard Skokan (pomocník)
Bc. Samuel Smoleniak (pomocník)
Bc. Michal Sokolík (pomocník)
Bc. Emma Sommerová (pomocník)
Bc. František Stupka (pomocník)
Bc. Kamila Šamajová (pomocník)
Bc. Michal Šoltis (pomocník)
Bc. Dominik Tichý (pomocník)
Bc. Petra Tomanová (pomocník)
Pavol Trnavský (pomocník)
Bc. Adam Valalský (pomocník)
Bc. Matej Vavrek (pomocník)
Lukáš Záborský (pomocník)
Bc. Jan Zatloukal (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
- Po 16:00–17:50 D3, Po 16:00–17:50 D2, Po 16:00–17:50 D1
- Rozvrh seminárních/paralelních skupin:
IB111/konzultace01: Út 14:00–15:00 B204
IB111/konzultace02: St 14:00–15:00 A219
IB111/konzultace03: Rozvrh nebyl do ISu vložen., Čtvrtek 14.30–15.30 PC hala
IB111/konzultace04: Rozvrh nebyl do ISu vložen., Pátek 14.00–15.00 A219
IB111/01: Čt 10:00–11:50 B011, D. Beneš
IB111/02: Po 12:00–13:50 B011, N. Beneš
IB111/03: St 12:00–13:50 A219, S. Boboň
IB111/04: Út 10:00–11:50 B011, P. Čelko
IB111/05: Út 14:00–15:50 B011, P. Čelko
IB111/06: Út 8:00–9:50 A219, M. Focko
IB111/07: St 14:00–15:50 B011, T. Foltýnek
IB111/08: Pá 8:00–9:50 B011, T. Foltýnek
IB111/09: St 10:00–11:50 B130, T. Foltýnek
IB111/10: Čt 16:00–17:50 B130, S. Gorta
IB111/11: St 12:00–13:50 B011, S. Gorta
IB111/12: Po 10:00–11:50 B011, J. Hanko
IB111/13: Út 10:00–11:50 B130, J. Hanko
IB111/14: Čt 18:00–19:50 B130, T. Jusko
IB111/15: Út 16:00–17:50 A219, N. Juračková
IB111/16: Út 18:00–19:50 B130, T. Krchňák
IB111/17: Po 14:00–15:50 A219, M. Krebs
IB111/18: Čt 8:00–9:50 A219, T. Marek
IB111/19: Út 18:00–19:50 A219, A. Mydla
IB111/20: Po 14:00–15:50 B011, B. Petrus
IB111/21: Po 18:00–19:50 A219, Š. Plhák
IB111/22: St 10:00–11:50 B011, L. Ručka
IB111/23: St 8:00–9:50 B011, L. Ručka
IB111/24: Čt 14:00–15:50 B011, O. Sojka
IB111/25: St 16:00–17:50 A219, O. Sojka
IB111/26: St 10:00–11:50 A219, V. Uhlík
IB111/27: Út 14:00–15:50 A219, P. Ročkai
IB111/28: Pá 12:00–13:50 A219, A. Řechtáčková
IB111/29: Čt 18:00–19:50 A219, L. Korenčik
IB111/30: Po 10:00–11:50 A219, V. Nájemník
IB111/31: St 18:00–19:50 A219, S. Wittlinger
IB111/32: Čt 16:00–17:50 A219, V. Žbánek
IB111/33: Čt 8:00–9:50 B011, J. Barnat
IB111/34: St 14:00–15:50 B130, M. Lang
IB111/35: Pá 10:00–11:50 B011, M. Lang
IB111/36: Po 8:00–9:50 B011, náhradní skupina; otevře se v případě nedostatku míst - 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á 19 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.
- 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í
IB015 || IB111 - PV275 Introduction to Quantum Computer Programming
( MB141 || MB151 || MB101 || MB201 ) && IB111
- IB002 Algoritmy a datové struktury I
- Statistika zápisu (podzim 2022, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2022/IB111