Course detail

Development of Software Applications

FSI-R0S Acad. year: 2027/2028 Summer semester

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

Entry knowledge

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

Rules for evaluation and completion of the course

The course is completed by submitting and presenting a project developed in MATLAB. A maximum of 100 points can be awarded for the project. Assessment considers fulfilment of the assignment requirements, application functionality, the quality of the source code and documentation, and the quality of the presentation, during which the student demonstrates the application and explains the chosen solution.

Aims

  1. Introduction to application development in MATLAB and basic terminology
  2. Examples and analysis of existing applications
  3. Developing an application specification
  4. Design patterns
  5. User experience (UX) fundamentals
  6. Events, listeners, timers, and advanced callbacks
  7. Working with plots and data visualization
  8. Advanced use of version control
  9. Unit testing and code quality assurance
  10. Designing interfaces for hardware communication
  11. Background computation and maintaining application responsiveness
  12. Application distribution and deployment within MATLAB

The study programmes with the given course

Programme B-MET-P: Mechatronics, Bachelor's, elective

Type of course unit

 

Lecture

13 hours, optionally

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 hours, compulsory

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