Faculty of Technical Sciences

Subject: Software Algorithms in Control Systems (17.E2312)

Native organizations units: Sub-department for Automatic Control and Systems Engineering
General information:
 
Category Professional-applicative
Scientific or art field Automatic Control and System Engineering
Interdisciplinary No
ECTS 8
Educational goal:

Acquiring basic knowledge about algorithms and data structures. Understanding complexities of algorithms and learning numerous algorithms for common problems in software development and control systems applications.

Educational outcome:

Implementation of algorithms and data structures in control systems. These algorithms will be implemented and their complexities will be understood in real examples.

Course content:

Basic of algorithms (definitions, features, algorithm analysis, algorithm description, pseudocode, basic algorithmic problems, algorithm complexity, asymptotic notations, etc.). Search problem (linear searching, binary search). Sorting problem and sorting algorithms (selection sort, insertion sort, recursion and divide-and-conquer algorithm, merge sort, quicksort, heap structure and heapsort, priority queue, etc.). Linear-time sorting algorithms (counting sort, radix sort, bucket sort). Order statistics (problem description, minimum and maximum, medians, and algorithm). Elementary data structures (stacks and queues, linked lists, operations, implementations, trees, binary trees, BST, AVL, etc.). Hash tables (dictionaries, operations, hashing functions, collisions and linked lists, open addressing, asymptotic algorithm complexity, real-time operations, etc.). Graphs (definition, examples and graph types, directed acyclic graphs, representations of graphs, etc.). Graph algorithms (topological sort, graph search, breadth-first search, depth-first search, graph coloring, graph partitioning, etc.). Shortest paths graphs (shortest paths in DAG, Dijkstra’s algorithm, Bellman-Ford algorithm, etc.). Complex problems (P and NP problems, NP-complete problems, NP-hard problems, exponential problems, examples). Dynamic programing (elements, examples, etc.). Parallel algorithms (sequential and parallel execution, Amdahl's law, implementation complexities, examples). Examples of algorithms and implementations.

Teaching methods:

Lectures. Computer practice. Consultations.

Literature:
Authors Title Year Publisher Language
Cormen, T.H. et al. Introduction to Algorithms 2009 MIT Press, Cambridge English
D. Čapko Štampani materijal koji pokriva izlaganja i vežbe 2017 FTN Serbian language
Papadimitriou, C.H., Steiglitz, K. Combinatorial optimization: algorithms and complexity 1982 Prentice Hall, Englewood Cliffs English
Thomas H. Cormen Algorithms Unlocked 2013 MIT Press English
Knowledge evaluation:
Course activity Pre-examination Obligations Number of points
Test Yes Yes 10.00
Test Yes Yes 10.00
Test Yes Yes 10.00
Oral part of the exam No Yes 30.00
Test Yes Yes 10.00
Project Yes Yes 30.00
Lecturers:

Asistent Injac Milica

Assistant - Master

Computational classes

Asistent Arsenović Jovana

Assistant - Master

Computational classes
API Image

prof. dr Čapko Darko

Full Professor

Lectures

Faculty of Technical Sciences

© 2024. Faculty of Technical Sciences.

Contact:

Address: Trg Dositeja Obradovića 6, 21102 Novi Sad

Phone:  (+381) 21 450 810
(+381) 21 6350 413

Fax : (+381) 21 458 133
Emejl: ftndean@uns.ac.rs

© 2024. Faculty of Technical Sciences.