Course detail

Development of Software Applications

FSI-R0SAcad. year: 2025/2026

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.

Language of instruction

Czech

Number of ECTS credits

2

Mode of study

Not applicable.

Entry knowledge

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

Rules for evaluation and completion of the course

The evaluation is based on the submitted project.

Aims

  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

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Algorithms: Fundamental Techniques. Dostupne online: http://en.wikibooks.org/wiki/Algorithms (EN)
Knuth, D.: The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 2019 (EN)
Stormy Attaway: Matlab: A Practical Introduction to Programming and Problem Solving, Butterworth-Heinemann, 2019 (EN)

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme B-MET-P Bachelor's 1 year of study, summer semester, elective
    2 year of study, summer semester, elective

Type of course unit

 

Lecture

13 hod., optionally

Teacher / Lecturer

Syllabus

  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

26 hod., compulsory

Teacher / Lecturer

Syllabus

  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