Úvod do programování a algoritmizace (FSI-1PA)

Akademický rok 2025/2026
Garant: doc. Ing. Robert Grepl, Ph.D.  
Garantující pracoviště: ÚMTMB všechny předměty garantované tímto pracovištěm
Jazyk výuky: čeština
Cíle předmětu:

Cílem předmětu je především skrze praktickou zkušenost získat a rozvinout schopnost algoritmizovat a řešit nejčastější inženýrské a matematické problémy, tedy rozložit složitý problém na sadu jednoduchých tak, aby bylo možné je zapsat v syntaxi jazyku MATLAB.
Po absolvování předmětu se předpokládá schopnost samostatně využívat jazyk MATLAB k různým inženýrským aplikacím. Základní znalosti získané v tomto předmětu slouží také jako základ pro studium (i samostudium) dalších jazyku v jiných aplikacích, např. jazyka C pro programování mikrokontrolerů.

Výstupy studia a kompetence:
 
Prerekvizity:
 
Obsah předmětu (anotace):

Předmět se zaměřuje na výuku programování ve vysokoúrovňovém programovacím jazyce MATLAB a na vysvětlení základních principů algoritmizace. Obsah studijní látky je přizpůsoben specifickým potřebám mechatroniky, zejména zpracování dat, vizualizace, zpracování obrazu, verzování, tvorby uživatelského rozhraní a práce s hardwarem. Získané znalosti v oblasti programování a algoritmizace slouží jako základ pro výuku dalších programovacích jazyků potřebných v následujících semestrech.

Metody vyučování:
 
Způsob a kritéria hodnocení:

Hodnocení předmětu se řídí standardní bodovou škálou 0–100 bodů. Studenti mohou získat až 80 bodů za tři testy během semestru (10 bodů, 30 bodů a 40 bodů) a dalších 20 bodů za zpracování a obhajobu semestrálního projektu. Při hodnocení se zohledňuje nejen splnění funkčních požadavků, ale také úroveň zpracování. Účast na cvičeních je povinná a docházka je kontrolována. Účast na přednáškách je nepovinná, ale doporučená.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky:
 
Typ (způsob) výuky:
    Přednáška  13 × 2 hod. nepovinná                  
    Cvičení s počítačovou podporou  13 × 2 hod. povinná                  
Osnova:
    Přednáška

  1. Úvod

  2. Proměnná, práce s maticemi, skript

  3. Řídicí struktury (podmínky, cykly), logické podmínky

  4. Vektorizace, vykreslování grafů, funkce

  5. Přehled datových typů, implicitní konverze, práce s textem, náhodná čísla, implicitní expanze, rekurze

  6. Co lze zajímavého dělat v MATLABu a Simulinku?

  7. Zadání projektu

  8. OOP 1

  9. OOP 2

  10. Základy zpracování obrazu

  11. Graficky uživatelský rozhraní

  12. Verzování a hezký kód

  13. Návrhové vzory a techniky (včetně rekurze)

  14. Přehled různých programovacích jazyků

    Cvičení s počítačovou podporou

  1. Úvod

  2. Proměnná, práce s maticemi, skript

  3. Řídicí struktury (podmínky, cykly), logické podmínky

  4. Vektorizace, vykreslování grafů, funkce

  5. Přehled datových typů, implicitní konverze, práce s textem, náhodná čísla, implicitní expanze, rekurze

  6. Co lze zajímavého dělat v MATLABu a Simulinku?

  7. OOP 1

  8. OOP 2

  9. Základy zpracování obrazu

  10. Graficky uživatelský rozhraní

  11. Verzování a hezký kód

  12. Návrhové vzory a techniky (včetně rekurze)

  13. Přehled různých programovacích jazyků

Literatura - základní:
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
Literatura - doporučená:
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
Zařazení předmětu ve studijních programech:
Program Forma Obor Spec. Typ ukončení   Kredity     Povinnost     St.     Roč.     Semestr  
B-MET-P prezenční studium --- bez specializace -- kl 6 Povinný 1 1 Z