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
Supervisor
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
- Introduction to application development in MATLAB and basic terminology
- Examples and analysis of existing applications
- Developing an application specification
- Design patterns
- User experience (UX) fundamentals
- Events, listeners, timers, and advanced callbacks
- Working with plots and data visualization
- Advanced use of version control
- Unit testing and code quality assurance
- Designing interfaces for hardware communication
- Background computation and maintaining application responsiveness
- 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
- Introduction to application development in Matlab and application development terminology
- Sample and analysis of finished applications
- Creating specifications
- Design patterns
- UX basics
- Events, Listeners, Timers and Advanced Callbacks
- Working with charts and data visualization
- Advanced versioning
- Unit testing and code quality assurance
- Communication design with hardware
- Parallel computing and multi-threaded programming
- Application distribution and deployment
- Presentation of created applications
Computer-assisted exercise
26 hours, compulsory
Syllabus
- Repetition of OOP
- Advanced OOP
- Advanced OOP
- Advanced OOP
- Project commissioning and design patterns
- Events, Listeners, Timers and Advanced Callbacks
- Working with charts and data visualization
- Advanced versioning
- Unit testing and code quality assurance
- Communication design with hardware
- Parallel computing and multi-threaded programming
- Application distribution and deployment
- Presentation of created applications