Course detail

Introduction to Programming and Algorithmization

FSI-1PAAcad. year: 2025/2026

The course focuses on teaching programming in the MATLAB high-level programming language and explaining the basic principles of algorithmization. The content is adapted to the specific needs of mechatronics, especially data processing, visualization, image processing, versioning, user interface design and working with hardware. The acquired knowledge in programming and algorithmization serves as a basis for learning other programming languages needed in the following semesters.

Language of instruction

Czech

Number of ECTS credits

6

Mode of study

Not applicable.

Entry knowledge

Vectors and matrices, matrix calculus, Propositional calculus, basic computer skills.

Rules for evaluation and completion of the course

The course grade is based on a standard 0-100 point scale. Students can earn up to 80 points for three tests during the semester (10 points, 30 points and 40 points) and an additional 20 points for the preparation and defense of a semester project. The assessment takes into account not only the fulfilment of the functional requirements but also the level of workmanship. Attendance at tutorials is compulsory and attendance is monitored. Attendance at lectures is optional but recommended.

Aims

The goal of the subject is to get and develop the ability to make algorithms and solve the most common engineering and mathematical problems through practical experience, e.i. to decompose a complex task to a set of simple tasks so that it can be written in the MATLAB syntax.
After finishing this subject, students are expected to be able to independently use the MATLAB language to solve various engineering tasks. Basic knowledge gained here serves as a basis for studying (even self-studying) other languages in different applications. E.g. the C language for the programming of microcontrollers.

Study aids

[1] Algorithms: Fundamental Techniques. Dostupne online: http://en.wikibooks.org/wiki/Algorithms (EN)

[2] KNUTH, D.: The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 2019

[3] Stormy Attaway: Matlab: A Practical Introduction to Programming and Problem Solving, Butterworth-Heinemann, 2019 (EN)

Prerequisites and corequisites

Not applicable.

Basic literature

Algorithms: Fundamental Techniques. Dostupne online: http://en.wikibooks.org/wiki/Algorithms (EN)
Knuth, D.: The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 2019
Stormy Attaway: Matlab: A Practical Introduction to Programming and Problem Solving, Butterworth-Heinemann, 2019 (EN)

Recommended reading

Bohuslav Doňar; Karel Zaplatílek : MATLAB pro začátečníky, BEN - technická literatura, 2005 (CS)
Pelánek, R.: Jak to vyřešit, Portál, 2011 (CS)
Pelánek, R.: Programátorská cvičebnice, Computer Press, 2012 (CS)

Classification of course in study plans

  • Programme B-MET-P Bachelor's 1 year of study, winter semester, compulsory

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

  1. Introduction
  2. Variable, working with matrices, script
  3. Control structures (conditions, cycles), logical conditions
  4. Vectorization, graphing, functions
  5. Overview of data types, implicit conversion, working with text, random numbers, implicit expansion, recursion
  6. What interesting things can be done in MATLAB and Simulink?
  7. Project assignment
  8. OOP 1
  9. OOP 2
  10. Fundamentals of image processing
  11. Graphical user interface
  12. Versioning and nice code
  13. Design patterns and techniques (including recursion)
  14. Overview of different programming languages

Computer-assisted exercise

26 hod., compulsory

Teacher / Lecturer

Syllabus

  1. Introduction
  2. Variable, working with matrices, script
  3. Control structures (conditions, cycles), logical conditions
  4. Vectorization, graphing, functions
  5. Overview of data types, implicit conversion, working with text, random numbers, implicit expansion, recursion
  6. What interesting things can be done in MATLAB and Simulink?
  7. OOP 1
  8. OOP 2
  9. Fundamentals of image processing
  10. Graphical user interface
  11. Versioning and nice code
  12. Design patterns and techniques (including recursion)
  13. Overview of different programming languages