IB111 Foundations of Programming

Faculty of Informatics
Autumn 2017
Extent and Intensity
2/2/0. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
doc. Mgr. Radek Pelánek, Ph.D. (lecturer)
RNDr. Mgr. Jaroslav Bayer (seminar tutor)
RNDr. Jaroslav Bendík, Ph.D. (seminar tutor)
RNDr. Jaroslav Čechák, Ph.D. (seminar tutor)
Ing. Lenka Dobešová (seminar tutor)
Mgr. David Dobrovolný (seminar tutor)
doc. RNDr. Vlastislav Dohnal, Ph.D. (seminar tutor)
RNDr. Tomáš Effenberger, Ph.D. (seminar tutor)
RNDr. Jiří Glozar (seminar tutor)
Mgr. Jan Horáček (seminar tutor)
Ing. Miroslav Kadlec (seminar tutor)
Mgr. František Lachman (seminar tutor)
doc. RNDr. Martin Maška, Ph.D. (seminar tutor)
doc. RNDr. Petr Matula, Ph.D. (seminar tutor)
RNDr. Marek Medveď, Ph.D. (seminar tutor)
Bc. Oliver Roch (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
Mgr. Bedřich Said (seminar tutor)
Mgr. Martin Stančík (seminar tutor)
Mgr. Monika Stančíková (seminar tutor)
Mgr. Miloslav Staněk (seminar tutor)
Mgr. Marek Sýs, Ph.D. (seminar tutor)
RNDr. Valdemar Švábenský, Ph.D. (seminar tutor)
Mgr. Adam Vaňko (seminar tutor)
Mgr. Tatiana Zbončáková (seminar tutor)
RNDr. Michal Zima (seminar tutor)
RNDr. Aleš Zlámal (seminar tutor)
RNDr. Nikola Beneš, Ph.D. (assistant)
Mgr. Michal Stolárik (assistant)
Guaranteed by
doc. RNDr. Eva Hladká, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 14:00–15:50 D3, Mon 14:00–15:50 D2, Mon 14:00–15:50 D1
  • Timetable of Seminar Groups:
IB111/01: Fri 8:00–9:50 B204, R. Pelánek
IB111/02: Mon 10:00–11:50 B130, L. Dobešová, L. Ručka
IB111/03: Tue 8:00–9:50 B130, D. Dobrovolný, T. Effenberger
IB111/04: Mon 16:00–17:50 B130, A. Vaňko, M. Zima
IB111/05: Mon 16:00–17:50 A215, M. Stančíková
IB111/06: Tue 18:00–19:50 A215, M. Stančík
IB111/07: Wed 18:00–19:50 A219, M. Zima
IB111/08: Fri 8:00–9:50 A219, J. Bendík
IB111/09: Thu 10:00–11:50 B116, J. Bendík
IB111/10: Tue 16:00–17:50 A215, V. Švábenský
IB111/11: Tue 14:00–15:50 A215, M. Staněk, V. Švábenský
IB111/12: Tue 10:00–11:50 A219, J. Bayer
IB111/13: Tue 8:00–9:50 A219, J. Bayer
IB111/14: Tue 12:00–13:50 B311, J. Bayer
IB111/15: Thu 18:00–19:50 A215, J. Čechák
IB111/16: Wed 16:00–17:50 B116, M. Kadlec
IB111/17: Mon 18:00–19:50 B117, M. Kadlec
IB111/18: Wed 14:00–15:50 A215, J. Horáček
IB111/19: Tue 14:00–15:50 B116, O. Roch
IB111/20: Wed 12:00–13:50 A215, F. Lachman
IB111/21: Wed 12:00–13:50 B311, M. Maška
IB111/22: Thu 10:00–11:50 A215, A. Zlámal
IB111/23: Wed 14:00–15:50 A219, P. Matula
IB111/24: Thu 18:00–19:50 A219, M. Staněk
IB111/25: Wed 10:00–11:50 A219, V. Dohnal
IB111/26: Wed 8:00–9:50 A219, V. Dohnal
IB111/27: Thu 16:00–17:50 A215, J. Čechák, T. Zbončáková
IB111/28: Thu 12:00–13:50 A219, M. Sýs
IB111/29: Thu 8:00–9:50 A215, M. Sýs
Prerequisites (in Czech)
(! PB162 Java && ! PB161 C++ Programming && ! PB071 Principles of low-level prog. && ! IB001 Intro to Prog. using C && ! 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 also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 11 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
  • Basic constructions of imperative programming languages: conditions, loops, data types, functions, input, output.
  • Number types, randomness, algorithms with numbers.
  • Data types, lists, dictionaries, objects.
  • Basic algorithms: prime numbers, sorting, searching. Complexity of algorithms (basics).
  • Recursion.
  • Turtle graphics, bitmap graphics, regular expressions, text processing.
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 programming tests, final written test with multiple choice questions.
Language of instruction
Czech
Further Comments
Study Materials
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/IB111/
The course is also listed under the following terms Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2018, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Autumn 2023, Autumn 2024.
  • Enrolment Statistics (Autumn 2017, recent)
  • Permalink: https://is.muni.cz/course/fi/autumn2017/IB111