Course detail

Introduction to Programming and Algorithmization

FSI-1PA Acad. year: 2025/2026 Winter semester

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.

Learning outcomes of the course unit

Prerequisites

Planned learning activities and teaching methods

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.

Language of instruction

Czech

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.

Specification of controlled education, way of implementation and compensation for absences

The study programmes with the given course

Programme B-MET-P: Mechatronics, Bachelor's
branch ---: no specialisation, 6 credits, compulsory

Type of course unit

 

Lecture

26 hours, optionally

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 hours, compulsory

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