FI:IB111 Foundations of Programming - Course Information
IB111 Foundations of Programming
Faculty of InformaticsAutumn 2021
- Extent and Intensity
- 2/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- RNDr. Nikola Beneš, Ph.D. (lecturer)
Bc. Stanislav Boboň (seminar tutor)
Bc. Patrik Čelko (seminar tutor)
Bc. Matej Dipčár (seminar tutor)
Mgr. David Dobrovolný (seminar tutor)
Mgr. Ján Dovjak (seminar tutor)
RNDr. Antonín Dufka (seminar tutor)
Bc. Matej Focko (seminar tutor)
Mgr. Tomáš Foltýnek, Ph.D. (seminar tutor)
Mgr. Samuel Gorta (seminar tutor)
Mgr. Jakub Hanko (seminar tutor)
Mgr. Jan Horáček (seminar tutor)
Mgr. Jan Jedelský (seminar tutor)
Mgr. Jan Juračka (seminar tutor)
Mgr. Nastasia Juračková (seminar tutor)
Ing. Miroslav Kadlec (seminar tutor)
Mgr. Jakub Bartolomej Košuth (seminar tutor)
Bc. Martin Kozlovský (seminar tutor)
Bc. Martin Krebs (seminar tutor)
Mgr. Matúš Kropuch (seminar tutor)
Bc. Filip Kučerák (seminar tutor)
Mgr. Roman Lacko (seminar tutor)
Mgr. et Mgr. Dominika Lauko (seminar tutor)
RNDr. Filip Lux (seminar tutor)
doc. RNDr. Martin Maška, Ph.D. (seminar tutor)
doc. RNDr. Pavel Matula, Ph.D. (seminar tutor)
Ing. Erik Moravec (seminar tutor)
RNDr. Petr Ročkai, Ph.D. (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
Mgr. Anna Řechtáčková (seminar tutor)
Mgr. Jakub Slezáček (seminar tutor)
Ondřej Sojka (seminar tutor)
RNDr. Vladimír Štill, Ph.D. (seminar tutor)
Mgr. Tatiana Zbončáková (seminar tutor)
Bc. Dominik Adam (assistant)
Bc. Michal Barnišin (assistant)
Bc. Patrik Bašo (assistant)
Bc. David Beneš (assistant)
Bc. František Bínovský (assistant)
Bc. Veronika Borýsková (assistant)
Bc. Matěj Bukáček (assistant)
Bc. David Dokoupil (assistant)
Bc. Roman Dvořák (assistant)
Bc. Terézia Fialová (assistant)
Bc. Dominik Filip (assistant)
Mgr. Martin Gendiar (assistant)
Bc. Peter Greguš (assistant)
Bc. Matej Grós (assistant)
Bc. Jakub Halmeš (assistant)
Bc. Ivan Hochman (assistant)
Aleš Horna (assistant)
Bc. Richard Jandušík (assistant)
Bc. Tomáš Jaroš (assistant)
Bc. Tomáš Jusko (assistant)
Bc. Josef Karas (assistant)
Bc. Tereza Kinská (assistant)
Bc. Dominik Klement (assistant)
Ing. Michal Klinka (assistant)
Bc. Anna Mária Kollarčíková (assistant)
Bc. David Konečný (assistant)
Mgr. Lukáš Korenčik (assistant)
Bc. Jakub Kováč (assistant)
Bc. Michal Krejčíř (assistant)
Bc. Tomáš Krchňák (assistant)
Bc. Matyáš Kroupa (assistant)
Bc. Petr Kubica (assistant)
RNDr. Henrich Lauko, Ph.D. (assistant)
Bc. Vladimír Lazárik (assistant)
Bc. Jiří Loun (assistant)
Bc. Marcel Lukčo (assistant)
Bc. Martin Mackovík (assistant)
Mgr. Tomáš Macháček (assistant)
Tomáš Marek (assistant)
Bc. Michal Masrna (assistant)
Zuzana Matúšková (assistant)
Bc. Ondřej Metelka (assistant)
Bc. Júlia Michálková (assistant)
Bc. Martin Lukas Mikuš (assistant)
Bc. Ota Mikušek (assistant)
Jiří Müller (assistant)
Adam Mydla (assistant)
Bc. Václav Nevyhoštěný (assistant)
Bc. Damián Paranič (assistant)
Bc. Bruno Petrus (assistant)
Bc. Richard Plesník (assistant)
Bc. Šimon Plhák (assistant)
Bc. Eduard Ruisl (assistant)
Bc. David Růžička (assistant)
Mgr. Adam Rychlý (assistant)
Bc. Jindřich Sedláček (assistant)
Bc. Samuel Smoleniak (assistant)
Bc. Michal Sokolík (assistant)
Bc. Emma Sommerová (assistant)
Bc. Andrej Srnka (assistant)
Mgr. Alžbeta Strompová (assistant)
Bc. František Stupka (assistant)
Mgr. Ondřej Svoboda (assistant)
Bc. Martin Šepeľa (assistant)
Anna Šmatková (assistant)
Bc. Adéla Štěpková (assistant)
Bc. Tomáš Štucka (assistant)
Bc. Ondřej Tesáček (assistant)
Bc. Tereza Tódová (assistant)
Bc. Vladimír Uhlík (assistant)
RNDr. Vladimír Ulman, Ph.D. (assistant)
Bc. Adam Valalský (assistant)
Bc. Eric Vincent Valčík (assistant)
Mgr. Šimon Varga (assistant)
Bc. Matej Vavrek (assistant)
Bc. Michal Vlček (assistant)
Bc. Jan Zatloukal (assistant)
Bc. Josef Žižka (assistant) - Guaranteed by
- RNDr. Nikola Beneš, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics - Timetable
- Mon 13. 9. to Mon 6. 12. Mon 16:00–16:50 D1, Mon 17:00–17:50 D1, Mon 18:00–18:50 D1, Mon 19:00–19:50 D1
- Timetable of Seminar Groups:
IB111/01: Wed 15. 9. to Wed 8. 12. Wed 14:00–15:50 A219, N. Beneš
IB111/01_nahrada: No timetable has been entered into IS.
IB111/02: Thu 16. 9. to Thu 9. 12. Thu 8:00–9:50 A219, P. Matula
IB111/02_nahrada: No timetable has been entered into IS. P. Matula
IB111/03: Tue 14. 9. to Tue 7. 12. Tue 18:00–19:50 A219, S. Boboň
IB111/03_nahrada: No timetable has been entered into IS. S. Boboň
IB111/04: Tue 14. 9. to Tue 7. 12. Tue 14:00–15:50 B117, P. Čelko
IB111/04_nahrada: No timetable has been entered into IS. P. Čelko
IB111/05: Wed 15. 9. to Wed 8. 12. Wed 8:00–9:50 A219, M. Dipčár
IB111/05_nahrada: No timetable has been entered into IS.
IB111/06: Tue 14. 9. to Tue 7. 12. Tue 10:00–11:50 B311, D. Dobrovolný
IB111/06_nahrada: No timetable has been entered into IS. D. Dobrovolný
IB111/07: Thu 16. 9. to Thu 9. 12. Thu 16:00–17:50 B117, D. Dobrovolný
IB111/07_nahrada: No timetable has been entered into IS. D. Dobrovolný
IB111/08: Tue 14. 9. to Tue 7. 12. Tue 8:00–9:50 A215, J. Dovjak
IB111/08_nahrada: No timetable has been entered into IS. J. Dovjak
IB111/09: Fri 17. 9. to Fri 10. 12. Fri 12:00–13:50 A219, A. Dufka
IB111/09_nahrada: No timetable has been entered into IS. A. Dufka
IB111/10: Wed 15. 9. to Wed 8. 12. Wed 16:00–17:50 A219, M. Focko
IB111/10_nahrada: No timetable has been entered into IS.
IB111/11: Thu 16. 9. to Thu 9. 12. Thu 16:00–17:50 B116, S. Gorta
IB111/11_nahrada: No timetable has been entered into IS. S. Gorta
IB111/12: Tue 14. 9. to Tue 7. 12. Tue 16:00–17:50 A215, S. Gorta
IB111/12_nahrada: No timetable has been entered into IS. S. Gorta
IB111/13: Wed 15. 9. to Wed 8. 12. Wed 8:00–9:50 A215, J. Hanko
IB111/13_nahrada: No timetable has been entered into IS.
IB111/14: Thu 16. 9. to Thu 9. 12. Thu 8:00–9:50 A215, J. Horáček
IB111/14_nahrada: No timetable has been entered into IS. J. Horáček
IB111/15: Tue 14. 9. to Tue 7. 12. Tue 8:00–9:50 B117, J. Slezáček
IB111/15_nahrada: No timetable has been entered into IS. J. Slezáček
IB111/16: Wed 15. 9. to Wed 8. 12. Wed 8:00–9:50 B116, J. Jedelský
IB111/16_nahrada: No timetable has been entered into IS.
IB111/17: Tue 14. 9. to Tue 7. 12. Tue 14:00–15:50 A219, J. Juračka
IB111/17_nahrada: No timetable has been entered into IS. J. Juračka
IB111/18: Thu 16. 9. to Thu 9. 12. Thu 18:00–19:50 A219, M. Kadlec
IB111/18_nahrada: No timetable has been entered into IS. M. Kadlec
IB111/19: Thu 16. 9. to Thu 9. 12. Thu 16:00–17:50 A219, M. Kadlec
IB111/19_nahrada: No timetable has been entered into IS. M. Kadlec
IB111/20: Thu 16. 9. to Thu 9. 12. Thu 18:00–19:50 B311, J. Košuth
IB111/20_nahrada: No timetable has been entered into IS. J. Košuth
IB111/21: Wed 15. 9. to Wed 8. 12. Wed 12:00–13:50 B311, T. Foltýnek
IB111/21_nahrada: No timetable has been entered into IS.
IB111/22: Tue 14. 9. to Tue 7. 12. Tue 16:00–17:50 B117, N. Juračková
IB111/22_nahrada: No timetable has been entered into IS. N. Juračková
IB111/23: Tue 14. 9. to Tue 7. 12. Tue 8:00–9:50 B116, M. Kozlovský
IB111/23_nahrada: No timetable has been entered into IS. M. Kozlovský
IB111/24: Thu 16. 9. to Thu 9. 12. Thu 10:00–11:50 A215, M. Krebs
IB111/24_nahrada: No timetable has been entered into IS. M. Krebs
IB111/25: Tue 14. 9. to Tue 7. 12. Tue 14:00–15:50 A215, D. Lauko
IB111/25_nahrada: No timetable has been entered into IS. D. Lauko
IB111/26: Wed 15. 9. to Wed 8. 12. Wed 16:00–17:50 B116, D. Lauko
IB111/26_nahrada: No timetable has been entered into IS.
IB111/27: Wed 15. 9. to Wed 8. 12. Wed 16:00–17:50 A215, M. Kropuch
IB111/27_nahrada: No timetable has been entered into IS.
IB111/28: Wed 15. 9. to Wed 8. 12. Wed 14:00–15:50 B116, T. Foltýnek
IB111/28_nahrada: No timetable has been entered into IS.
IB111/29: Tue 14. 9. to Tue 7. 12. Tue 18:00–19:50 B117, F. Kučerák
IB111/29_nahrada: No timetable has been entered into IS. F. Kučerák
IB111/30: Fri 17. 9. to Fri 10. 12. Fri 8:00–9:50 A219, R. Lacko
IB111/30_nahrada: No timetable has been entered into IS. R. Lacko
IB111/31: Wed 15. 9. to Wed 8. 12. Wed 10:00–11:50 A215, F. Lux
IB111/31_nahrada: No timetable has been entered into IS.
IB111/32: Fri 17. 9. to Fri 10. 12. Fri 10:00–11:50 B116, M. Maška
IB111/32_nahrada: No timetable has been entered into IS.
IB111/33: Thu 16. 9. to Thu 9. 12. Thu 18:00–19:50 A215, E. Moravec
IB111/33_nahrada: No timetable has been entered into IS. E. Moravec
IB111/34: Mon 13. 9. to Mon 6. 12. Mon 18:00–19:50 A219, E. Moravec
IB111/34_nahrada: No timetable has been entered into IS. E. Moravec
IB111/35: Fri 17. 9. to Fri 10. 12. Fri 10:00–11:50 A215, A. Řechtáčková
IB111/35_nahrada: No timetable has been entered into IS. A. Řechtáčková
IB111/36: Tue 14. 9. to Tue 7. 12. Tue 8:00–9:50 A219, P. Ročkai
IB111/36_nahrada: No timetable has been entered into IS. P. Ročkai
IB111/37: Tue 14. 9. to Tue 7. 12. Tue 10:00–11:50 A219, L. Ručka
IB111/37_nahrada: No timetable has been entered into IS. L. Ručka
IB111/38: Wed 15. 9. to Wed 8. 12. Wed 10:00–11:50 A219, L. Ručka
IB111/38_nahrada: No timetable has been entered into IS.
IB111/39: Thu 16. 9. to Thu 9. 12. Thu 10:00–11:50 B116, J. Horáček
IB111/39_nahrada: No timetable has been entered into IS. J. Horáček
IB111/40: Thu 16. 9. to Thu 9. 12. Thu 8:00–9:50 B116, O. Sojka
IB111/40_nahrada: No timetable has been entered into IS. O. Sojka
IB111/41: Fri 17. 9. to Fri 10. 12. Fri 10:00–11:50 A219, V. Štill
IB111/41_nahrada: No timetable has been entered into IS. V. Štill
IB111/42: Wed 15. 9. to Wed 8. 12. Wed 14:00–15:50 B130, V. Štill
IB111/42_nahrada: No timetable has been entered into IS.
IB111/43: Wed 15. 9. to Wed 8. 12. Wed 18:00–19:50 B311, T. Zbončáková
IB111/43_nahrada: No timetable has been entered into IS. - Prerequisites (in Czech)
- ! IB113 Intro to Programming & Algs && !NOW( IB113 Intro to Programming & Algs )
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. - Course Enrolment Limitations
- The course is only offered to the students of the study fields the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 19 fields of study the course is directly associated with, display
- Course objectives
- The course is an introduction to programming and algorithmic style of thinking.
- Learning outcomes
- At the end of the course students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types); write and debug a program in Python; use basic data types and structures (strings, lists, dictionaries); describe several basic algorithms; describe main conventions and recommended programming style.
- Syllabus
- The course shows the basic elements of imperative programming and algorithmic thinking using the high-level programming language Python as an example.
- Basic notions of imperative programming languages: variables and their semantics, expressions and statements, branching, cycles; subroutines (functions), passing parameters (calling functions), pure functions, predicates.
- Numerical computation, basic data types, using the random generator.
- Data structures, ADT, lists, strings, multidimensional arrays, sets, dictionaries, the basic of using objects to create user-defined data structures.
- The basics of testing and debugging, preconditions and postconditions, type annotation.
- Examples of basic algorithms: greatest common divisor, prime numbers, sorting algorithms, searching.
- The efficiency of algorithms, the basics of complexity, the complexity of basic data structures operations.
- Recursion and its specifics in the imperative paradigm, tail recursion; using recursion to work with tree data structures and to solve constraint satisfaction problems (the basics of the backtracking technique).
- Interaction with the environment (I/O), turtle graphics, bitmap graphics, text processing.
- Program design, programming styles and conventions, readability and maintainability of code, documentation and comments.
- Literature
- recommended literature
- PELÁNEK, Radek. Programátorská cvičebnice: algoritmy v příkladech. Brno: Computer Press, 2012, 175 pp. ISBN 978-80-251-3751-2. info
- GUZDIAL, Mark and 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
- Teaching methods
- lectures, programming seminars, homeworks (programming)
- Assessment methods
- Assesment consists of 3 parts: homeworks, mid-term and final programming tests, final written test.
- Language of instruction
- Czech
- Further Comments
- Study Materials
The course is taught annually. - Listed among pre-requisites of other courses
- IB002 Algorithms and data structures I
( IB015 || IB111 ) && !NOW(IB114) - IB113 Introduction to Programming and Algorithms
!NOW(IB111) && !IB111 && !PB162 && !PB161 && !PB071 && !IB001 && !program(B-INF) && !program(B-PVA) && !program(B-CS) - IB114 Introduction to Programming and Algorithms II
(IB111 || IB113) && !IB002 && !NOW(IB002) - Naskoc8 Nulté cvičení IB111
fakulta(FI) && typ_studia(B) && semestr(1) && NOW(IB111) - PB006 Principles of Programming Languages and OOP
(IB111 || NOW(IB111)) && (PB071 || PB111) - PB111 Principles of low-level programming
IB015 || IB111 - PV275 Introduction to Quantum Computer Programming
( MB141 || MB151 || MB101 || MB201 ) && IB111
- IB002 Algorithms and data structures I
- Teacher's information
- http://www.fi.muni.cz/IB111/
- Enrolment Statistics (Autumn 2021, recent)
- Permalink: https://is.muni.cz/course/fi/autumn2021/IB111