Course details

Algorithms

IAL Acad. year 2024/2025 Winter semester 5 credits

Overview of fundamental data structures and their exploitation. Introduction to time complexity of algorithms. Specification of abstract data types (ADT). Specification and implementation of ADT's: lists, stack and its exploitation, queue, searching table. Algorithms upon the binary trees. Searching: sequential, in the ordered and in not ordered array, searching with the guard (sentinel), binary search, search tree, balanced trees (AVL), balanced multiway serach trees. Searching in hash-tables. Ordering (sorting), principles, sorting without the moving of items, sorting with multiple keys. Most common methods of sorting: Select-sort, Bubble-sort, Heap-sort, Insert-sort and its variants, Shell-sort, recursive and non-recursive notation of the Quick sort, Merge-sort, Radix-sort. Recursion and dynamic programming. Searching the patterns in the text. Graph algorithms. Proving of the correctness of programs.

5 ECTS credits represent approximately 125-150 hours of study workload:

  • 39 hours of lectures
  • 26 hours for two home assignments
  • 35 hours of project work
  • 20 hours of continual study
  • 30 hours of study for the midterm and final examination     

Guarantor

Course coordinator

Language of instruction

Czech, English

Completion

Credit+Examination (written)

Time span

  • 39 hrs lectures
  • 13 hrs projects

Assessment points

  • 51 pts final exam (written part)
  • 14 pts mid-term test (written part)
  • 35 pts projects

Department

Lecturer

Instructor

Learning objectives

The student will learn the fundamentals of algorithm complexity and will be able to use gained knowledge in the design of programs. Student acquaints with basic abstract data types and learn how to implement nad use them. The student learns and commands recursive and non-recursive notation of basic algorithms and will be able to use gained knowledge in the design of programmes. Student understands the implementation and analysis of most of the used algorithms for searching and sorting. The student will understand basic text search algorithms and basic graph algorithms. The student will learn about recursive problem solving and the basics of dynamic programming. The student will learn the principles of methods of proving of the correctness of programs and will be able to use gained knowledge in the design of programmes.


  • The student will learn the fundamentals of algorithm complexity and their intention.
  • He/she acquaints with basic abstract data types and to commands its implementation and exploitation. 
  • He/she learns and commands recursive and non recursive notation of basic algorithms. 
  • Student will become familiar with different variants of search tables and understand their properties.
  • Student overrules the implementation and analysis of most used algorithms for searching and sorting.
  • The student learns terminology in Czech and English language.
  • The student learns to participate on the small project as a member of a small team.
  • Student learns to present and defend the results of the small project.
  • The student will acquaint with the methods of proving of the correctness of programs and with the construction of proved programs and learn their significance.

Recommended prerequisites

Prerequisite knowledge and skills

  • Basic knowledge of the programming in a procedural programming language
  • Knowledge of secondary school level mathematics

Study literature

  • Mareš, M., Valla, T.: Průvodce labyrintem algoritmů, CZ.NIC, 2017, ISBN 978-80-88168-19-5, http://pruvodce.ucw.cz/
  • Honzík, J., Hruška, T., Máčel, M.: Vybrané kapitoly z programovacích technik, Ed. stř. VUT Brno, 1991
  • Cormen, T.H., Leiserson, Ch.E., Rivest, R.L.: Introduction to Algorithms, Cambridge: MIT Press, 2009
  • Knuth, D.: The Art of Computer programming, Vol.1,2,3. Addison Wesley, 1968
  • Wirth, N.: Alorithms+Data Structures=Programs, Prentice Hall, 1976
  • Aho A.V., Hoppcroft J.E., Ullman J.D.: Data Structures and Algorithms, Addison Wesley, 1983
  • Baase, S.: Computer Algorithms - Introduction to Design and Analysis. Addison Wesley, 1998
  • Sedgewick,R.:Algoritmy v C, Addison Wesley 1998, Softpress 2003

Syllabus of lectures

  1. Overview of data structures. Time complexity of algorithms.
  2. Abstract data type and its specification. Specification, implementation and exploitation of the ADT list.
  3. Specification, implementation and exploitation of ADT stack, queue, search table. Numeration of expressions with the use of the stack.
  4. Algorithms upon the binary tree.
  5. Searching, sequential, in the array, binary search, binary search trees, AVL tree.
  6. Balanced multiway search trees. Hashing-tables.
  7. Sorting, principles, without movement, multiple key.
  8. Most common methods of sorting of arrays.
  9. String-searching algorithms.
  10. Recursion and the dynamic programming.
  11. Graph algorithms.
  12. Proving the correctness of algorithms.

