Skip to main content
Skip header

Algorithms I

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

Course Unit Code460-2001/02
Number of ECTS Credits Allocated5 ECTS credits
Type of Course Unit *Compulsory
Level of Course Unit *First Cycle
Year of Study *First Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech, English
Prerequisites and Co-Requisites There are no prerequisites or co-requisites for this course unit
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
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.
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
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 (100)51
        Ongoing ActivityOther task type20 10
        Programming testOther task type30 15
        Written testWritten test50 26