Programming and Algorithmization
FSI-RM0Acad. year: 2018/2019
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
Recommended optional programme components
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
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.
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)
seminars in computer labs
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