Course: Algorithms and Data Structures

» List of faculties » FP » KGD
Course title Algorithms and Data Structures
Course code KGD/ALG
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Semester Summer
Number of ECTS credits 4
Language of instruction Czech
Status of course Compulsory, Compulsory-optional
Form of instruction Face-to-face
Work placements Course does not contain work placement
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Šimůnková Martina, RNDr. Ph.D.
Course content
Lecture: 1. Basic algorithms, time and memory complexity analysis. 2. Binary search trees. 3. Method of divide and conquer, recursion, sorting algorithms. 4. Selected graph algorithms. 5. Graph algorithms BFS, DFS. Data structures LIFO, FIFO. 6. Data structures: list, FIFO, LIFO, heap, operations, time complexity. Exercises: Programming competitions for high school students and primary school pupils: category P of Mathematical Olympiad, Correspondence seminar in programming, their organization, website. Practicing the subject matter on the tasks of competing in programming for secondary schools.

Learning activities and teaching methods
Monological explanation (lecture, presentation,briefing), Dialogue metods(conversation,discussion,brainstorming), Self-study (text study, reading, problematic tasks, practical tasks, experiments, research, written assignments), Written assignment presentation and defence, Task-based study method
  • Preparation for credit - 28 hours per semester
  • Class attendance - 42 hours per semester
  • Home preparation for classes - 50 hours per semester
Learning outcomes
The subject is focused on basic principles of the computer algorithms, the most common algortihms and data structures.
Graduates of the course will gain an overview of competitions in programming for high school students and elementary school pupils, get acquainted with basic algorithms and data structures and learn to use them for solving tasks.
Prerequisites
Practical knowledge of the basics of logic. Knowledge of fundamentals of Python programming language and basic programming techniques: cycle, condition, work with variables, work with input and output.

Assessment methods and criteria
Practical demonstration of acquired skills, Interview, Oral presentation of self-study

Credit for solved tasks, written and oral defense.
Recommended literature
  • MAREŠ, M., VALLA, T. Průvodce labyrintem algoritmů. CZ.NIC, z.s.p.o., 2017. ISBN 978-80-88168-19-5.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester