Objectives

After the course the student will be able to:
- differentiate and choose between user interface techniques and modalities for different purposes
- locate the background architectures and technical solutions for user interfaces and discuss these
- build and develop both procedural and declarative (with tools) user interfaces
- use event handling and reactive components in a user interface
- incorporate multi-threaded programming techniques in the context of user interfaces
- choose and design asynchronous solutions for computational tasks without predefined durations
- justify and choose models of user interface design to improve the user experience
- evaluate the usability of a user interface against general quality criteria
- compare the different solutions for user interface techniques offered by different platforms
- identify, locate and obtain information about user interface techniques
- conduct searches of literature (research and technical documentation) and evaluate the results
The course gives an understanding of designing, implementing and evaluating the usability of user interfaces. The student is also able to use different software frameworks and libraries to implement user interfaces.