460-2001/03 – Algorithms I (ALG I)
Gurantor department | Department of Computer Science | Credits | 5 |
Subject guarantor | doc. Mgr. Jiří Dvorský, Ph.D. | Subject version guarantor | doc. Mgr. Jiří Dvorský, Ph.D. |
Study level | undergraduate or graduate | Requirement | Compulsory |
Year | 1 | Semester | winter |
| | Study language | English |
Year of introduction | 2015/2016 | Year of cancellation | 2020/2021 |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
To introduce students to problem solving techniques using algorithms. Upon completion of the course, the student will be able to:
define and describe selected problem solving algortihmic techniques using,
demonstrate these techniques on sample problems
use these techniques to solve other problems,
work with combinations of several techniques together.
Teaching methods
Lectures
Tutorials
Summary
This course is one of the introductory programming courses. The course aims to introduce students to problem solving techniques, strategies, using algorithms. The algorithms and data structures discussed will be demonstrated in C++. Students are encouraged to analyze algorithmic problems and to synthesize solutions from smaller units.
Compulsory literature:
Recommended literature:
Way of continuous check of knowledge in the course of semester
Conditions for granting credit
Implementation and presentation of the project.
Programming applications to simple exercises
E-learning
Other requirements
Students are expected to know high school math and computer skills at users level.
Prerequisities
Co-requisities
Subject has no co-requisities.
Subject syllabus:
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.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction