Vývoj softwarových aplikací (FSI-R0S)

Akademický rok 2025/2026
Garant: Ing. Martin Appel, 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:
  1. Úvod do vývoje aplikací v Matlabu a terminologie vývoje aplikací
  2. Ukázka a rozbor hotových aplikací
  3. Tvorba specifikace
  4. Návrhové vzory
  5. Základy UX
  6. Eventy, listenery, timery a pokročilé callbacky
  7. Práce s grafy a vizualizace dat
  8. Pokročilé verzování
  9. Unit testování a zajištění kvality kódu
  10. Návrh komunikace s hardwarem
  11. Paralelní výpočty a vícevláknové programování
  12. Distribuce a nasazení aplikace
Výstupy studia a kompetence:
 
Prerekvizity:

Vstupní znalosti jsou základní znalosti OOP v MATLABu.

Obsah předmětu (anotace):

Předmět poskytuje studentům ucelené znalosti a praktické dovednosti v oblasti vývoje grafických uživatelských rozhraní pro komplexní responzivní aplikace v prostředí MATLABu. Studenti se seznámí s moderními návrhovými vzory, jako je MV, MVC, MVCS, a naučí se je implementovat v praxi. Předmět pokrývá pokročilé techniky, jako jsou eventy, listenery a callbacky, které umožňují vytvářet interaktivní a dynamické aplikace.

Další klíčové oblasti zahrnují komunikaci s hardwarem, vícevláknové programování, což je vhodné pro aplikace, které musí neustále komunikovat s připojenými zařízeními. Studenti si osvojí pokročilé objektově orientované programování v MATLABu pro lepší strukturování kódu a znovupoužitelnost komponent. Důležitou součástí je také zajištění kvality kódu prostřednictvím unit testování a seznámení se s nástroji pro ladění a optimalizaci aplikací.

V průběhu předmětu budou studenti pracovat na své vlastní aplikaci a po absolvování předmětu budou schopni vytvořit kompletní aplikaci například pro potřeby své závěrečné práce.

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

Hodnocení je založeno na odevzdaném projektu.

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 × 1 hod. nepovinná                  
    Cvičení s počítačovou podporou  13 × 2 hod. povinná                  
Osnova:
    Přednáška

  1. Úvod do vývoje aplikací v Matlabu a terminologie vývoje aplikací

  2. Ukázka a rozbor hotových aplikací

  3. Tvorba specifikace

  4. Návrhové vzory

  5. Základy UX

  6. Eventy, listenery, timery a pokročilé callbacky

  7. Práce s grafy a vizualizace dat

  8. Pokročilé verzování

  9. Unit testování a zajištění kvality kódu

  10. Návrh komunikace s hardwarem

  11. Paralelní výpočty a vícevláknové programování

  12. Distribuce a nasazení aplikac

  13. Prezentace vytvořeních aplikací

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

  1. Opakování OOP

  2. Pokročilé OOP

  3. Pokročilé OOP

  4. Pokročilé OOP

  5. Zadavání projektů a návrhové vzory

  6. Eventy, listenery, timery a pokročilé callbacky

  7. Práce s grafy a vizualizace dat

  8. Pokročilé verzování

  9. Unit testování a zajištění kvality kódu

  10. Návrh komunikace s hardwarem

  11. Paralelní výpočty a vícevláknové programování

  12. Distribuce a nasazení aplikac

  13. Prezentace vytvořeních aplikací

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

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 -- 2 Volitelný 1 1 L
B-MET-P prezenční studium --- bez specializace -- 2 Volitelný 1 2 L