IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2025
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)
prof. RNDr. Ivana Černá, CSc. (lecturer)
Mgr. Jakub Balabán (seminar tutor)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
Kateřina Borošová (seminar tutor)
Vojtěch Brdečko (seminar tutor)
Mgr. Tomáš Foltýnek, Ph.D. (seminar tutor)
Vojtěch Kůr (seminar tutor)
Mgr. Tomáš Macháček (seminar tutor)
RNDr. Vít Musil, Ph.D. (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Tereza Siková (seminar tutor)
Bc. Jakub Šárník (seminar tutor)
Mgr. Matěj Žáček (seminar tutor)
Guaranteed by
prof. RNDr. Ivana Černá, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Prerequisites
( IB015 Non-Imperative Programming || IB111 Foundations of Programming ) && !NOW( IB114 Intro to Programming & Algs II )
The students should comprehend the basic notions on the level of IB111 Introduction to Programming and IB000 Mathematical Foundations of Computer Science Students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) in Python, know principles of recursion, and several basic algorithms. Students should know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph including their applications in informatics. IB114 is a similar course designed for a different curriculum.
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 37 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algorithms. Students implement their algorithms in programming language Python.
Learning outcomes
After enrolling the course students are able to:
- actively use and modify basic sorting algorithms and graph algorithms,
- actively used basic techniques for designing algorithms (divide et impera, recursion) and design simple algorithms,
- actively used and modify basic static and dynamic data structures,
- employ time complexity and correctness of algorithms,
- analyze time complexity and prove the correctness of simple iterative and recursive algorithms,
- implement algorithms in the selected programming language (Python).
Syllabus
  • Basic analysis of algorithms: The correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Algorithm design techniques. Divide et impera and recursive algorithms.
  • Fundamental data structures: lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees, balanced trees (B trees, Red-black trees).
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for the time complexity of sorting.
  • Graphs and their representation. Graph search. Depth-first traversal, topological sort, strongly connected components. Breadth-first traversal, bipartite graphs. Shortest paths, algorithm Bellman-Ford, Dijkstra's algorithm.
Literature
    required literature
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    recommended literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Teaching methods
The course is organized as a series of lectures accompanied by exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
The course is taught annually.
The course is taught: every week.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2024
Extent and Intensity
2/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
Mgr. Jakub Balabán (seminar tutor)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
Kateřina Borošová (seminar tutor)
Vojtěch Brdečko (seminar tutor)
Mgr. Tomáš Foltýnek, Ph.D. (seminar tutor)
Vojtěch Kůr (seminar tutor)
Mgr. Tomáš Macháček (seminar tutor)
RNDr. Vít Musil, Ph.D. (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Tereza Siková (seminar tutor)
Bc. Jakub Šárník (seminar tutor)
Mgr. Matěj Žáček (seminar tutor)
Guaranteed by
prof. RNDr. Ivana Černá, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Mon 19. 2. to Thu 9. 5. Thu 10:00–11:50 D3, Thu 10:00–11:50 D1, except Thu 25. 4. ; and Thu 25. 4. 10:00–11:50 D1
  • Timetable of Seminar Groups:
IB002/konzultace: Tue 16:00–17:50 A319, M. Žáček, Pravidelná konzultace, není potřeba se přihlašovat. První bude 27. 2. 2024
IB002/N01: No timetable has been entered into IS.
IB002/N02: No timetable has been entered into IS.
IB002/N03: No timetable has been entered into IS.
IB002/N04: No timetable has been entered into IS.
IB002/N05: No timetable has been entered into IS.
IB002/N06: No timetable has been entered into IS.
IB002/N07: No timetable has been entered into IS.
IB002/N08: No timetable has been entered into IS.
IB002/N09: No timetable has been entered into IS.
IB002/N10: No timetable has been entered into IS.
IB002/N11: No timetable has been entered into IS.
IB002/N12: No timetable has been entered into IS.
IB002/N13: No timetable has been entered into IS.
IB002/N14: No timetable has been entered into IS.
IB002/N15: No timetable has been entered into IS.
IB002/N16: No timetable has been entered into IS.
IB002/N17: No timetable has been entered into IS.
IB002/N18: No timetable has been entered into IS.
IB002/N20: No timetable has been entered into IS.
IB002/N21: No timetable has been entered into IS.
IB002/01: Mon 8:00–9:50 A218, V. Řehák
IB002/02: Mon 8:00–9:50 A319, J. Obdržálek
IB002/03: Mon 12:00–13:50 A218, J. Plhák
IB002/04: Mon 14:00–15:50 A218, J. Plhák
IB002/05: Mon 16:00–17:50 B411, V. Musil
IB002/06: Mon 18:00–19:50 A319, V. Kůr
IB002/07: Tue 8:00–9:50 A218, V. Řehák
IB002/08: Tue 12:00–13:50 A319, V. Řehák
IB002/09: Wed 8:00–9:50 A318, J. Obdržálek
IB002/10: Wed 10:00–11:50 A318, J. Obdržálek
IB002/11: Wed 12:00–13:50 A319, V. Musil
IB002/12: Wed 16:00–17:50 B204, T. Macháček
IB002/13: Wed 18:00–19:50 A217, T. Siková
IB002/14: Thu 8:00–9:50 A218, T. Foltýnek
IB002/15: Thu 16:00–17:50 B411, K. Borošová
IB002/16: Mon 19. 2. to Thu 9. 5. Thu 16:00–17:50 A218; and Thu 16. 5. 16:00–17:50 C525, V. Brdečko
IB002/17: Fri 8:00–9:50 A218, J. Šárník
IB002/18: Fri 10:00–11:50 A218, J. Balabán
Prerequisites
IB015 Non-Imperative Programming || IB111 Foundations of Programming
The students should comprehend the basic notions on the level of IB111 Introduction to Programming and IB000 Mathematical Foundations of Computer Science Students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) in Python, know principles of recursion, and several basic algorithms. Students should know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph including their applications in informatics. IB114 is a lightweight version of IB002.
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 58 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algorithms. Students implement their algorithms in programming language Python.
Learning outcomes
After enrolling the course students are able to:
- actively use and modify basic sorting algorithms and graph algorithms,
- actively used basic techniques for designing algorithms (divide et impera, recursion) and design simple algorithms,
- actively used and modify basic static and dynamic data structures,
- employ time complexity and correctness of algorithms,
- analyze time complexity and prove the correctness of simple iterative and recursive algorithms,
- implement algorithms in the selected programming language (Python).
Syllabus
  • Basic analysis of algorithms: The correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Algorithm design techniques. Divide et impera and recursive algorithms.
  • Fundamental data structures: lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees, balanced trees (B trees, Red-black trees).
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for the time complexity of sorting.
  • Graphs and their representation. Graph search. Depth-first traversal, topological sort, strongly connected components. Breadth-first traversal, bipartite graphs. Shortest paths, algorithm Bellman-Ford, Dijkstra's algorithm.
