Course: Algorithm I - teaching at high schools

« Back
Course title Algorithm I - teaching at high schools
Course code UAI/686U
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Frequency of the course In each academic year, in the winter semester.
Semester Winter
Number of ECTS credits 5
Language of instruction Czech
Status of course Compulsory
Form of instruction Face-to-face
Work placements unspecified
Recommended optional programme components None
  • Beránek Ladislav, doc. Ing. CSc.
  • Geyer Jakub, Mgr.
Course content
1. Basic algorithmic structures 2. Methods of project of the algorithm 3. Algorithmic structures a. For the work with sequences b. For the work with matrices 4. Data structures a. Compact and linked list b. Stack, queue, heap 5. Algorithms for internal selection a. Direct methods b. Quicksort, heapsort 6. Sorting algorithms a. Bucket sort b. Radix sort 7. Skiplist 8. AVL + RedBlack tree 9. B-trees 10. Hashing table

Learning activities and teaching methods
Monologic (reading, lecture, briefing), Demonstration
  • Class attendance - 56 hours per semester
  • Preparation for exam - 28 hours per semester
  • Semestral paper - 14 hours per semester
  • Preparation for credit - 14 hours per semester
  • Preparation for classes - 28 hours per semester
Learning outcomes
The students become acquainted in this course with the basic data structures and their usage for effective algorithm design. Students will master the basic algorithmic constructions and procedures for algorithm development. The overview of basic abstract data type (field, list, tree, dictionary) and often used algorithms aimed above all on data organization (sorting, searching) is in practice the main part of this course. Also binary search trees, AVL trees, R-B trees, B trees and hash tables will be introduced.
The graduate of the course will understand basic principles of algorithms; he will be able to create simple algorithms and to use them when creating his proper programmes.
Introductory course - knowledge of high school mathematics

Assessment methods and criteria
Combined exam, Interim evaluation

Working out a seminar work (design of program in any programming language with a chosen algorithm), fulfillment of final written test.
Recommended literature
  • Goodrich, M. T. - Tamassia, R.:. Data Structures and Algorithms in Java. John Wiley & Sons, 2001.
  • Lafore, R. Data Structures & Algorithms in Java. Sams, 2003.. Sams, 2003.
  • Mareš, M., Valla, T. PRŮVODCE LABYRINTEM ALGORITMŮ. Praha, 2017. ISBN 78-80-88168-22-5.
  • MCMILLAN, M. Data Structures and Algorithms Using C#. New York: Cambridge University Press, 2007.. Cambridge: University Press, 2007. ISBN 0-521-54765-2.
  • SEDGEWICK, R., WAYNE, K.D. Algorithms. Addison-Wesley Professiona, 2015. ISBN 978-0134384689.
  • Wróblewski, P. Algoritmy. Praha: Computer Press, 2015. ISBN 9788025141267.

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