Skip to main content
Skip header

ECTS Course Overview



Algorithms I

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-2001/06
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Optional
Level of Course Unit *First Cycle
Year of Study *
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech, English
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
DVO26doc. Mgr. Jiří Dvorský, Ph.D.
Summary
This subject is the introductory programming course. Students are expected to have the basic C++ knowledge and high school math knowledge. Discussed algorithms and data structures will be demonstrated in C++. A large emphasis is placed on practical implementation discussed algorithms and data structures. Students are encouraged analysis and synthesis solutions to the problems of smaller units.
Learning Outcomes of the Course Unit
Acquaint students with the basics of structured programming, the basics of C + +. After completing the course, students will be able to:
Work with integrated development environment for C++.
Define a describe basic programming constructions.
Develop and debug a simple program C++.
Use data structures such as array, list, etc.
Write a recursive function.
Use sorting and searching algorithms in their programs.
Course Contents
Algorithm. Algorithmic problem solving strategies. Important problem types.
Analysis of complexity of algorithms.
Brute force strategy. SelectSort. BubbleSort. Sequential search. Convex hull problem. Closest pair problem.
Complete search strategy. Traveling salesman problem. Knapsack problem. Graph traversal.
Decrease and conquer strategy. InsertSort. Generate permutations and subsets. Binary search algorithm. Finding the median. Interpolation search. Searching and insertion in a binary search tree.
Divide and conquer strategy. QuickSort. MergeSort. Convex hull problem. Closest pair problem.

Computer seminars
Iterative algorithms complexity analysis.
Recursive algorithms complexity analysis.
Implementation of convex hull problem, closest pair problem.
Traveling salesman problem - experiments with complete search solution.
Graph traversal algorithms usage.
Generate permutations and subsets.
Implementation of binary search algorithm, interpolation search algorithm and median finding.
Binary search tree implementation.
Implementation of divide and conquer strategy solutions.
Recommended or Required Reading
Required Reading:
LEVITIN, Anany. Introduction to the design. 3rd ed. Boston: Pearson, 2012. ISBN 978-0-13-231681-1.
CORMEN, Thomas H. Introduction to algorithms. 2nd ed. Cambridge, Mass.: MIT Press, 2001. ISBN 02-620-3293-7.
SEDGEWICK, Robert. Algorithms in C. 3rd ed. Reading, Mass: Addison-Wesley, 1998. ISBN 978-020-1350-883.









LEVITIN, Anany. Introduction to the design. 3rd ed. Boston: Pearson, 2012. ISBN 978-0-13-231681-1.
CORMEN, Thomas H. Introduction to algorithms. 2nd ed. Cambridge, Mass.: MIT Press, 2001. ISBN 02-620-3293-7.
SEDGEWICK, Robert. Algoritmy v C. Praha: SoftPress, 2003. ISBN 80-864-9756-9.
WRÓBLEWSKI, Piotr. Algoritmy. Brno: Computer Press, 2015. ISBN 978-80-251-4126-7.
WIRTH, N. Algoritmy a štruktúry údajov, Alfa, Bratislava 1989.
Studijní opora (skripta), dostupné na stránkách garanta předmětu, www.cs.vsb.cz/dvorsky
Recommended Reading:
STROUSTRUP, Bjarne. The C programming language. Fourth edition. Upper Saddle River, NJ: Addison-Wesley, 2013. ISBN 978-0321563842.
SCHILDT, Herbert. Teach yourself C. 3rd ed. Berkeley: Osborne McGraw-Hill, 1998. ISBN 978-0078823923.
STROUSTRUP, Bjarne. C programovací jazyk. Praha: Softwarové Aplikace a Systémy, 1997. ISBN 80-901-5072-1.
VIRIUS, Miroslav. Pasti a propasti jazyka C. 2., aktualiz. a rozš. vyd. Brno: CP Books, 2005. ISBN 80-251-0509-1.
SCHILDT, Herbert. Nauč se sám C: [poznej, vyzkoušej, používej]. Praha: SoftPress, 2001. ISBN 80-864-9713-5.
ECKEL, Bruce. Myslíme v jazyku C. Praha: Grada, 2000. Knihovna programátora (Grada). ISBN 80-247-9009-2.
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Tasks are not Defined