## Algorithms I

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

Course Unit Code Number of ECTS Credits Allocated Type of Course Unit * Level of Course Unit * Year of Study * 460-2001/02 5 ECTS credits Compulsory First Cycle First Year Winter Semester Face-to-face Czech, English There are no prerequisites or co-requisites for this course unit DVO26 doc. Mgr. Jiří Dvorský, Ph.D. 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. 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. Lectures Introductory lecture, organizational matters The first program in C++, algorithm, program compilation, processor, process Variables, constants, data types Control of language structure (sequence, branching, loop) Structured Programming in C++, functions and their parameters, function calls Array Array search algorithms (linear, binary) Recursion, definition, examples, a simple backtracking Sorting, problem definition, address sorting Basic sorting algorithms(insertion sort, selection, bubble) Advanced sorting algorithms (quicksort, heapsort, mergesort) The content of computer training Getting to know the development environment, Visual Studio 2015 planned Implementation and debugging trivial programs - Hello World Implementation and debugging programs with basic structures such as calculating the greatest common divisor Work with functions, called value parameters, reference, constant parameters Working with the array Implementation of array search algorithms Recursive functions Backtracking Basic sorting algorithms Advanced sorting algorithms Project content The project specification will be directed to use the sorting and searching algorithms, array based algorithms etc. 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 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. Lectures, Tutorials Graded credit Graded credit 100 (100) 51 Ongoing Activity Other task type 20 10 Programming test Other task type 30 15 Written test Written test 50 26