Literature
    required literature
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    recommended literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Teaching methods
The course is organized as a series of lectures accompanied by exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2023
Extent and Intensity
2/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
prof. RNDr. Jiří Barnat, Ph.D. (seminar tutor)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
Mgr. Tomáš Foltýnek, Ph.D. (seminar tutor)
Vojtěch Kůr (seminar tutor)
Mgr. Tomáš Macháček (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
Bc. Matěj Pavlík (seminar tutor)
RNDr. Kristýna Pekárková (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Bc. Jakub Šárník (seminar tutor)
Bc. Dávid Šutor (seminar tutor)
Mgr. Matěj Žáček (seminar tutor)
RNDr. Martin Jonáš, Ph.D. (assistant)
Guaranteed by
prof. RNDr. Ivana Černá, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Tue 14. 2. to Tue 9. 5. Tue 12:00–13:50 D3, Tue 12:00–13:50 D1
  • Timetable of Seminar Groups:
IB002/konzultace: Tue 14. 2. to Tue 9. 5. Tue 10:00–11:50 D3, M. Žáček, Není normální cvičení, ale konzultace. Nepřihlašuje se. Přijďte dle potřeby.
IB002/N01: No timetable has been entered into IS.
IB002/N02: No timetable has been entered into IS.
IB002/N03: No timetable has been entered into IS.
IB002/N04: No timetable has been entered into IS.
IB002/N05: No timetable has been entered into IS.
IB002/N06: No timetable has been entered into IS.
IB002/N07: No timetable has been entered into IS.
IB002/N08: No timetable has been entered into IS.
IB002/N09: No timetable has been entered into IS.
IB002/N10: No timetable has been entered into IS.
IB002/N11: No timetable has been entered into IS.
IB002/N12: No timetable has been entered into IS.
IB002/N13: No timetable has been entered into IS.
IB002/N14: No timetable has been entered into IS.
IB002/N15: No timetable has been entered into IS.
IB002/N16: No timetable has been entered into IS.
IB002/N17: No timetable has been entered into IS.
IB002/N18: No timetable has been entered into IS.
IB002/01: Mon 13. 2. to Mon 15. 5. Mon 10:00–11:50 A218, V. Řehák
IB002/02: Mon 13. 2. to Mon 15. 5. Mon 14:00–15:50 A319, V. Řehák
IB002/03: Tue 14. 2. to Tue 9. 5. Tue 8:00–9:50 A218, T. Foltýnek
IB002/04: Tue 14. 2. to Tue 9. 5. Tue 8:00–9:50 A320, V. Kůr
IB002/05: Tue 14. 2. to Tue 9. 5. Tue 18:00–19:50 A320, J. Šárník
IB002/06: Wed 15. 2. to Wed 10. 5. Wed 8:00–9:50 A217, J. Obdržálek
IB002/07: Wed 15. 2. to Wed 10. 5. Wed 10:00–11:50 A217, J. Obdržálek
IB002/08: Wed 15. 2. to Wed 10. 5. Wed 10:00–11:50 A318, except Wed 19. 4. ; and Wed 19. 4. 10:00–11:50 B517, T. Foltýnek
IB002/09: Wed 15. 2. to Wed 10. 5. Wed 12:00–13:50 A318, except Wed 19. 4. ; and Wed 19. 4. 12:00–13:50 B517, T. Foltýnek
IB002/10: Wed 15. 2. to Wed 10. 5. Wed 14:00–15:50 A217, V. Řehák
IB002/11: Wed 15. 2. to Wed 10. 5. Wed 14:00–15:50 A318, except Wed 19. 4. ; and Wed 19. 4. 14:00–15:50 B517, J. Plhák
IB002/12: Wed 15. 2. to Wed 10. 5. Wed 16:00–17:50 A318, except Wed 19. 4. ; and Wed 19. 4. 16:00–17:50 B517, J. Plhák
IB002/13: Thu 16. 2. to Thu 11. 5. Thu 8:00–9:50 A319, T. Macháček
IB002/14: Thu 16. 2. to Thu 11. 5. Thu 10:00–11:50 B411, N. Beneš
IB002/15: Thu 16. 2. to Thu 11. 5. Thu 10:00–11:50 B410, J. Barnat
IB002/16: Thu 16. 2. to Thu 11. 5. Thu 16:00–17:50 A318, K. Pekárková
IB002/17: Thu 16. 2. to Thu 11. 5. Thu 18:00–19:50 A320, M. Pavlík
IB002/18: Fri 17. 2. to Fri 12. 5. Fri 12:00–13:50 A217, D. Šutor
Prerequisites
IB015 Non-Imperative Programming || IB111 Foundations of Programming
The students should comprehend the basic notions on the level of IB111 Introduction to Programming and IB000 Mathematical Foundations of Computer Science Students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) in Python, know principles of recursion, and several basic algorithms. Students should know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph including their applications in informatics.
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 58 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algorithms. Students implement their algorithms in programming language Python.
Learning outcomes
After enrolling the course students are able to:
- actively use and modify basic sorting algorithms and graph algorithms,
- actively used basic techniques for designing algorithms (divide et impera, recursion) and design simple algorithms,
- actively used and modify basic static and dynamic data structures,
- employ time complexity and correctness of algorithms,
- analyze time complexity and prove the correctness of simple iterative and recursive algorithms,
- implement algorithms in the selected programming language (Python).
Syllabus
  • Basic analysis of algorithms: The correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Algorithm design techniques. Divide et impera and recursive algorithms.
  • Fundamental data structures: lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees, balanced trees (B trees, Red-black trees).
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for the time complexity of sorting.
  • Graphs and their representation. Graph search. Depth-first traversal, topological sort, strongly connected components. Breadth-first traversal, bipartite graphs. Shortest paths, algorithm Bellman-Ford, Dijkstra's algorithm.
Literature
    required literature
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    recommended literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Teaching methods
The course is organized as a series of lectures accompanied by exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2024, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2022
Extent and Intensity
2/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
prof. RNDr. Jiří Barnat, Ph.D. (seminar tutor)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
Bc. Matej Focko (seminar tutor)
Mgr. Tomáš Foltýnek, Ph.D. (seminar tutor)
Bc. Filip Kučerák (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
Bc. Matěj Pavlík (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Bc. Jakub Šárník (seminar tutor)
Bc. Dávid Šutor (seminar tutor)
Mgr. Matěj Žáček (seminar tutor)
Mgr. Jakub Balabán (assistant)
Mgr. Marek Jankola (assistant)
Mgr. Nastasia Juračková (assistant)
Mgr. Lukáš Korenčik (assistant)
Petra Ludvová Hašková, DiS. (assistant)
RNDr. Kristýna Pekárková (assistant)
RNDr. Vladimír Štill, Ph.D. (assistant)
Mgr. Tatiana Zbončáková (assistant)
Guaranteed by
prof. RNDr. Ivana Černá, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 17. 2. to Thu 12. 5. Thu 14:00–15:50 D3, Thu 14:00–15:50 D1
  • Timetable of Seminar Groups:
IB002/konzultace: Tue 15. 2. to Tue 17. 5. Tue 12:00–13:50 A220, M. Žáček
IB002/N01: No timetable has been entered into IS.
IB002/N02: No timetable has been entered into IS.
IB002/N03: No timetable has been entered into IS.
IB002/N04: No timetable has been entered into IS.
IB002/N05: No timetable has been entered into IS.
IB002/N06: No timetable has been entered into IS.
IB002/N07: No timetable has been entered into IS.
IB002/N08: No timetable has been entered into IS.
IB002/N09: No timetable has been entered into IS.
IB002/N10: No timetable has been entered into IS.
IB002/N11: No timetable has been entered into IS.
IB002/N12: No timetable has been entered into IS.
IB002/N13: No timetable has been entered into IS.
IB002/N14: No timetable has been entered into IS.
IB002/N15: No timetable has been entered into IS.
IB002/N16: No timetable has been entered into IS.
IB002/N17: No timetable has been entered into IS.
IB002/01: Mon 14. 2. to Mon 9. 5. Mon 10:00–11:50 A217, V. Řehák
IB002/02: Tue 15. 2. to Tue 10. 5. Tue 8:00–9:50 A319, J. Obdržálek
IB002/03: Tue 15. 2. to Tue 10. 5. Tue 10:00–11:50 A319, J. Obdržálek
IB002/04: Tue 15. 2. to Tue 10. 5. Tue 10:00–11:50 A218, V. Řehák
IB002/05: Tue 15. 2. to Tue 10. 5. Tue 12:00–13:50 A218, V. Řehák
IB002/06: Tue 15. 2. to Tue 10. 5. Tue 14:00–15:50 A218, M. Focko
IB002/07: Tue 15. 2. to Tue 10. 5. Tue 14:00–15:50 A319, J. Plhák
IB002/08: Tue 15. 2. to Tue 10. 5. Tue 16:00–17:50 A319, J. Plhák
IB002/09: Tue 15. 2. to Tue 10. 5. Tue 16:00–17:50 B204, T. Foltýnek
IB002/10: Wed 16. 2. to Wed 11. 5. Wed 12:00–13:50 A218, N. Beneš
IB002/11: Wed 16. 2. to Wed 11. 5. Wed 18:00–19:50 A218, F. Kučerák
IB002/12: Thu 17. 2. to Thu 12. 5. Thu 10:00–11:50 B411, J. Barnat
IB002/13: Thu 17. 2. to Thu 12. 5. Thu 18:00–19:50 A320, M. Pavlík
IB002/14: Thu 17. 2. to Thu 12. 5. Thu 18:00–19:50 B411, D. Šutor
IB002/15: Fri 18. 2. to Fri 13. 5. Fri 8:00–9:50 A217, T. Foltýnek
IB002/16: Fri 18. 2. to Fri 13. 5. Fri 10:00–11:50 A217, T. Foltýnek
IB002/17: Fri 18. 2. to Fri 13. 5. Fri 10:00–11:50 A218, J. Šárník
Prerequisites
IB001 Intro to Prog. using C || IB111 Foundations of Programming || IB999 Programming Test
The students should comprehend the basic notions on the level of IB111 Introduction to Programming and IB000 Mathematical Foundations of Computer Science Students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) in Python, know principles of recursion, and several basic algorithms. Students should know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph including their applications in informatics.
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 58 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algorithms. Students implement their algorithms in programming language Python.
Learning outcomes
After enrolling the course students are able to:
- actively use and modify basic sorting algorithms and graph algorithms,
- actively used basic techniques for designing algorithms (divide et impera, recursion) and design simple algorithms,
- actively used and modify basic static and dynamic data structures,
- employ time complexity and correctness of algorithms,
- analyze time complexity and prove the correctness of simple iterative and recursive algorithms,
- implement algorithms in the selected programming language (Python).
Syllabus
  • Basic analysis of algorithms: The correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Algorithm design techniques. Divide et impera and recursive algorithms.
  • Fundamental data structures: lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees, balanced trees (B trees, Red-black trees).
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for the time complexity of sorting.
  • Graphs and their representation. Graph search. Depth-first traversal, topological sort, strongly connected components. Breadth-first traversal, bipartite graphs. Shortest paths, algorithm Bellman-Ford, Dijkstra's algorithm.
Literature
    required literature
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    recommended literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Teaching methods
The course is organized as a series of lectures accompanied by exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2023, Spring 2024, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2021
Extent and Intensity
2/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
Mgr. Jakub Balabán (seminar tutor)
prof. RNDr. Jiří Barnat, Ph.D. (seminar tutor)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
Bc. Andrej Čermák (seminar tutor)
Bc. Matej Focko (seminar tutor)
Mgr. Jan Horáček (seminar tutor)
Mgr. Nastasia Juračková (seminar tutor)
Mgr. Jan Koniarik (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
Bc. Matěj Pavlík (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Bc. Michal Staník (seminar tutor)
Bc. Jakub Šárník (seminar tutor)
Mgr. Mária Švidroňová (seminar tutor)
Mgr. Matěj Žáček (seminar tutor)
Mgr. Lukáš Korenčik (assistant)
Mgr. Martin Kurečka (assistant)
RNDr. Henrich Lauko, Ph.D. (assistant)
RNDr. Vladimír Štill, Ph.D. (assistant)
Hana Válková (assistant)
Mgr. Tatiana Zbončáková (assistant)
Guaranteed by
prof. RNDr. Ivana Černá, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Wed 12:00–13:50 Virtuální místnost
  • Timetable of Seminar Groups:
IB002/Konzultace01: Tue 14:00–15:50 Virtuální místnost, M. Žáček
IB002/Konzultace02: Wed 10:00–11:50 Virtuální místnost, J. Horáček
IB002/01: Mon 10:00–11:50 Virtuální místnost, V. Řehák
IB002/02: Mon 14:00–15:50 Virtuální místnost, V. Řehák
IB002/03: Mon 16:00–17:50 Virtuální místnost, N. Beneš
IB002/04: Mon 16:00–17:50 Virtuální místnost, A. Čermák
IB002/05: Tue 8:00–9:50 Virtuální místnost, J. Obdržálek
IB002/06: Tue 10:00–11:50 Virtuální místnost, J. Obdržálek
IB002/07: Tue 10:00–11:50 Virtuální místnost, M. Staník
IB002/08: Tue 12:00–13:50 Virtuální místnost, J. Balabán
IB002/09: Tue 14:00–15:50 Virtuální místnost, M. Pavlík
IB002/10: Tue 16:00–17:50 Virtuální místnost, M. Švidroňová
IB002/101: No timetable has been entered into IS.
IB002/102: No timetable has been entered into IS.
IB002/103: No timetable has been entered into IS.
IB002/104: No timetable has been entered into IS.
IB002/105: No timetable has been entered into IS.
IB002/106: No timetable has been entered into IS.
IB002/107: No timetable has been entered into IS.
IB002/108: No timetable has been entered into IS.
IB002/109: No timetable has been entered into IS.
IB002/11: Wed 8:00–9:50 Virtuální místnost, M. Focko
IB002/110: No timetable has been entered into IS.
IB002/111: No timetable has been entered into IS.
IB002/112: No timetable has been entered into IS.
IB002/113: No timetable has been entered into IS.
IB002/114: No timetable has been entered into IS.
IB002/115: No timetable has been entered into IS.
IB002/116: No timetable has been entered into IS.
IB002/117: No timetable has been entered into IS.
IB002/118: No timetable has been entered into IS.
IB002/119: No timetable has been entered into IS.
IB002/12: Wed 16:00–17:50 Virtuální místnost, N. Beneš
IB002/120: No timetable has been entered into IS.
IB002/13: Wed 16:00–17:50 Virtuální místnost, M. Švidroňová
IB002/14: Thu 10:00–11:50 Virtuální místnost, J. Barnat
IB002/15: Thu 10:00–11:50 Virtuální místnost, J. Plhák
IB002/16: Thu 14:00–15:50 Virtuální místnost, V. Řehák
IB002/17: Thu 14:00–15:50 Virtuální místnost, J. Šárník
IB002/18: Thu 18:00–19:50 Virtuální místnost, N. Juračková, J. Koniarik
IB002/19: Fri 10:00–11:50 Virtuální místnost, J. Plhák
IB002/20: Fri 12:00–13:50 Virtuální místnost, M. Pavlík
Prerequisites
IB001 Intro to Prog. using C || IB111 Foundations of Programming || IB999 Programming Test
The students should comprehend the basic notions on the level of IB111 Introduction to Programming and IB000 Mathematical Foundations of Computer Science Students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) in Python, know principles of recursion, and several basic algorithms. Students should know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph including their applications in informatics.
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 58 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algorithms. Students implement their algorithms in programming language Python.
Learning outcomes
After enrolling the course students are able to:
- actively use and modify basic sorting algorithms and graph algorithms,
- actively used basic techniques for designing algorithms (divide et impera, recursion) and design simple algorithms,
- actively used and modify basic static and dynamic data structures,
- employ time complexity and correctness of algorithms,
- analyze time complexity and prove the correctness of simple iterative and recursive algorithms,
- implement algorithms in the selected programming language (Python).
Syllabus
  • Basic analysis of algorithms: The correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Algorithm design techniques. Divide et impera and recursive algorithms.
  • Fundamental data structures: lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees, balanced trees (B trees, Red-black trees).
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for the time complexity of sorting.
  • Graphs and their representation. Graph search. Depth-first traversal, topological sort, strongly connected components. Breadth-first traversal, bipartite graphs. Shortest paths, algorithm Bellman-Ford, Dijkstra's algorithm.
Literature
    required literature
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    recommended literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Teaching methods
The course is organized as a series of lectures accompanied by exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2020
Extent and Intensity
2/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
Mgr. Jakub Balabán (seminar tutor)
prof. RNDr. Jiří Barnat, Ph.D. (seminar tutor)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
Bc. Andrej Čermák (seminar tutor)
Bc. Matej Focko (seminar tutor)
Mgr. Jan Horáček (seminar tutor)
Mgr. Nastasia Juračková (seminar tutor)
Mgr. Adam Kabela, Ph.D. (seminar tutor)
Mgr. Jan Koniarik (seminar tutor)
Mgr. Martin Kurečka (seminar tutor)
Mgr. Alexander Macinský (seminar tutor)
Mgr. Kristína Miklášová (seminar tutor)
doc. RNDr. Petr Novotný, Ph.D. (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
Bc. Matěj Pavlík (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Mgr. Anna Řechtáčková (seminar tutor)
Bc. Michal Staník (seminar tutor)
Bc. Jakub Šárník (seminar tutor)
Mgr. Mária Švidroňová (seminar tutor)
Mgr. Tatiana Zbončáková (seminar tutor)
Mgr. Matěj Žáček (seminar tutor)
Mgr. Lukáš Korenčik (assistant)
RNDr. Henrich Lauko, Ph.D. (assistant)
Guaranteed by
prof. RNDr. Ivana Černá, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Mon 17. 2. to Thu 7. 5. Thu 8:00–9:50 D1, Thu 8:00–9:50 D3
  • Timetable of Seminar Groups:
IB002/konzultace01: Mon 17. 2. to Fri 15. 5. Mon 10:00–11:50 A417, M. Focko, A417 Po 10-12, Nepřihlašuje se, není cvičení, ale dobrovolná konzultace.
IB002/konzultace02: Mon 17. 2. to Fri 15. 5. Tue 10:00–11:50 A417, A. Řechtáčková, A417 Ut 10-12, Nepřihlašuje se, není cvičení, ale dobrovolná konzultace.
IB002/konzultace03: Mon 17. 2. to Fri 15. 5. Tue 14:00–15:50 A417, A. Čermák, A417 Ut 14-16, Nepřihlašuje se, není cvičení, ale dobrovolná konzultace.
IB002/01: Mon 17. 2. to Fri 15. 5. Mon 10:00–11:50 A318, V. Řehák
IB002/02: Mon 17. 2. to Fri 15. 5. Mon 14:00–15:50 A319, V. Řehák
IB002/03: Mon 17. 2. to Fri 15. 5. Mon 16:00–17:50 A218, J. Obdržálek
IB002/04: Mon 17. 2. to Fri 15. 5. Mon 18:00–19:50 A218, N. Juračková, J. Koniarik
IB002/05: Mon 17. 2. to Fri 15. 5. Tue 8:00–9:50 A218, V. Řehák
IB002/06: Mon 17. 2. to Fri 15. 5. Tue 8:00–9:50 B411, H. Lauko, M. Žáček
IB002/07: Mon 17. 2. to Fri 15. 5. Tue 16:00–17:50 A320, M. Pavlík
IB002/08: Mon 17. 2. to Fri 15. 5. Tue 18:00–19:50 A218, M. Švidroňová
IB002/09: Mon 17. 2. to Fri 15. 5. Wed 8:00–9:50 A218, J. Obdržálek
IB002/10: Mon 17. 2. to Fri 15. 5. Wed 10:00–11:50 A218, J. Obdržálek
IB002/11: Mon 17. 2. to Fri 15. 5. Wed 12:00–13:50 A320, M. Kurečka
IB002/12: Mon 17. 2. to Fri 15. 5. Wed 12:00–13:50 A218, P. Novotný
IB002/13: Mon 17. 2. to Fri 15. 5. Wed 14:00–15:50 A218, P. Novotný
IB002/14: Mon 17. 2. to Fri 15. 5. Wed 18:00–19:50 A320, J. Koniarik, A. Macinský
IB002/15: Mon 17. 2. to Fri 15. 5. Thu 10:00–11:50 A217, J. Barnat
IB002/16: Mon 17. 2. to Thu 7. 5. Thu 14:00–15:50 A217, T. Zbončáková
IB002/17: Mon 17. 2. to Fri 15. 5. Thu 16:00–17:50 A217, T. Zbončáková
IB002/18: Mon 17. 2. to Thu 7. 5. Thu 16:00–17:50 A218, M. Švidroňová
IB002/19: Mon 17. 2. to Fri 15. 5. Thu 18:00–19:50 A217, A. Kabela
IB002/20: Mon 17. 2. to Fri 15. 5. Fri 10:00–11:50 A218, J. Horáček
IB002/21: Mon 17. 2. to Fri 15. 5. Fri 12:00–13:50 A218, J. Plhák
Prerequisites
IB001 Intro to Prog. using C || IB111 Foundations of Programming || IB999 Programming Test
The students should comprehend the basic notions on the level of IB111 Introduction to Programming and IB000 Mathematical Foundations of Computer Science Students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) in Python, know principles of recursion, and several basic algorithms. Students should know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph including their applications in informatics.
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 58 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algorithms. Students implement their algorithms in programming language Python.
Learning outcomes
After enrolling the course students are able to:
- actively use and modify basic sorting algorithms and graph algorithms,
- actively used basic techniques for designing algorithms (divide et impera, recursion) and design simple algorithms,
- actively used and modify basic static and dynamic data structures,
- employ time complexity and correctness of algorithms,
- analyze time complexity and prove the correctness of simple iterative and recursive algorithms,
- implement algorithms in the selected programming language (Python).
Syllabus
  • Basic analysis of algorithms: The correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Algorithm design techniques. Divide et impera and recursive algorithms.
  • Fundamental data structures: lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees, balanced trees (B trees, Red-black trees).
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for the time complexity of sorting.
  • Graphs and their representation. Graph search. Depth-first traversal, topological sort, strongly connected components. Breadth-first traversal, bipartite graphs. Shortest paths, algorithm Bellman-Ford, Dijkstra's algorithm.
Literature
    required literature
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    recommended literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Teaching methods
The course is organized as a series of lectures accompanied by exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2020/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2018/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2019
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
doc. RNDr. Tomáš Brázdil, Ph.D. (seminar tutor)
RNDr. Tomáš Effenberger, Ph.D. (seminar tutor)
Mgr. Jan Horáček (seminar tutor)
Mgr. Jan Koniarik (seminar tutor)
RNDr. Henrich Lauko, Ph.D. (seminar tutor)
Mgr. Adam Matoušek (seminar tutor)
doc. RNDr. Petr Novotný, Ph.D. (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
Mgr. Juraj Pančík (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Mgr. Mária Švidroňová (seminar tutor)
RNDr. Bc. Dominik Velan, Ph.D. (seminar tutor)
Mgr. Viktória Vozárová (seminar tutor)
Mgr. Tatiana Zbončáková (seminar tutor)
Mgr. Lukáš Korenčik (assistant)
RNDr. Henrich Lauko, Ph.D. (assistant)
Mgr. Miloslav Staněk (assistant)
RNDr. Vladimír Štill, Ph.D. (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 21. 2. to Thu 9. 5. Thu 14:00–15:50 D3, Thu 14:00–15:50 D1
  • Timetable of Seminar Groups:
IB002/konzultace01: Mon 10:00–11:40 A417, J. Horáček, Nepřihlašuje se, není cvičení, ale dobrovolná konzultace.
IB002/konzultace02: Mon 17:00–18:40 A417, T. Zbončáková, Bude i 17. a 24. 4. a 15. 5. od 9 do 11 v A417.
IB002/konzultace03: Tue 13:00–14:40 A417, A. Matoušek, Nepřihlašuje se, není cvičení, ale dobrovolná konzultace.
IB002/01: Mon 18. 2. to Mon 13. 5. Mon 8:00–9:50 A319, V. Řehák
IB002/02: Mon 18. 2. to Mon 13. 5. Mon 12:00–13:50 A218, P. Novotný
IB002/03: Mon 18. 2. to Mon 13. 5. Mon 14:00–15:50 A318, N. Beneš
IB002/04: Mon 18. 2. to Mon 13. 5. Mon 16:00–17:50 A320, J. Obdržálek
IB002/05: Mon 18. 2. to Tue 14. 5. Tue 8:00–9:50 A218, J. Obdržálek
IB002/06: Tue 19. 2. to Tue 14. 5. Tue 8:00–9:50 C511, J. Horáček
IB002/07: Tue 19. 2. to Tue 14. 5. Tue 10:00–11:50 A218, J. Obdržálek
IB002/08: Tue 19. 2. to Tue 14. 5. Tue 10:00–11:50 A318, T. Zbončáková
IB002/09: Tue 19. 2. to Tue 14. 5. Tue 12:00–13:50 A217, V. Vozárová
IB002/10: Tue 19. 2. to Tue 14. 5. Tue 12:00–13:50 A218, J. Pančík
IB002/11: Tue 19. 2. to Tue 14. 5. Tue 14:00–15:50 A217, V. Vozárová
IB002/12: Tue 19. 2. to Tue 14. 5. Tue 14:00–15:50 A319, T. Zbončáková
IB002/13: Tue 19. 2. to Tue 14. 5. Tue 18:00–19:50 A319, J. Pančík
IB002/14: Wed 20. 2. to Wed 15. 5. Wed 8:00–9:50 A218, J. Plhák
IB002/15: Wed 20. 2. to Wed 15. 5. Wed 8:00–9:50 B410, P. Novotný
IB002/16: Wed 20. 2. to Wed 15. 5. Wed 10:00–11:50 A318, P. Novotný
IB002/17: Wed 20. 2. to Wed 15. 5. Wed 12:00–13:50 A218, J. Plhák
IB002/18: Wed 20. 2. to Wed 15. 5. Wed 14:00–15:50 A218, V. Řehák
IB002/19: Wed 20. 2. to Wed 15. 5. Wed 16:00–17:50 A319, T. Effenberger
IB002/20: Thu 21. 2. to Thu 16. 5. Thu 8:00–9:50 B411, D. Velan
IB002/21: Thu 21. 2. to Thu 16. 5. Thu 16:00–17:50 A320, J. Koniarik
IB002/22: Fri 22. 2. to Fri 17. 5. Fri 8:00–9:50 A320, D. Velan
IB002/23: Fri 22. 2. to Fri 17. 5. Fri 10:00–11:50 B410, T. Brázdil
IB002/24: Fri 22. 2. to Fri 17. 5. Fri 12:00–13:50 A218, M. Švidroňová
Prerequisites
IB001 Intro to Prog. using C || IB111 Foundations of Programming || IB999 Programming Test
The students should comprehend the basic notions on the level of IB111 Introduction to Programming and IB000 Mathematical Foundations of Computer Science Students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) in Python, know principles of recursion, and several basic algorithms. Students should know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph including their applications in informatics.
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 21 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algorithms. Students implement their algorithms in programming language Python.
Learning outcomes
After enrolling the course students are able to:
- actively use and modify basis sorting algorithms and graph algorithms,
- actively used basic techniques for designing algorithms (divide et impera, recursion) and design simple algorithms,
- actively used and modify basic static and dynamic data structures,
- employ time complexity and correctness of algorithms,
- analyze time complexity and prove correctness of simple iterative and recursive algorithms,
- implement algorithms in the selected programming language (Python).
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Algorithm design techniques. Divide et impera and recursive algorithms.
  • Fundamental data structures: lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees, balanced trees (B trees, Red-black trees).
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Graphs and their representation. Graph search. Depth-first traversal, topological sort, strongly connected components. Breath-first traversal, bipartite graphs. Shortest paths, algorithm Bellman - Ford, Dijkstra's algorithm.
Literature
    required literature
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    recommended literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Teaching methods
The course is organized as a series of lectures accompanied with exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2019/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2019/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2018
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
RNDr. František Blahoudek, Ph.D. (seminar tutor)
doc. RNDr. Tomáš Brázdil, Ph.D. (seminar tutor)
Mgr. Radka Cieslarová (seminar tutor)
doc. RNDr. Vlastislav Dohnal, Ph.D. (seminar tutor)
Mgr. Jan Horáček (seminar tutor)
Mgr. Jan Koniarik (seminar tutor)
Mgr. Karel Kubíček (seminar tutor)
RNDr. Henrich Lauko, Ph.D. (seminar tutor)
doc. RNDr. Tomáš Masopust, Ph.D., DSc. (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
RNDr. Filip Opálený (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
Bc. Miriama Rajčanová (seminar tutor)
Bc. Oliver Roch (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Mgr. Bc. Kateřina Sloupová (seminar tutor)
Mgr. Miloslav Staněk (seminar tutor)
RNDr. Bc. Dominik Velan, Ph.D. (seminar tutor)
Mgr. Viktória Vozárová (seminar tutor)
Mgr. Tatiana Zbončáková (seminar tutor)
Mgr. Adam Matoušek (assistant)
Bc. Mikoláš Stuchlík (assistant)
RNDr. Vladimír Štill, Ph.D. (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 14:00–15:50 D1, Thu 14:00–15:50 D3
  • Timetable of Seminar Groups:
IB002/konzultace01: Mon 14:00–15:40 A420, J. Koniarik, pondeli 14-16 v A420
IB002/konzultace02: Tue 10:00–11:40 A420, T. Zbončáková, utery 10-12 v A420
IB002/konzultace03: Tue 14:00–15:40 A420, J. Horáček, utery 14-16 v A420
IB002/01: Mon 8:00–9:50 A218, V. Řehák
IB002/02: Mon 10:00–11:50 A218, V. Řehák
IB002/03: Mon 12:00–13:50 A218, J. Obdržálek
IB002/04: Mon 12:00–13:50 A318, M. Rajčanová, T. Zbončáková
IB002/05: Mon 14:00–15:50 A319, O. Roch
IB002/06: Mon 14:00–15:50 B204, J. Horáček
IB002/07: Mon 16:00–17:50 B411, J. Koniarik, M. Staněk
IB002/08: Mon 18:00–19:50 B410, R. Cieslarová, K. Sloupová
IB002/09: Tue 8:00–9:50 B411, V. Vozárová
IB002/10: Tue 10:00–11:50 B411, V. Dohnal
IB002/11: Tue 14:00–15:50 B411, J. Koniarik, M. Staněk
IB002/12: Wed 10:00–11:50 A318, J. Obdržálek
IB002/13: Wed 10:00–11:50 B411, H. Lauko
IB002/14: Wed 12:00–13:50 A217, V. Vozárová
IB002/15: Wed 12:00–13:50 C511, R. Cieslarová
IB002/16: Wed 14:00–15:50 A218, J. Obdržálek
IB002/17: Wed 16:00–17:50 B204, K. Sloupová
IB002/18: Thu 16:00–17:50 A318, N. Beneš
IB002/19: Fri 8:00–9:50 B411, T. Masopust
IB002/20: Fri 8:00–9:50 B204, D. Velan
IB002/21: Fri 10:00–11:50 B204, D. Velan
IB002/22: Fri 10:00–11:50 B410, T. Brázdil
Prerequisites
IB001 Intro to Prog. using C || IB111 Foundations of Programming || IB999 Programming Test
The students should comprehend the basic notions on the level of IB111 Introduction to Programming and IB000 Mathematical Foundations of Computer Science Students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) in Python, know principles of recursion, and several basic algorithms. Students should know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph including their applications in informatics.
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 21 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algorithms. Students implement their algorithms in programming language Python.
Learning outcomes
After enrolling the course students are able to:
- actively use and modify basis sorting algorithms and graph algorithms,
- actively used basic techniques for designing algorithms (divide et impera, recursion) and design simple algorithms,
- actively used and modify basic static and dynamic data structures,
- employ time complexity and correctness of algorithms,
- analyze time complexity and prove correctness of simple iterative and recursive algorithms,
- implement algorithms in the selected programming language (Python).
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Algorithm design techniques. Divide et impera and recursive algorithms.
  • Fundamental data structures: lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees, balanced trees (B trees, Red-black trees).
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Graphs and their representation. Graph search. Depth-first traversal, topological sort, strongly connected components. Breath-first traversal, bipartite graphs. Shortest paths, algorithm Bellman - Ford, Dijkstra's algorithm.
Literature
    required literature
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    recommended literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Teaching methods
The course is organized as a series of lectures accompanied with exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2019/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2019/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2017
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
Mgr. Michaela Balážová (seminar tutor)
Mgr. Peter Benčík (seminar tutor)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
RNDr. František Blahoudek, Ph.D. (seminar tutor)
doc. RNDr. Tomáš Brázdil, Ph.D. (seminar tutor)
Mgr. Radka Cieslarová (seminar tutor)
RNDr. Jaroslav Čechák, Ph.D. (seminar tutor)
Mgr. Jakub Hančin (seminar tutor)
Mgr. Barbora Kompišová (seminar tutor)
Mgr. Jan Koniarik (seminar tutor)
Mgr. Karel Kubíček (seminar tutor)
RNDr. Henrich Lauko, Ph.D. (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
RNDr. Filip Opálený (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Mgr. Bc. Kateřina Sloupová (seminar tutor)
Mgr. Ján Štefkovič (seminar tutor)
RNDr. Bc. Dominik Velan, Ph.D. (seminar tutor)
Mgr. Viktória Vozárová (seminar tutor)
Mgr. Zuzana Baranová (assistant)
Mgr. Tadeáš Kučera (assistant)
Mgr. et Mgr. Dominika Lauko (assistant)
Mgr. Adam Matoušek (assistant)
Bc. Miriama Rajčanová (assistant)
Mgr. Miloslav Staněk (assistant)
Mgr. Alena Zahradníčková (assistant)
Mgr. Tatiana Zbončáková (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 14:00–15:50 D1, Thu 14:00–15:50 D3
  • Timetable of Seminar Groups:
IB002/konzultace01: Mon 17:00–18:50 A420, P. Benčík
IB002/konzultace02: Tue 16:00–17:50 A420, P. Benčík
IB002/konzultace03: Fri 8:00–9:50 A420, B. Kompišová
IB002/T01: Wed 22. 2. to Mon 22. 5. Wed 14:15–16:40 118, J. Koniarik, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/01: Mon 8:00–9:50 A218, V. Řehák
IB002/02: Mon 12:00–13:50 A320, F. Blahoudek
IB002/03: Mon 14:00–15:50 C416, J. Obdržálek
IB002/04: Mon 18:00–19:50 A319, J. Čechák
IB002/05: Tue 10:00–11:50 A218, J. Koniarik
IB002/06: Tue 10:00–11:50 B411, T. Brázdil
IB002/07: Tue 12:00–13:50 C416, J. Obdržálek
IB002/08: Tue 14:00–15:50 C416, V. Vozárová
IB002/09: Tue 16:00–17:50 B410, M. Balážová, J. Štefkovič
IB002/10: Tue 18:00–19:50 B410, R. Cieslarová, K. Sloupová
IB002/11: Wed 8:00–9:50 B411, J. Plhák
IB002/12: Wed 10:00–11:50 A217, except Wed 17. 5. ; and Wed 17. 5. 10:00–11:50 C416, J. Hančin
IB002/13: Wed 12:00–13:50 C525, F. Opálený
IB002/14: Wed 18:00–19:50 C525, D. Velan
IB002/15: Thu 12:00–13:50 A320, K. Kubíček
IB002/16: Thu 16:00–17:50 A218, F. Blahoudek
IB002/17: Thu 16:00–17:50 B410, J. Plhák
IB002/18: Thu 16:00–17:50 C525, N. Beneš
IB002/19: Thu 18:00–19:50 C416, F. Opálený
IB002/20: Fri 8:00–9:50 C416, V. Vozárová
IB002/21: Fri 10:00–11:50 C511, J. Obdržálek
Prerequisites
IB001 Intro to Prog. using C || IB111 Introduction to Programming || IB999 Programming Test
The students should comprehend the basic notions on the level of IB111 Introduction to Programming. Students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) in Python and know several basic algorithms.
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 21 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algoritms.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Algorithm design techniques. Divide et impera and recursive algorithms.
  • Fundamental data structures: lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees, balanced trees (B trees, Red-black trees).
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Graphs and their representation. Graph search. Depth-first traversal, topological sort, strongly connected components. Breath-first traversal, bipartite graphs. Shortest paths, algorithm Bellman - Ford, Dijkstra's algorithm.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Teaching methods
The course is organized as a series of lectures accompanied with exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2017/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2017/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2016
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
RNDr. Peter Bezděk, Ph.D. (seminar tutor)
RNDr. František Blahoudek, Ph.D. (seminar tutor)
Mgr. Bc. Tomáš Janík (seminar tutor)
Mgr. Jan Ježek (seminar tutor)
RNDr. Henrich Lauko, Ph.D. (seminar tutor)
Bc. Tomáš Novotný (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
RNDr. Filip Opálený (seminar tutor)
Kristýna Pavlíčková (seminar tutor)
RNDr. Jaromír Plhák, Ph.D. (seminar tutor)
RNDr. Kristína Pšorn Zákopčanová (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Mgr. Tomáš Zábojník (seminar tutor)
Mgr. Peter Benčík (assistant)
Mgr. Jan Koniarik (assistant)
Mgr. Karel Kubíček (assistant)
RNDr. Jan Mrázek (assistant)
RNDr. Vladimír Ulman, Ph.D. (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Mon 12:00–13:50 D3, Mon 12:00–13:50 D1
  • Timetable of Seminar Groups:
IB002/K21: Thu 16:00–17:50 B204, T. Novotný
IB002/T01: Tue 23. 2. to Fri 20. 5. Tue 15:45–17:20 106, T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/T02: Wed 24. 2. to Fri 20. 5. Wed 14:10–16:35 106, T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/01: Mon 8:00–9:50 B410, J. Plhák
IB002/02: Mon 10:00–11:50 A318, F. Blahoudek
IB002/03: Mon 14:00–15:50 A319, K. Pavlíčková
IB002/04: Mon 16:00–17:50 A217, J. Obdržálek
IB002/05: Mon 16:00–17:50 A218, H. Lauko
IB002/06: Mon 18:00–19:50 A318, N. Beneš
IB002/07: Tue 10:00–11:50 A218, F. Blahoudek
IB002/08: Tue 10:00–11:50 B410, F. Opálený
IB002/09: Tue 14:00–15:50 B204, H. Lauko
IB002/10: Tue 16:00–17:50 B204, P. Bezděk
IB002/11: Tue 16:00–17:50 B410, J. Obdržálek
IB002/12: Tue 18:00–19:50 A218, T. Zábojník
IB002/13: Wed 8:00–9:50 C511, J. Ježek
IB002/14: Wed 12:00–13:50 A319, V. Řehák
IB002/15: Wed 12:00–13:50 B410, T. Novotný
IB002/16: Wed 14:00–15:50 A218, N. Beneš
IB002/17: Wed 16:00–17:50 B410, F. Opálený
IB002/18: Wed 18:00–19:50 B410, P. Bezděk
IB002/19: Thu 8:00–9:50 B410, J. Ježek
IB002/20: Thu 10:00–11:50 A318, J. Obdržálek
IB002/22: Fri 8:00–9:50 B410, K. Pšorn Zákopčanová
IB002/23: Fri 10:00–11:50 A217, K. Pšorn Zákopčanová
Prerequisites
IB001 Intro to Prog. using C || IB111 Intro to Programming || IB999 Programming Test
The students should comprehend the basic notions on the level of IB001 Introduction to Programming using C or IB111 Introduction to Programing using Python. 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.
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 21 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algoritms.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Fundamental data structures: Lists, queues. Binary heaps, representation of sets. Binary search trees, balanced trees.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first traversal, topological sort, strongly connected components. Breath-first traversal, Dijkstra's algorithm.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Teaching methods
The course is organized as a series of lectures accompanied with exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2016/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2016/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2015
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
RNDr. Jaroslav Bendík, Ph.D. (seminar tutor)
RNDr. Peter Bezděk, Ph.D. (seminar tutor)
RNDr. František Blahoudek, Ph.D. (seminar tutor)
Mgr. Bc. Tomáš Janík (seminar tutor)
Mgr. Marek Klučár (seminar tutor)
Mgr. Karel Kubíček (seminar tutor)
RNDr. Henrich Lauko, Ph.D. (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
RNDr. Kristína Pšorn Zákopčanová (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Mgr. Ondřej Slámečka (seminar tutor)
RNDr. Vladimír Ulman, Ph.D. (seminar tutor)
RNDr. Nikola Beneš, Ph.D. (assistant)
RNDr. Filip Opálený (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Mon 12:00–13:50 D3, Mon 12:00–13:50 D1, Fri 12:00–13:50 D2
  • Timetable of Seminar Groups:
IB002/N01: Mon 14:00–15:50 A319, V. Řehák
IB002/N03: Mon 18:00–19:50 B410, O. Slámečka
IB002/N04: Tue 8:00–9:50 A217, K. Pšorn Zákopčanová
IB002/N05: Tue 12:00–13:50 A218, V. Řehák
IB002/N06: Tue 16:00–17:50 B204, J. Bendík
IB002/N07: Wed 10:00–11:50 A318, K. Pšorn Zákopčanová
IB002/N08: Wed 16:00–17:50 A319, T. Janík
IB002/N09: Wed 18:00–19:50 A319, T. Janík
IB002/N10: Wed 18:00–19:50 B410, H. Lauko
IB002/N11: Thu 8:00–9:50 B410, K. Kubíček
IB002/N12: Thu 12:00–13:50 A218, O. Slámečka
IB002/N13: Thu 16:00–17:50 A218, F. Blahoudek
IB002/N14: Thu 18:00–19:50 B410, H. Lauko
IB002/N15: Thu 14:00–15:50 B410, F. Blahoudek
IB002/N16: Fri 10:00–11:50 A218, J. Bendík
IB002/P01: Mon 14:00–15:50 A215, V. Ulman
IB002/P02: Tue 10:00–11:50 A215, V. Ulman
IB002/P03: Tue 12:00–13:50 A215, M. Klučár
IB002/P04: Tue 16:00–17:50 A219, P. Bezděk
IB002/P05: Wed 10:00–11:50 A215, M. Klučár
IB002/P06: Wed 14:00–15:50 B311, J. Obdržálek
IB002/P07: Thu 12:00–13:50 A219, J. Obdržálek
IB002/P08: Thu 16:00–17:50 A219, P. Bezděk
IB002/P09: Thu 18:00–19:50 A219, M. Klučár
IB002/P10: Mon 16:00–17:50 A215, K. Kubíček
IB002/T01: Mon 16. 2. to Fri 15. 5. Mon 8:00–9:35 117, Thu 19. 2. to Fri 15. 5. Tue 14:35–16:10 105, T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
Prerequisites
IB001 Intro to Prog. using C || IB111 Intro to Programming || IB999 Programming Test
The students should comprehend the basic notions on the level of IB001 Introduction to Programming using C or IB111 Introduction to Programing using Python. 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.
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 21 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algoritms.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Fundamental data structures: Lists, queues. Binary heaps, representation of sets. Binary search trees, balanced trees.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first traversal, topological sort, strongly connected components. Breath-first traversal, Dijkstra's algorithm.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Teaching methods
The course is organized as a series of lectures accompanied with exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2014/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2015/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2014
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Ivana Černá, CSc. (lecturer)
RNDr. Peter Bezděk, Ph.D. (seminar tutor)
Mgr. Lukáš Ďurovský (seminar tutor)
Mgr. Bc. Tomáš Janík (seminar tutor)
Mgr. Miroslav Klimoš (seminar tutor)
Mgr. Marek Klučár (seminar tutor)
Mgr. Michal Kotrbčík, Ph.D. (seminar tutor)
Mgr. Karel Kubíček (seminar tutor)
RNDr. Henrich Lauko, Ph.D. (seminar tutor)
Mgr. Matúš Madzin (seminar tutor)
doc. Mgr. Jan Obdržálek, PhD. (seminar tutor)
Alexandru Popa, Ph.D. (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
doc. RNDr. David Svoboda, Ph.D. (seminar tutor)
RNDr. Vladimír Ulman, Ph.D. (seminar tutor)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 10:00–11:50 D1, Thu 10:00–11:50 D3
  • Timetable of Seminar Groups:
IB002/NA13: Mon 18:00–19:50 G123, A. Popa
IB002/NA14: Wed 16:00–17:50 G125, A. Popa
IB002/N01: Tue 18:00–19:50 B410, L. Ďurovský
IB002/N02: Mon 16:00–17:50 G124, L. Ďurovský
IB002/N03: Mon 18:00–19:50 G126, L. Ďurovský
IB002/N04: Thu 16:00–17:50 G124, V. Ulman
IB002/N05: Mon 10:00–11:50 G125, V. Ulman
IB002/N06: Thu 8:00–9:50 G123, D. Svoboda
IB002/N07: Tue 16:00–17:50 G125, M. Madzin
IB002/N08: Tue 18:00–19:50 G125, M. Madzin
IB002/N09: Wed 14:00–15:50 G125, V. Řehák
IB002/N10: Thu 12:00–13:50 G123, V. Řehák
IB002/N11: Tue 18:00–19:50 G126, M. Kotrbčík
IB002/N12: Fri 12:00–13:50 G125, M. Kotrbčík
IB002/P01: Mon 8:00–9:50 B204, M. Klučár
IB002/P02: Mon 10:00–11:50 B204, M. Klučár
IB002/P03: Tue 12:00–13:50 B204, J. Obdržálek
IB002/P04: Tue 14:00–15:50 B204, J. Obdržálek
IB002/P05: Tue 8:00–9:50 B204, M. Klimoš
IB002/P06: Tue 10:00–11:50 B204, M. Klimoš
IB002/P07: Tue 16:00–17:50 B311, P. Bezděk
IB002/P08: Mon 14:00–15:50 B204, P. Bezděk
IB002/T01: Tue 18. 2. to Sat 31. 5. Tue 8:00–9:35 Učebna S8 (17), Wed 19. 2. to Sat 31. 5. Wed 8:00–9:35 Učebna S8 (17), T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/T02: Mon 17. 2. to Sun 25. 5. Mon 12:15–14:35 Učebna S9 (55), T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
Prerequisites
IB001 Intro to Prog. using C || IB111 Intro to Programming || IB999 Programming Test
The students should comprehend the basic notions on the level of IB001 Introduction to Programming using C or IB111 Introduction to Programing using Python, and IB000 Mathematical Foundations of Computer Science. 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. Students should also know the basic mathematical notions as presented through IB000. A programming test in either C or Python is a part of the final exam.
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 20 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algoritms.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
  • Fundamental data structures: Lists, queues. Binary heaps, representation of sets. Binary search trees, balanced trees.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first traversal, topological sort, strongly connected components. Breath-first traversal, Dijkstra's algorithm.
Literature
    required literature
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Teaching methods
The course is organized as a series of lectures accompanied with exercises.
Assessment methods
The evaluation consists of written final exam and written exams during the term. Details can be found in learning materials https://is.muni.cz/auth/el/1433/jaro2014/IB002/index.qwarp
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://is.muni.cz/auth/el/1433/jaro2014/IB002/index.qwarp
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Algorithms and data structures I

Faculty of Informatics
Spring 2013
Extent and Intensity
2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
Ing. Mgr. et Mgr. Zdeněk Říha, Ph.D. (lecturer)
RNDr. Libor Škarvada (lecturer)
Mgr. Miroslav Buda (seminar tutor)
Mgr. et Mgr. Martin Derka, M.Sc. (seminar tutor)
RNDr. Pavel Karas, Ph.D. (seminar tutor)
Mgr. Marek Klučár (seminar tutor)
Mgr. Matúš Madzin (seminar tutor)
doc. RNDr. David Svoboda, Ph.D. (seminar tutor)
RNDr. Martin Ukrop, Ph.D. (seminar tutor)
RNDr. Vladimír Ulman, Ph.D. (seminar tutor)
Mgr. Matej Kollár (assistant)
Mgr. Eva Mráková, Ph.D. (assistant)
doc. RNDr. Vojtěch Řehák, Ph.D. (assistant)
Mgr. et Mgr. Tomáš Sklenák (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Mon 16:00–17:50 D2, Mon 16:00–17:50 D1, Mon 16:00–17:50 D3
  • Timetable of Seminar Groups:
IB002/T01: Mon 10:00–12:00 Učebna S6 (20), Thu 10:00–11:55 Učebna S11 (58), M. Derka, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/T02: Wed 16:00–17:55 Učebna S11 (58), M. Klučár, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/T03: Thu 16:00–17:55 Učebna S4 (35a), L. Škarvada, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/T04: Mon 18. 2. to Sun 19. 5. Thu 13:00–14:40 Učebna S8 (17), D. Svoboda
IB002/01: Thu 8:00–9:50 B311, D. Svoboda
IB002/02: Mon 14:00–15:50 B130, M. Ukrop
IB002/03: Thu 18:00–19:50 B204, M. Ukrop
IB002/04: Thu 16:00–17:50 B130, M. Ukrop
IB002/05: Wed 8:00–9:50 B130, M. Klučár
IB002/06: Wed 10:00–11:50 B130, M. Klučár
IB002/07: Wed 14:00–15:50 B130, M. Klučár
IB002/08: Wed 10:00–11:50 G126, M. Derka
IB002/09: Wed 12:00–13:50 G126, M. Derka
IB002/10: Thu 10:00–11:50 G126, M. Madzin
IB002/11: Tue 8:00–9:50 G101, V. Ulman
IB002/12: Tue 10:00–11:50 G101, V. Ulman
IB002/13: Thu 8:00–9:50 G101, M. Madzin
IB002/14: Tue 16:00–17:50 B204, M. Buda
IB002/15: Tue 14:00–15:50 B130, M. Buda
IB002/16: Thu 14:00–15:50 B204, M. Buda
IB002/17: Thu 16:00–17:50 B204, P. Karas
IB002/18: Thu 14:00–15:50 B130, P. Karas
IB002/19: Tue 18:00–19:50 B204
Prerequisites
The students should comprehend the basic notions (algorithm, computation, data structure) on elementary level.
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 20 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions, application of recursive relations in algorithm analysis.
  • Fundamental data structures: Lists, queues. Binary heaps, representation of sets. Binary search trees, balanced trees.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first traversal, topological sort, strongly connected components. Breath-first traversal, Dijkstra's algorithm. Minimum Spanning Trees.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Teaching methods
The course is organized as a series of lectures accompanied with exercises.
Assessment methods
The evaluation consists of three tests -- midterm test, end-term test, and written final exam.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/~libor/vyuka/IB002/
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Design of Algorithms I

Faculty of Informatics
Spring 2012
Extent and Intensity
2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
RNDr. Libor Škarvada (lecturer)
Mgr. Bc. Matúš Goljer (seminar tutor)
Mgr. Marek Klučár (seminar tutor)
RNDr. Štěpán Kozák (seminar tutor)
Mgr. Matúš Madzin (seminar tutor)
Mgr. Josef Pacula (seminar tutor)
Oldřich Petr (seminar tutor)
RNDr. Tomáš Raček, Ph.D. (seminar tutor)
doc. RNDr. David Svoboda, Ph.D. (seminar tutor)
Mgr. Filip Štefaňák (seminar tutor)
Mgr. Jiří Uhlíř (seminar tutor)
Mgr. Matej Kollár (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Mon 16:00–17:50 D3, Mon 16:00–17:50 D1
  • Timetable of Seminar Groups:
IB002/01: each even Wednesday 10:00–11:50 G101, M. Klučár
IB002/02: each odd Wednesday 10:00–11:50 G101, M. Klučár
IB002/03: each even Tuesday 18:00–19:50 G123, M. Klučár
IB002/04: each odd Tuesday 18:00–19:50 G123, M. Klučár
IB002/05: each even Wednesday 8:00–9:50 G101, J. Pacula
IB002/06: each odd Wednesday 8:00–9:50 G101, J. Pacula
IB002/07: each even Wednesday 16:00–17:50 B204, M. Madzin
IB002/08: each odd Wednesday 16:00–17:50 B204, M. Madzin
IB002/09: each even Wednesday 18:00–19:50 B204, Š. Kozák
IB002/10: each odd Wednesday 18:00–19:50 B204, Š. Kozák
IB002/11: each even Thursday 12:00–13:50 C525, D. Svoboda
IB002/12: each odd Thursday 12:00–13:50 C525, D. Svoboda
IB002/13: each even Thursday 14:00–15:50 C525, F. Štefaňák
IB002/14: each odd Thursday 14:00–15:50 C525, F. Štefaňák
IB002/15: each even Friday 8:00–9:50 C525, J. Uhlíř
IB002/16: each odd Friday 8:00–9:50 C525, T. Raček
IB002/17: each even Friday 10:00–11:50 C525, J. Uhlíř
IB002/18: each odd Friday 10:00–11:50 C525, T. Raček
IB002/19: each even Tuesday 16:00–17:50 G123, M. Goljer
IB002/20: each odd Tuesday 16:00–17:50 G123, M. Goljer
Prerequisites
The students should comprehend the basic notions (algorithm, computation, data structure) on elementary level. Ability to read simple algorithms written in functional and imperative style is beneficial.
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 29 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. It is aimed at proving the correctness of algorithms and their efficiency. Basic algorithmic concepts and constructs are presented without any direct binding to a concrete programming language and without requirements of an immediate program implementation. The goal is to make the students know how to work with the algorithms themselves without any implementation details. It enables to present a broad scope of techniques used in functional, imperative or object-oriented languages.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions, application of recursive relations in algorithm analysis.
  • Fundamental data structures: Lists, pushdown stacks, queues. Binary search trees, balanced trees, representation of sets.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first traversal, topological sort, strongly connected components. Breath-first traversal, Dijkstra's algorithm. Minimum Spanning Trees.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Teaching methods
The course is organized as a series of lectures accompanied with exercises.
Assessment methods
The evaluation consists of two written tests -- midterm and final.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/~libor/vyuka/IB002/
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Design of Algorithms I

Faculty of Informatics
Spring 2011
Extent and Intensity
2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
RNDr. Libor Škarvada (lecturer)
Mgr. Miroslav Buda (seminar tutor)
Mgr. Bc. Matúš Goljer (seminar tutor)
Mgr. Matej Kollár (seminar tutor)
RNDr. Štěpán Kozák (seminar tutor)
Mgr. Matúš Madzin (seminar tutor)
Mgr. Josef Pacula (seminar tutor)
Oldřich Petr (seminar tutor)
doc. RNDr. David Svoboda, Ph.D. (seminar tutor)
Mgr. Marek Trtík, Ph.D. (seminar tutor)
Mgr. Radek Holčák (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Timetable
Mon 16:00–17:50 D1, Mon 16:00–17:50 D3, Mon 16:00–17:50 D2
  • Timetable of Seminar Groups:
IB002/01: each even Friday 8:00–9:50 C525, D. Svoboda
IB002/02: each odd Friday 8:00–9:50 C525, D. Svoboda
IB002/03: each even Wednesday 14:00–15:50 G123, M. Trtík
IB002/04: each odd Wednesday 14:00–15:50 G123, M. Trtík
IB002/05: each even Tuesday 18:00–19:50 G123, Š. Kozák
IB002/06: each odd Tuesday 18:00–19:50 G123, Š. Kozák
IB002/07: each even Wednesday 16:00–17:50 G123, J. Pacula
IB002/08: each odd Wednesday 16:00–17:50 G123, J. Pacula
IB002/09: each even Tuesday 16:00–17:50 G123, M. Kollár
IB002/10: each odd Tuesday 16:00–17:50 G123, M. Kollár
IB002/11: each even Tuesday 8:00–9:50 G123, M. Goljer
IB002/12: each odd Tuesday 8:00–9:50 G123, M. Goljer
IB002/13: each even Thursday 10:00–11:50 G123, M. Buda
IB002/14: each odd Thursday 10:00–11:50 G123, M. Buda
IB002/15: each even Thursday 12:00–13:50 G123, M. Madzin
IB002/16: each odd Thursday 12:00–13:50 G123, M. Madzin
IB002/17: each even Tuesday 16:00–17:50 G101, Š. Kozák
IB002/18: each odd Tuesday 16:00–17:50 G101, Š. Kozák
IB002/19: each even Wednesday 12:00–13:50 G123, M. Trtík
IB002/20: each odd Wednesday 12:00–13:50 G123, M. Trtík
IB002/21: each even Wednesday 18:00–19:50 G123, J. Pacula
IB002/22: each odd Wednesday 18:00–19:50 G123, J. Pacula
Prerequisites
The students should comprehend the basic notions (algorithm, computation, data structure) on elementary level. Ability to read simple algorithms written in functional and imperative style is beneficial.
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 28 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. It is aimed at proving the correctness of algorithms and their efficiency. Basic algorithmic concepts and constructs are presented without any direct binding to a concrete programming language and without requirements of an immediate program implementation. The goal is to make the students know how to work with the algorithms themselves without any implementation details. It enables to present a broad scope of techniques used in functional, imperative or object-oriented languages.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions, application of recursive relations in algorithm analysis.
  • Fundamental data structures: Lists, pushdown stacks, queues. Binary search trees, balanced trees, representation of sets.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first traversal, topological sort, strongly connected components. Breath-first traversal, Dijkstra's algorithm. Minimum Spanning Trees.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Teaching methods
The course is organized as a series of lectures accompanied with exercises.
Assessment methods
The evaluation consists of two written tests -- midterm and final.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/~libor/vyuka/IB002/
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Design of Algorithms I

Faculty of Informatics
Spring 2010
Extent and Intensity
2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
RNDr. Libor Škarvada (lecturer)
Mgr. et Mgr. Martin Derka, M.Sc. (seminar tutor)
Mgr. Matej Kollár (seminar tutor)
RNDr. Štěpán Kozák (seminar tutor)
doc. RNDr. Barbora Kozlíková, Ph.D. (seminar tutor)
Mgr. Matúš Madzin (seminar tutor)
Mgr. Rastislav Mirek (seminar tutor)
Bc. Andrej Pančík (seminar tutor)
doc. RNDr. David Svoboda, Ph.D. (seminar tutor)
Mgr. Filip Štefaňák (seminar tutor)
Mgr. Marek Trtík, Ph.D. (seminar tutor)
Mgr. Radek Holčák (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Timetable
Mon 18:00–19:50 D1, Mon 18:00–19:50 D2, Mon 18:00–19:50 D3
  • Timetable of Seminar Groups:
IB002/01: each even Tuesday 16:00–17:50 B204, M. Kollár
IB002/02: each odd Tuesday 16:00–17:50 B204, M. Kollár
IB002/03: each even Wednesday 16:00–17:50 B410, M. Madzin
IB002/04: each odd Wednesday 16:00–17:50 B410, M. Madzin
IB002/05: each even Thursday 18:00–19:50 B204, F. Štefaňák
IB002/06: each odd Thursday 18:00–19:50 B204, F. Štefaňák
IB002/07: each even Tuesday 8:00–9:50 B204, Š. Kozák
IB002/08: each odd Tuesday 8:00–9:50 B204, Š. Kozák
IB002/09: each even Tuesday 14:00–15:50 B204, B. Kozlíková
IB002/10: each odd Tuesday 14:00–15:50 B204, B. Kozlíková
IB002/11: each even Friday 12:00–13:50 B204, A. Pančík
IB002/12: each odd Friday 12:00–13:50 B204, A. Pančík
IB002/13: each even Friday 8:00–9:50 B204, M. Trtík
IB002/14: each odd Friday 8:00–9:50 B204, R. Mirek
IB002/15: each even Wednesday 14:00–15:50 B204, D. Svoboda
IB002/16: each odd Wednesday 14:00–15:50 B204, D. Svoboda
IB002/17: each even Wednesday 18:00–19:50 B204, M. Derka
IB002/18: each odd Wednesday 18:00–19:50 B204, M. Derka
IB002/19: each odd Wednesday 16:00–17:50 B204, R. Mirek
Prerequisites
The students should comprehend the basic notions (algorithm, computation, data structure) on elementary level. Ability to read simple algorithms written in functional and imperative style is beneficial.
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 26 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. It is aimed at proving the correctness of algorithms and their efficiency. Basic algorithmic concepts and constructs are presented without any direct binding to a concrete programming language and without requirements of an immediate program implementation. The goal is to make the students know how to work with the algorithms themselves without any implementation details. It enables to present a broad scope of techniques used in functional, imperative or object-oriented languages.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions, application of recursive relations in algorithm analysis.
  • Fundamental data structures: Lists, pushdown stacks, queues. Binary search trees, balanced trees, representation of sets.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first and breath-first traversal.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Teaching methods
The course is organized as a series of lectures accompanied with exercises.
Assessment methods
The evaluation consists of two written tests -- midterm and final.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/~libor/vyuka/IB002/
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Design of Algorithms I

Faculty of Informatics
Spring 2009
Extent and Intensity
2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
RNDr. Libor Škarvada (lecturer)
Mgr. et Mgr. Martin Derka, M.Sc. (seminar tutor)
doc. RNDr. Jiří Filipovič, Ph.D. (seminar tutor)
RNDr. Štěpán Kozák (seminar tutor)
doc. RNDr. Barbora Kozlíková, Ph.D. (seminar tutor)
RNDr. Václav Lorenc (seminar tutor)
Mgr. Matúš Madzin (seminar tutor)
doc. RNDr. David Svoboda, Ph.D. (seminar tutor)
Mgr. Filip Štefaňák (seminar tutor)
Mgr. Marek Trtík, Ph.D. (seminar tutor)
Mgr. Radek Holčák (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Timetable
Mon 18:00–19:50 D1, Mon 18:00–19:50 D2, Mon 18:00–19:50 D3
  • Timetable of Seminar Groups:
IB002/01: each even Tuesday 16:00–17:50 B011, V. Lorenc
IB002/02: each odd Tuesday 16:00–17:50 B011, V. Lorenc
IB002/03: each even Thursday 12:00–13:50 B011, M. Derka
IB002/04: each odd Thursday 12:00–13:50 B011, M. Derka
IB002/05: each even Wednesday 8:00–9:50 B011, D. Svoboda
IB002/06: each odd Wednesday 8:00–9:50 B011, D. Svoboda
IB002/07: each even Friday 13:00–14:50 B410, M. Trtík
IB002/08: each odd Friday 13:00–14:50 B410, M. Trtík
IB002/09: each even Wednesday 12:00–13:50 B011, B. Kozlíková
IB002/10: each odd Wednesday 12:00–13:50 B011, M. Madzin
IB002/11: each even Thursday 16:00–17:50 B410, B. Kozlíková
IB002/12: each odd Thursday 16:00–17:50 B410, F. Štefaňák
IB002/13: each even Wednesday 16:00–17:50 B204, J. Filipovič
IB002/14: each odd Wednesday 16:00–17:50 B204, J. Filipovič
IB002/15: each even Wednesday 18:00–19:50 B204, Š. Kozák
IB002/16: each odd Wednesday 18:00–19:50 B204, Š. Kozák
IB002/17: each even Thursday 18:00–19:50 B410, M. Madzin
IB002/18: each odd Thursday 18:00–19:50 B410, F. Štefaňák
Prerequisites
Ability to read and write simple programs in at least one functional and one imperative programming language is required.
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 24 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. It is aimed at proving the correctness of algorithms and their efficiency. Basic algorithmic concepts and constructs are presented without any direct binding to a concrete programming language and without requirements of an immediate program implementation. The goal is to make the students know how to work with the algorithms themselves without any implementation details. It enables to present rather broad scope of techniques used in functional, imperative as well as object-oriented languages.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions, application of recursive relations in algorithm analysis.
  • Fundamental data structures: Lists, pushdown stacks, queues. Binary search trees, balanced trees, representation of sets.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first and breath-first traversal.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Assessment methods
The course is organized as a series of lectures accompanied with exercises. The evaluation consists of three written tests -- two midterm and one final.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/~libor/vyuka/IB002/
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Design of Algorithms I

Faculty of Informatics
Spring 2008
Extent and Intensity
2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
RNDr. Libor Škarvada (lecturer)
RNDr. Filip Andres (seminar tutor)
RNDr. Lukáš Boháč (seminar tutor)
Mgr. et Mgr. Martin Derka, M.Sc. (seminar tutor)
RNDr. Štěpán Kozák (seminar tutor)
doc. RNDr. Barbora Kozlíková, Ph.D. (seminar tutor)
RNDr. Václav Lorenc (seminar tutor)
Mgr. Matúš Madzin (seminar tutor)
prof. RNDr. Jan Strejček, Ph.D. (seminar tutor)
doc. RNDr. David Svoboda, Ph.D. (seminar tutor)
RNDr. Josef Šprojcar, Ph.D. (seminar tutor)
Mgr. Filip Štefaňák (seminar tutor)
Mgr. Marek Trtík, Ph.D. (seminar tutor)
RNDr. Aleš Zlámal (seminar tutor)
Mgr. Radek Holčák (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Timetable
Mon 16:00–17:50 D2, Mon 16:00–17:50 D3, Mon 16:00–17:50 D1
  • Timetable of Seminar Groups:
IB002/01: each even Wednesday 14:00–15:50 A107, J. Strejček
IB002/02: each odd Wednesday 14:00–15:50 A107, J. Strejček
IB002/03: each even Tuesday 12:00–13:50 B011, V. Lorenc
IB002/04: each odd Tuesday 12:00–13:50 B011, V. Lorenc
IB002/05: each even Tuesday 10:00–11:50 B011, B. Kozlíková
IB002/06: each odd Tuesday 10:00–11:50 B011, B. Kozlíková
IB002/07: each even Friday 10:00–11:50 B011, D. Svoboda
IB002/08: each odd Friday 10:00–11:50 B011, D. Svoboda
IB002/09: each even Tuesday 8:00–9:50 B410, F. Andres
IB002/10: each odd Tuesday 8:00–9:50 B410, F. Andres
IB002/11: each even Friday 8:00–9:50 A107, J. Šprojcar
IB002/12: each odd Friday 8:00–9:50 A107, J. Šprojcar
IB002/13: each even Thursday 18:00–19:50 B410, L. Boháč
IB002/14: each odd Thursday 18:00–19:50 B410, L. Boháč
IB002/15: each even Tuesday 16:00–17:50 B204, L. Škarvada
IB002/16: each odd Tuesday 16:00–17:50 B204, L. Boháč
Prerequisites
Ability to read and write simple programs in at least one functional and one imperative programming language is required.
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 23 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. It is aimed at proving the correctness of algorithms and their efficiency. Basic algorithmic concepts and constructs are presented without any direct binding to a concrete programming language and without requirements of an immediate program implementation. The goal is to make the students know how to work with the algorithms themselves without any implementation details. It enables to present rather broad scope of techniques used in functional, imperative as well as object-oriented languages.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions, application of recursive relations in algorithm analysis.
  • Fundamental data structures: Lists, pushdown stacks, queues. Binary search trees, balanced trees, representation of sets.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first and breath-first traversal.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Assessment methods (in Czech)
Zkoušky jsou písemné. Dvě zkoušky budou průběžné (polosemestrální) a jedna závěrečná za celý semestr.
Účast na cvičeních je povinná, neučast je možná pouze ze závažných důvodů. Student může maximálně ve dvou případech navštívit jinou skupinu cvičení, než do které je zapsán. V tomto případě je ale povinen tuto skutečnost nahlásit cvičícímu své seminární skupiny e-mailem a zapsat se na prezenční listinu seminární skupiny, na kterou se dostaví.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/~libor/vyuka/IB002/
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Design of Algorithms I

Faculty of Informatics
Spring 2007
Extent and Intensity
2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
prof. RNDr. Tomáš Pitner, Ph.D. (lecturer)
RNDr. Libor Škarvada (lecturer)
doc. RNDr. Jiří Filipovič, Ph.D. (seminar tutor)
RNDr. Marek Kašík (seminar tutor)
doc. RNDr. Barbora Kozlíková, Ph.D. (seminar tutor)
RNDr. Václav Lorenc (seminar tutor)
doc. RNDr. Martin Maška, Ph.D. (seminar tutor)
doc. RNDr. Pavel Matula, Ph.D. (seminar tutor)
doc. Mgr. Hana Rudová, Ph.D. (seminar tutor)
Mgr. Adriana Strejčková (seminar tutor)
doc. RNDr. David Svoboda, Ph.D. (seminar tutor)
RNDr. Aleš Zlámal (seminar tutor)
Mgr. Radek Holčák (assistant)
RNDr. Filip Andres (alternate examiner)
RNDr. Lukáš Boháč (alternate examiner)
RNDr. Josef Šprojcar, Ph.D. (alternate examiner)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Timetable
Mon 18:00–19:50 D3, Mon 18:00–19:50 D1
  • Timetable of Seminar Groups:
IB002/01: each even Tuesday 10:00–11:50 B011, H. Rudová
IB002/02: each odd Tuesday 10:00–11:50 B011, H. Rudová
IB002/03: each even Tuesday 18:00–19:50 B011, L. Škarvada
IB002/04: each odd Tuesday 18:00–19:50 B011, L. Škarvada
IB002/05: each even Wednesday 12:00–13:50 B011, P. Matula
IB002/06: each odd Wednesday 12:00–13:50 B011, P. Matula
IB002/07: each even Friday 10:00–11:50 C511, D. Svoboda
IB002/08: each odd Friday 10:00–11:50 C511, D. Svoboda
IB002/09: each even Tuesday 16:00–17:50 B007, M. Kašík
IB002/10: each odd Tuesday 16:00–17:50 B007, M. Kašík
IB002/11: each even Wednesday 8:00–9:50 C511, M. Maška
IB002/12: each odd Wednesday 8:00–9:50 C511, M. Maška
IB002/13: each even Thursday 10:00–11:50 C511, V. Lorenc, A. Zlámal
IB002/14: each odd Thursday 10:00–11:50 C511, V. Lorenc, A. Zlámal
IB002/17: each even Thursday 18:00–19:50 B410, B. Kozlíková
IB002/18: each odd Thursday 18:00–19:50 B410, B. Kozlíková
IB002/19: each even Wednesday 18:00–19:50 B003, A. Strejčková
IB002/20: each odd Wednesday 18:00–19:50 B003, J. Filipovič
Prerequisites
Ability to read and write simple programs in at least one functional and one imperative programming language is required.
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 15 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. It is aimed at proving the correctness of algorithms and their efficiency. Basic algorithmic concepts and constructs are presented without any direct binding to a concrete programming language and without requirements of an immediate program implementation. The goal is to make the students know how to work with the algorithms themselves without any implementation details. It enables to present rather broad scope of techniques used in functional, imperative as well as object-oriented languages.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions, application of recursive relations in algorithm analysis.
  • Fundamental data structures: Lists, pushdown stacks, queues. Binary search trees, balanced trees, representation of sets.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for time complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first and breath-first traversal.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Assessment methods (in Czech)
Zkoušky jsou písemné. Dvě zkoušky budou průběžné (polosemestrální) a jedna závěrečná za celý semestr.
Účast na cvičeních je povinná, neučast je možná pouze ze závažných důvodů. Student může maximálně ve dvou případech navštívit jinou skupinu cvičení, než do které je zapsán. V tomto případě je ale povinen tuto skutečnost nahlásit cvičícímu své seminární skupiny e-mailem a zapsat se na prezenční listinu seminární skupiny, na kterou se dostaví.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/~libor/vyuka/IB002/
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Design of Algorithms I

Faculty of Informatics
Spring 2006
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
prof. RNDr. Tomáš Pitner, Ph.D. (lecturer)
RNDr. Libor Škarvada (lecturer)
Mgr. Radek Holčák (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Timetable
Mon 16:00–17:50 D1, Wed 10:00–11:50 D1
  • Timetable of Seminar Groups:
IB002/sc: Wed 13:00–14:50 C502, L. Škarvada
IB002/sp: Tue 18:00–19:50 C502, L. Škarvada
Prerequisites
! I002 Algorithms I &&! I502 Algorithms I
Ability to read and write simple programs in at least one functional and one imperative programming language is required.
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 15 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. It is aimed at proving the correctness of algorithms and their efficiency. Basic algorithmic concepts and constructs are presented without any direct binding to a concrete programming language and without requirements of an immediate program implementation. The goal is to make the students know how to work with the algorithms themselves without any implementation details. It enables to present rather broad scope of techniques used in functional, imperative as well as object-oriented languages.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • The length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time- and space complexity, the growth of functions, application of recursive relations in analysis of algorithms.
  • Fundamental data structures: Lists, pushdown stacks, queues. Binary search trees, balanced trees, representation of sets.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first and breath-first traversal.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Assessment methods (in Czech)
Kurs veden formou přednášek a je ukončen závěrečnou písemnou zkouškou.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/~libor/vyuka/IB002/
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Design of Algorithms I

Faculty of Informatics
Spring 2005
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
prof. RNDr. Tomáš Pitner, Ph.D. (lecturer)
RNDr. Libor Škarvada (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Timetable
Mon 18:00–19:50 D1, Wed 10:00–11:50 D1
Prerequisites
! I002 Algorithms I &&! I502 Algorithms I
Ability to read and write simple programs in at least one functional and one imperative programming language is required.
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 15 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. It is aimed at proving the correctness of algorithms and their efficiency. Basic algorithmic concepts and constructs are presented without any direct binding to a concrete programming language and without requirements of an immediate program implementation. The goal is to make the students know how to work with the algorithms themselves without any implementation details. It enables to present rather broad scope of techniques used in functional, imperative as well as object-oriented languages.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • The length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time- and space complexity, the growth of functions, application of recursive relations in analysis of algorithms.
  • Fundamental data structures: Lists, pushdown stacks, queues. Binary search trees, balanced trees, representation of sets.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first and breath-first traversal.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Assessment methods (in Czech)
Kurs veden formou přednášek a je ukončen závěrečnou písemnou zkouškou.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/~libor/vyuka/IB002/
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Design of Algorithms I

Faculty of Informatics
Spring 2004
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
prof. RNDr. Tomáš Pitner, Ph.D. (lecturer)
RNDr. Libor Škarvada (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Timetable
Wed 16:00–17:50 D1, Thu 10:00–11:50 D1
Prerequisites
! I002 Algorithms I &&! I502 Algorithms I
Ability to read and write simple programs in at least one functional and one imperative programming language is required.
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 17 fields of study the course is directly associated with, display
Course objectives
The course presents basic techniques of the analysis of algorithms, data structures, and operations. It is aimed at proving the correctness of algorithms and their efficiency. Basic algorithmic concepts and constructs are presented without any direct binding to a concrete programming language and without requirements of an immediate program implementation. The goal is to make the students know how to work with the algorithms themselves without any implementation details. It enables to present rather broad scope of techniques used in functional, imperative as well as object-oriented languages.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • The length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time- and space complexity, the growth of functions, application of recursive relations in analysis of algorithms.
  • Fundamental data structures: Lists, pushdown stacks, queues. Binary search trees, balanced trees, representation of sets.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first and breath-first traversal.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Assessment methods (in Czech)
Kurs veden formou přednášek a je ukončen závěrečnou písemnou zkouškou.
Language of instruction
Czech
Follow-Up Courses
Further Comments
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/usr/skarvada/vyuka/IB002/
The course is also listed under the following terms Spring 2003, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.

IB002 Design of Algorithms I

Faculty of Informatics
Spring 2003
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
prof. RNDr. Tomáš Pitner, Ph.D. (lecturer)
RNDr. Libor Škarvada (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Timetable
Tue 10:00–11:50 D1, Tue 18:00–19:50 D1
Prerequisites
! I002 Algorithms I &&! I502 Algorithms I
Ability to read and write simple programs in at least one functional and one imperative programming language is required.
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 presents basic techniques of the analysis of algorithms, data structures, and operations. It is aimed at proving the correctness of algorithms and their efficiency. Basic algorithmic concepts and constructs are presented without any direct binding to a concrete programming language and without requirements of an immediate program implementation. The goal is to make the students know how to work with the algorithms themselves without any implementation details. It enables to present rather broad scope of techniques used in functional, imperative as well as object-oriented languages.
Syllabus
  • Basic analysis of algorithms: Correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
  • The length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time- and space complexity, the growth of functions, application of recursive relations in analysis of algorithms.
  • Fundamental data structures: Lists, pushdown stacks, queues. Hashtables. Binary search trees, balanced trees, representation of sets.
  • Sorting algorithms: quicksort, mergesort, heapsort, lower bound for complexity of sorting.
  • Basic graph structures: Representation of graphs. Depth-first and breath-first traversal.
Literature
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
  • CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Assessment methods (in Czech)
Kurs veden formou přednášek a je ukončen závěrečnou písemnou zkouškou.
Language of instruction
Czech
Follow-Up Courses
Further Comments
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
http://www.fi.muni.cz/usr/skarvada/vyuka/IB002/
The course is also listed under the following terms Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024, Spring 2025.
  • Enrolment Statistics (recent)