Development of Software Applications (FSI-R0S)

Academic year 2025/2026
Supervisor: Ing. Martin Appel, Ph.D.  
Supervising institute: ÚMTMB all courses guaranted by this institute
Teaching language: Czech
Aims of the course unit:
  1. Introduction to application development in Matlab and application development terminology
  2. Sample and analysis of finished applications
  3. Creating specifications
  4. Design patterns
  5. UX basics
  6. Events, Listeners, Timers and Advanced Callbacks
  7. Working with charts and data visualization
  8. Advanced versioning
  9. Unit testing and code quality assurance
  10. Communication design with hardware
  11. Parallel computing and multi-threaded programming
  12. Application distribution and deployment

Learning outcomes and competences:
 
Prerequisites:

Prerequisite knowledge includes basic understanding of object-oriented programming (OOP) in MATLAB.

Course contents:

The course provides students with comprehensive knowledge and practical skills in developing graphical user interfaces for complex responsive applications in MATLAB. Students will become familiar with modern design patterns such as MV, MVC, and MVCS, and learn how to implement them in practice. The course covers advanced techniques such as events, listeners, and callbacks, enabling the creation of interactive and dynamic applications.

Other key areas include hardware communication and multithreading, which are essential for applications that require continuous interaction with connected devices. Students will master advanced object-oriented programming in MATLAB to improve code structuring and component reusability. An important part of the course is ensuring code quality through unit testing, as well as familiarization with debugging and application optimization tools.

During the course, students will work on their own application, and upon completion, they will be capable of developing a full application, for instance, for their final thesis project.

Teaching methods and criteria:
 
Assesment methods and criteria linked to learning outcomes:

The evaluation is based on the submitted project.

Controlled participation in lessons:
 
Type of course unit:
    Lecture  13 × 1 hrs. optionally                  
    Computer-assisted exercise  13 × 2 hrs. compulsory                  
Course curriculum:
    Lecture

  1. Introduction to application development in Matlab and application development terminology

  2. Sample and analysis of finished applications

  3. Creating specifications

  4. Design patterns

  5. UX basics

  6. Events, Listeners, Timers and Advanced Callbacks

  7. Working with charts and data visualization

  8. Advanced versioning

  9. Unit testing and code quality assurance

  10. Communication design with hardware

  11. Parallel computing and multi-threaded programming

  12. Application distribution and deployment

  13. Presentation of created applications

    Computer-assisted exercise

  1. Repetition of OOP

  2. Advanced OOP

  3. Advanced OOP

  4. Advanced OOP

  5. Project commissioning and design patterns

  6. Events, Listeners, Timers and Advanced Callbacks

  7. Working with charts and data visualization

  8. Advanced versioning

  9. Unit testing and code quality assurance

  10. Communication design with hardware

  11. Parallel computing and multi-threaded programming

  12. Application distribution and deployment

  13. Presentation of created applications

Literature - fundamental:
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

The study programmes with the given course:
Programme Study form Branch Spec. Final classification   Course-unit credits     Obligation     Level     Year     Semester  
B-MET-P full-time study --- no specialisation -- Cr 2 Elective 1 1 S
B-MET-P full-time study --- no specialisation -- Cr 2 Elective 1 2 S