Course detail

Programming and Algorithmization

FSI-RM0Acad. year: 2019/2020

The course will help students to understand the basics of writing the programs, in particular the decomposition of the problem and algorithms creation. Implementation will use MATLAB mainly. MATLAB integrates mathematical computing, visualization, and a powerful language to provide a flexible environment for technical computing.
Students will learn how to use this open architecture and its companion products (toolboxes) to explore data, create algorithms, and create custom tools. The course covers both basic MATLAB tools and its toolboxes
and dynamic systems simulation tool Simulink.

Learning outcomes of the course unit

Students will be able to program simple tasks in MATLAB environment, process and visualise the obtained results. They will have an overview of MATLAB extensions. They will be able to find a solution to a problem, decompose it, design data structures and operations necessary to solve the problem.


PC fundamentals, basic programming principles (conditions, cycles, procedures, functions), matrices


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

Matlab User's Guide

Planned learning activities and teaching methods

The course is taught through lectures explaining the basic principles and theory of the discipline. Exercises are focused on practical topics presented in lectures.

Assesment methods and criteria linked to learning outcomes

Course-unit credit awarding will reflect evaluation of independent projects, where students must show their abilities to use MATLAB when solving the given problem.

Language of instruction


Work placements

Not applicable.


The aim of the course is teach the students to solve tasks using computational tools, decompose the problem to subproblems and implement the solution. Moreover, the the overview of technical computations tool MATLAB is provided.

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

Attendance at practical training is obligatory. Attendance is checked systematically by the teachers, as well as students active participation in the seminars and fundamental knowledge. Unexcused absence is the cause for not awarding the course-unit credit. One absence can be compensated for by attending a seminar with another study group in the same week, or by solving supplemental tasks. Longer absence may be compensated for by solving supplemental tasks according to teacher's requirements.

Classification of course in study plans

  • Programme B3A-P Bachelor's

    branch B-MET , 1. year of study, winter semester, 0 credits, elective (voluntary)
    branch B-MET , 2. year of study, winter semester, 0 credits, elective (voluntary)

Type of course unit



13 hours, optionally

Teacher / Lecturer


1. Environment, m-files
2. Data types, functions
3. Functions, vectorization
4. Debugger, memory management, speed
5. Case study 1 (object motion), decomposition
6. Case study 1, algoritmization
7. Case study 1, implementation
8. Case study 2 (laser scanner), graphical output
9. Case study 3 (trajectory planner)
10. Case study 4 (RRT)
11. Case study 5 (CS1-4)
12. Matlab specific utilities (differential equations, 3D visualization, ...)
13. Matlab extensions (toolboxes, Simulink)

Computer-assisted exercise

26 hours, compulsory

Teacher / Lecturer


1. Development environment, workspace, m-files
2. Import and export of data, data types
3. Functions, parameters
4. Debugger, breakpoints
5. Case study 1
6. Case study 1
7. Case study 1
8. Case study 2
9. Case study 3
10. Case study 4
11. Case study 5
12. ODE, 3D vizualization
13. Toolboxes, Simulink