Skip to main content
Skip header

Basics of Algorithms and Programming

Type of study Bachelor
Language of instruction Czech
Code 450-2079/01
Abbreviation ZAP
Course title Basics of Algorithms and Programming
Credits 5
Coordinating department Department of Cybernetics and Biomedical Engineering
Course coordinator prof. Ing. Michal Prauzek, Ph.D.

Subject syllabus

Lectures:
1. Introduction to algorithmization and programming, motivation, algorithm, computer architecture, compilation process.
2. Electronic memory, types of memory, variables, constants, simple data types, basic operators, formatted input and output.
3. Control structures: Boolean expression, comma operator, conditional expression, conditions, cycles, switch, jump command.
4. Functions: function declarations and definitions, function parameters, validity range, function return value.
5. Memory classes, type modifiers, type casting, preprocessor: macros, includes, conditional compilation, separate compilation.
6. Indicators: pointers and functions, address arithmetic, parameter passing by value and reference.
7. Single-dimensional arrays, multidimensional arrays, strings, structures, union, enumeration types, typedef operator, bit operations.
8. Introduction to the scripting approach to solving algorithmic problems. Program environment - Bash, Python.
9. Program structure, function, console output in the Bash and Python scripting environment.
10. Advanced data types in scripting environments, their use and benefits, optimization, libraries and work with them.
11. Implement Cycles, Conditions, and Recursions in Python Scripting Environment.
12. File system work, search, rights, write and read. JSON format.
13. A brief basis for object programming approach.
14. Discrete phenomena and their simulations. Code documentation.



Labs:
1. Language C: programming environment
2. Language C: variable definition, simple data types, formatted input and output.
3. Language C: boolean expression, comma operator, conditional expression, conditions, cycles, switch, goto command.
4. Language C: function definitions and declaration, function parameters, validity of identifiers, function return value.
5. Language C: memory classes, type modifiers, type casting, preprocessor: macros, includes, conditional compilation, separate compilation.
6. Language C: pointers, pointers and functions, address arithmetic, parameter passing by value and reference.
7. Language C: one-dimensional arrays, multidimensional arrays, strings, structures, union, enumeration types, typedef operator, bit operations.
8. Shell Bash: system utilities and their use in simple scripts.
9. Shell Bash: chaining utilities, working with variables, definition of function, console output.
10. Python Language: Comparison with Bash approach to defining simple scripts. Work with variable output on the console. Formal definition of script structure, output formatting, functions and their chaining.
11. Python Language: working with dictionaries, numerical libraries and computations with them, other commonly used libraries in Python, conditional branching, and use of data types in terms.
12. Python language: cycles and recursion and their use for numerical computations and simulations, file system work, JSON format.
13. Python language: classes and inheritance, practical examples of the use of objects in scripting.
14. Python Language: An introduction to simulation discrete phenomena.

E-learning

Materials are available at https://lms.vsb.cz/?lang=en

Literature

KERNIGHAN, Brian W. a Dennis M. RITCHIE. The C programming language. 2nd ed. Englewood Cliffs, N.J.: Prentice Hall, c1988.
SEDGEWICK, Robert, Kevin Daniel WAYNE a Robert. DONDERO. Introduction to programming in Python: an interdisciplinary approach. New York: Addison-Wesley, 2015. ISBN 9780134076430 .
NEWHAM, Cameron. a Bill. ROSENBLATT. Learning the bash Shell. 3rd ed. Sesbastopol, [Calif.]: O'Reilly, c2005. ISBN 0596009658 .

Advised literature

VAN DER LINDEN, Peter. Expert C programming: deep C secrets. Mountain View: SunSoft Press, 1994.