Introduction to Programming and Algorithmization (FSI-1PA)

Academic year 2025/2026
Supervisor: doc. Ing. Robert Grepl, Ph.D.  
Supervising institute: ÚMTMB all courses guaranted by this institute
Teaching language: Czech
Aims of the course unit:

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.

Learning outcomes and competences:
 
Prerequisites:
 
Course contents:

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.

Teaching methods and criteria:
 
Assesment methods and criteria linked to learning outcomes:

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.

Controlled participation in lessons:
 
Type of course unit:
    Lecture  13 × 2 hrs. optionally                  
    Computer-assisted exercise  13 × 2 hrs. compulsory                  
Course curriculum:
    Lecture

  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

  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

Literature - fundamental:
1. Algorithms: Fundamental Techniques. Dostupne online: http://en.wikibooks.org/wiki/Algorithms
2. Stormy Attaway: Matlab: A Practical Introduction to Programming and Problem Solving, Butterworth-Heinemann, 2019
3. Knuth, D.: The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 2019
Literature - recommended:
1. Pelánek, R.: Programátorská cvičebnice, Computer Press, 2012
2. Pelánek, R.: Jak to vyřešit, Portál, 2011
3. Bohuslav Doňar; Karel Zaplatílek : MATLAB pro začátečníky, BEN - technická literatura, 2005
The study programmes with the given course:
Programme Study form Branch Spec. Final classification   Course-unit credits     Obligation     Level     Year     Semester  
B-MET-P full-time study --- no specialisation -- GCr 6 Compulsory 1 1 W