Syllabus - others, projects and individual work of students

  1. Two home assignments
  2. Project with a mini-defence for a team of students.

Progress assessment

  • Home assignments - 20 points
  • Mid-term written examination - 14 point
  • Evaluated project with the defence - 15 points
  • Accreditation - a minimum of 20 points per semester is required for credit to be awarded.
  • Final written examination - 51 points; The minimal number of points which can be obtained from the final written examination is 24. Otherwise, no points will be assigned to a student.

 

 

In case of illness or another serious obstacle, the student should inform the faculty about that and subsequently provide the evidence of such an obstacle. Then, it can be taken into account within evaluation:

  • The student can ask the responsible teacher to extend the time for the home assignment.
  • If a student cannot attend the mid-term exam, (s)he can ask to derive points from the evaluation of his/her first attempt of the final exam. To enter the final exam in this case, at least 14 points from home assignments and project are required.
  • If a student cannot attend the defense of the project and the other team members agree with that (s)he can earn the same points from the project defence as for present members.

Schedule

DayTypeWeeksRoomStartEndCapacityLect.grpGroupsInfo
Mon other 2024-12-09 C228 13:1513:30 Obhajoba náhradního projektu
Mon other 2024-12-09 C228 13:3013:45 Obhajoba náhradního projektu
Mon other 2024-12-09 C228 13:4514:00 Obhajoba náhradního projektu
Mon exam 2025-02-03 D0206 D105 14:0015:50 3. termín
Mon other 2024-12-09 C228 14:0014:15 Obhajoba náhradního projektu
Mon other 2024-12-09 C228 14:1514:30 Obhajoba náhradního projektu
Mon other 2024-12-09 C228 14:3014:45 Obhajoba náhradního projektu
Mon other 2024-12-09 C228 14:4515:00 Obhajoba náhradního projektu
Mon other 2024-12-09 C228 15:0015:15 Obhajoba náhradního projektu
Mon other 2024-12-09 C228 15:1515:30 Obhajoba náhradního projektu
Mon other 2024-12-09 C228 15:3015:45 Obhajoba náhradního projektu
Mon other 2024-12-09 C228 15:4516:00 Obhajoba náhradního projektu
Tue exam 2024-10-15 E104 E105 E112 12:0013:00 Půlsemestrální zkouška - úterý 12:15
Tue lecture 1., 2., 4., 5., 6., 7., 8., 9., 10., 11. of lectures E104 E105 E112 12:0014:50320 2BIB 3BIT 20 - 29 xx Burgetová
Tue lecture 3., 12. of lectures E104 E105 E112 12:0014:50320 2BIB 3BIT 20 - 29 xx Hranický
Tue lecture 2024-12-10 E104 E105 E112 12:0014:50320 2BIB 3BIT 20 - 29 xx Křena
Wed lecture 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12. of lectures D105 18:0020:50316 2BIA 3BIT 10 - 19 xx Hranický
Wed lecture 2024-10-30 D105 18:0020:50316 2BIA 3BIT 10 - 19 xx Burgetová
Wed lecture 2024-12-11 D105 18:0020:50316 2BIA 3BIT 10 - 19 xx Křena
Wed exam 2024-10-16 D105 18:1519:15 Půlsemestrální zkouška - středa 18:15
Wed exam 2024-10-16 D105 19:2020:20 Půlsemestrální zkouška - středa 19:20
Thu other 2024-10-31 C236 12:0023:59 Zápočet
Thu exam 2025-01-09 A112 A113 D0206 D0207 D105 E104 E105 E112 G202 13:0014:50 1. termín
Thu exam 2025-01-23 D0206 D0207 D105 E104 E112 13:0014:50 2. termín
Fri other 2024-11-01 C236 00:0013:00 Zápočet

Course inclusion in study plans

  • Programme BIT, 2nd year of study, Compulsory
  • Programme BIT (in English), 2nd year of study, Compulsory
Back to top