IB113 Introduction to Programming and Algorithms

Faculty of Informatics
Autumn 2024
Extent and Intensity
2/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
doc. Mgr. Radek Pelánek, Ph.D. (lecturer)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
Mgr. Anna Řechtáčková (seminar tutor)
Bc. Oliver Bukor (seminar tutor)
RNDr. Mgr. Jana Dražanová, Ph.D. (seminar tutor)
Ing. Šimon Fouček (seminar tutor)
Mgr. Martin Hofbauer (seminar tutor)
Vojtěch Klapetek (seminar tutor)
Ing. Dalibor Pantlík (seminar tutor)
Bc. Michal Spiegel (seminar tutor)
Štěpán Šonovský (seminar tutor)
Guaranteed by
doc. Mgr. Radek Pelánek, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics
! NOW ( IB111 Foundations of Programming ) && ! IB111 Foundations of Programming && ! PB162 Java && ! PB161 C++ Programming && ! PB071 Principles of low-level prog. && ! IB001 Intro to Prog. using C && ! PROGRAM ( B - INF ) && ! PROGRAM ( B - PVA ) && ! PROGRAM ( B - CS )
The course is intended for students of non-IT programs. Students of Informatics, Programming and Development, and Cybersecurity enroll in IB111. IB111 graduates can have IB113 recognized.
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 8 fields of study the course is directly associated with, display
Course objectives
The course is an introduction to programming and algorithmic style of thinking. 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) and know several basic algorithms.
Learning outcomes
After finishing this course, a student should be able to:
- use basic tools of structured imperative programming languages (variables, conditions, loops, functions, record data types);
- write and debug a simple Python program and adhere to recommended principles of programming style;
- use basic data types and structures (strings, lists, dictionaries);
- explain several classical algorithms.
  • 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).
  • Turtle graphics, bitmap graphics, regular expressions, text processing.
    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 test, final written test with multiple choice questions.
Language of instruction
Listed among pre-requisites of other courses
Teacher's information
The course is also listed under the following terms Autumn 2017, Autumn 2018, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Autumn 2023.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/autumn2024/IB113