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).
In-person direct teaching
Teacher(s)
doc. Mgr. Radek Pelánek, Ph.D. (lecturer)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
RNDr. Mgr. Jana Dražanová, Ph.D. (seminar tutor)
Ing. Šimon Fouček (seminar tutor)
Ing. Dalibor Pantlík (seminar tutor)
RNDr. Jaroslav Pelikán, Ph.D. (seminar tutor)
Klaudia Pohanková (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
Timetable
Mon 23. 9. to Mon 16. 12. Mon 8:00–9:50 D1
  • Timetable of Seminar Groups:
IB113/01: Wed 25. 9. to Wed 18. 12. Wed 12:00–13:50 B116, J. Plhák
IB113/02: Wed 25. 9. to Wed 18. 12. Wed 14:00–15:50 B116, J. Plhák
IB113/03: Thu 26. 9. to Thu 19. 12. Thu 14:00–15:50 B117, J. Plhák
IB113/04: Wed 25. 9. to Wed 18. 12. Wed 16:00–17:50 B117, L. Ručka
IB113/05: Thu 26. 9. to Thu 19. 12. Thu 8:00–9:50 B116, L. Ručka
IB113/06: Tue 24. 9. to Tue 17. 12. Tue 8:00–9:50 B116, J. Pelikán
IB113/07: Tue 24. 9. to Tue 17. 12. Tue 10:00–11:50 B116, J. Pelikán
IB113/08: Fri 27. 9. to Fri 20. 12. Fri 10:00–11:50 B116, J. Pelikán
IB113/09: Fri 27. 9. to Fri 20. 12. Fri 8:00–9:50 B116, J. Dražanová
IB113/10: Wed 25. 9. to Wed 18. 12. Wed 8:00–9:50 B130, Š. Fouček, D. Pantlík
IB113/11: Mon 23. 9. to Mon 16. 12. Mon 12:00–13:50 B311, K. Pohanková, Š. Šonovský
Prerequisites
!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.
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).
  • 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 test, 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
https://www.fi.muni.cz/~xpelanek/IB113/
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