Back
Course informations
Study program level |
Undergraduate |
Study program |
Computer Science |
Study program direction |
Software Engineering |
Course year |
1. |
Course semester |
I |
Course status |
Core |
ECTS |
6 |
Lectures (h) |
15 |
Excercises (h) |
30 |
Seminars (h) |
- |
Course objectives
The student must be shown the paradigm of data structure of complex data. He/she must understand phenomena and data from the real world and present them with complex structures- lists, graphs, and trees. He/she must know what indexation is, and how bisection functions. Indicate the application of data structure in programming languages
The student must be familiar with XML, JSON, and some other formatted data records that are used in programming technologies.
Course outcomes
Describe what an algorithm is, explain the algorithm record, analyze simpler algorithms, and define recursive algorithms. Formulate basic pseudocode algorithms, flowcharts. Compare existing algorithms, analyze more complex algorithms, and solve problems by using recursion. Describe and use simple data structures (list, stack, and row). Create solutions based on simpler data structures (list, stack, and row). Describe and use more complex data structures (tree, bulk, priority order). Create solutions based on more complex data structures (tree, bulk, priority order). Describe and use sorting algorithms. Design solutions based on sorting algorithms. Describe and use search algorithms. Construct solutions based on search algorithms. Define the techniques of addressing and recognize application of addressing techniques. Use addressing techniques to solve problems.
Course content
What is an algorithm? The complexity of an algorithm. Basic data types. Program control commands. Programming strategies. Data structures. Line, list, vector, set, stack, tree, priority row, graph, recursion. Arranged and unstructured containers. Search: sequential, binary, tree. Rows. Sort: bubble, heap, quick, binary, radix. Dynamic algorithms: Fibonacci sequence, binomial coefficients, optimal binary tree, multiplication of array matrices. Graphs: minimal tree, Dijkstra algorithm. The basics of the complexity of algorithms. Solving more difficult problems: "Travelling salesman problem", "Chinese postman problem". Game theory: simple solutions, alpha-beta algorithm.