IAL Acad. year 2019/2020 Winter semester 5 credits
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
Language of instruction
Subject specific learning outcomes and competences
- 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.
- 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.
- Student will learn the principles of dynamic memory allocation and will be using them on the model system.
- He/she learns and commands recursive and non recursive notation of basic algorithms.
- Student overrules the implementation and analysis of most used algorithms for searching and sorting.
Generic learning outcomes and competences
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
Why is the course taught
Prerequisite kwnowledge and skills
- Basic knowledge of the programming in a procedural programming language
- Knowledge of secondary school level mathematics
- Honzík, J., Hruška, T., Máčel, M.: Vybrané kapitoly z programovacích technik, Ed.stř.VUT Brno,1991.
- Mareš, M., Valla, T.: Průvodce labyrintem algoritmů. CZ.NIC, 2017. ISBN 978-80-88168-19-5. http://pruvodce.ucw.cz/
- Knuth, D.: The Art of Computer programming, Vol.1,2,3. Addison Wesley, 1968
- Wirth, N.: Alorithms+Data Structures=Programs, Prentice Hall, 1976
- Horovitz, Sahni: Fundamentals of Data Structures.
- Amsbury, W: Data Structures: From Arrays to Priority Cormen, T. H., Leiserson, Ch.E., Rivest, R.L.: Introduction to Algorithms.
- Aho A.V., Hoppcroft J.E., Ullman J.D.: Data Structures and Algorithms.
- Kruse, R.L.: Data Structures and Program Design. Prentice- Hall,Inc. 1984
- Baase, S.: Computer Algorithms - Introduction to Design and Analysis. Addison Wesley, 1998
Syllabus of lectures
- Overview of data structures. Abstract data type and its specification.
- Specification, implementation and exploitation of the ADT list.
- Specification, implementation and exploitation of ADT stack, queue. Numeration of expressions with the use of the stack.
- ADT array, set, graph, binary tree.
- Algorithms upon the binary tree.
- Searching, sequential, in the array, binary search.
- Binary search trees, AVL tree.
- Ordering (sorting), principles, without movement, multiple key.
- Most common methods of sorting of arrays - beginning.
- Most common methods of sorting of arrays - continuation, sorting of files.
- Recursion, backtracking algorithms.
- Proving the programs, construction of proved programs.
Syllabus - others, projects and individual work of students
- Two home assignments
- Project with a mini-defence for a team of students.
- Evaluated home assignments - 20 points
- Mid-term written examination - 14 point
- Evaluated project with the defence - 15 points
- Final written examination - 51 points; The minimal number of points which can be obtained from the final written examination is 20. Otherwise, no points will be assigned to a student.
- 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.
- to earn min. 20 points within the semester
Course inclusion in study plans