Course details

User Interface Programming

ITU Acad. year 2023/2024 Winter semester 5 credits

Communication between computers and humans, information throughput of the interfaces, different ways to implement the interfaces, history of user interfaces and development tools, user interfaces of the current operating systems - Windows, iOS, X-Window. and others, event-controlled interfaces in detail, tools for application and user interface programming, traditional, object, and component models of the interface, elements of the user interfaces - buttons, list boxes, edit boxes, etc., properties of the user interface building blocks, future development in user interface design.

Guarantor

Course coordinator

Language of instruction

Czech, English

Completion

Classified Credit (written+oral)

Time span

  • 26 hrs lectures
  • 12 hrs pc labs
  • 14 hrs projects

Assessment points

  • 20 pts mid-term test (test part)
  • 25 pts seminars in computer labs
  • 55 pts projects

Department

Lecturer

Instructor

Learning objectives

To learn and understand the importance of user interfaces for efficient computer usage. To learn basic principles and structure of the application and user interface development tools. To get acquainted with the history of such development tools and probable future development. To experience the user interface development on a series of examples. To learn about the common building blocks of the user interfaces. To get familiar with properties of the building blocks in Windows, and understand the differences in X-Window or iOS implementations. To get the important skills needed in the development of applications for real-life and student projects.
The students will learn and understand the importance of user interfaces for efficient computer usage. They will learn basic principles and structure of the application and user interface development tools; get acquainted with the history of such development tools and the probable future development. They will experience the user interface development on a series of examples, learn about the common building blocks of the user interfaces, and get familiar with properties of the building blocks in Windows, and understand the differences in X-Window or iOS implementations. They will also get the important skills needed in the development of applications. The students will learn to search team partners and to work in a team. They will also improve their skills in development tools usage and also in practical programming.

Why is the course taught

The Graphical User Interface (GUI) is a key element in making computers accessible to people. Nowadays, computer capabilities are unprecedented and the only limit is how people can use the computing power of these machines to communicate with the machine. GUIs are today the most common and yet the most effective way for people to communicate with computers. The ITU course teaches how to create such GUIs using modern technologies.

Prerequisite knowledge and skills

Basic knowledge of C/C++ programming.

Study literature

  • Yu-kai Chou: Actionable Gamification - Beyond Points, Badges, and Leaderboards. Octalysis Media, ISBN 978-1511744041, 2015.
  • Rubin, J., Chisnell, D., Spool, J.: Handbook of Usability Testing: How to Plan, Design, and Conduct Effective Tests. Wiley, ISBN 978-0470185483, 2008.
  • Steve Krug: Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability. New Riders, ISBN 978-0321965516, 2014.

Fundamental literature

  • Preece J.: Human-Computer Interaction. Addison-Wesley, Wokingham, ISBN 0-201-62769-8, 1995.
  • Sheridan Yuen: Mastering Windows Presentation Foundation: Master the art of building modern desktop applications on Windows. Packt Publishing, ISBN 978-1785883002, 2017.

Syllabus of lectures

  1. Course organization, introduction to GUI
  2. GUI fundamentals, design and history
  3. GUI programming principles in WinAPI
  4. Advanced tools and libraries for Windows (WPF, .NET)
  5. Qt + QML
  6. Web applications
  7. Mobile platforms
  8. GUI on iOS
  9. GTK (industry, in English)
  10. React
  11. X-Windows
  12. UX in practice + mock-ups (industry)
  13. Final test and Conclusion

Syllabus of computer exercises

During the exercises, small tasks will be solved and the exercises will be scored on an ongoing basis. Practiced technologies are WinAPI, Qt, WPF, web/AJAX and GUI testing design. The work on the exercise is individual and the final solution must be author's.

Syllabus - others, projects and individual work of students

Project in duration throughout the course. The aim of the project is to design, implement, test and evaluate the user interface. The evaluation of the project will focus on these attributes. Projects are solved in teams. The submission of the project takes place electronically and must be accompanied by a defense and demonstration of the results. Defense and demonstration is mandatory and is only possible after electronic submission. The evaluation of the solution must describe the important elements of the solution. The documentation includes everything related to project development, implementation and testing. The defense of the project will be in the exercise laboratories. All dates are posted in the IS.

Progress assessment

  • Final test - up to 20 points
  • Evaluated computer laboratories - up to 25 points
  • Individual projects - up to 55 points

 


The monitored activities include individual project, test and evaluated computer laboratories. The test does not have a correction term.

Exam prerequisites

Successful implementation of the project. Students must work independently on their part of the project and develop an author's solution.

Schedule

DayTypeWeeksRoomStartEndCapacityLect.grpGroupsInfo
Mon other 2024-01-08 N204 N205 08:0010:00 Obhajoby projektů
Mon other 2024-01-15 N204 N205 08:0010:00 Obhajoby projektů
Mon comp.lab 2023-10-02 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Bažout, Kohút
Mon comp.lab 2023-10-09 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Mon comp.lab 2023-10-16 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Bambušek, Kubík
Mon comp.lab 2023-10-23 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Mon comp.lab 2023-10-30 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Dolejška, Zavřel
Mon comp.lab 2023-11-06 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Beran
Mon other 2024-01-08 N204 N205 10:0012:00 Obhajoby projektů
Mon other 2024-01-15 N204 N205 10:0012:00 Obhajoby projektů
Mon comp.lab 2023-10-02 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Bažout, Kohút
Mon comp.lab 2023-10-09 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Mon comp.lab 2023-10-16 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Bambušek, Kubík
Mon comp.lab 2023-10-23 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Mon comp.lab 2023-10-30 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Dolejška, Zavřel
Mon comp.lab 2023-11-06 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Beran
Mon other 2024-01-08 N204 N205 12:0014:00 Obhajoby projektů
Mon other 2024-01-15 N204 N205 12:0014:00 Obhajoby projektů
Mon comp.lab 2023-10-02 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Bažout, Kohút
Mon comp.lab 2023-10-09 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Mon comp.lab 2023-10-16 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Bambušek, Kubík
Mon comp.lab 2023-10-23 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Mon comp.lab 2023-10-30 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Dolejška, Pluskal
Mon comp.lab 2023-11-06 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Beran
Mon other 2024-01-08 N204 N205 14:0016:00 Obhajoby projektů
Mon other 2024-01-15 N204 N205 14:0016:00 Obhajoby projektů
Mon comp.lab 2023-10-02 N204 N205 14:0015:5040 2BIA 2BIB 3BIT xx Bažout, Kohút
Mon comp.lab 2023-10-09 N204 N205 14:0015:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Mon comp.lab 2023-10-16 N204 N205 14:0015:5040 2BIA 2BIB 3BIT xx Bambušek, Kubík
Mon comp.lab 2023-10-23 N204 N205 14:0015:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Mon comp.lab 2023-10-30 N204 N205 14:0015:5040 2BIA 2BIB 3BIT xx Dolejška, Pluskal
Mon comp.lab 2023-11-06 N204 N205 14:0015:5040 2BIA 2BIB 3BIT xx Beran
Mon other 2024-01-08 N204 N205 16:0018:00 Obhajoby projektů
Mon other 2024-01-15 N204 N205 16:0018:00 Obhajoby projektů
Mon comp.lab 2023-10-02 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Bažout, Kohút
Mon comp.lab 2023-10-09 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Mon comp.lab 2023-10-16 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Bambušek, Kubík
Mon comp.lab 2023-10-23 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Mon comp.lab 2023-10-30 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Dolejška, Zavřel
Mon comp.lab 2023-11-06 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Beran
Tue other 2024-01-09 N204 N205 08:0010:00 Obhajoby projektů
Tue comp.lab 2023-10-03 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Bambušek, Kohút
Tue comp.lab 2023-10-10 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Tue comp.lab 2023-10-17 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Bambušek, Kubík
Tue comp.lab 2023-10-24 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Tue comp.lab 2023-10-31 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Dolejška, Zavřel
Tue comp.lab 2023-11-07 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Beran
Tue other 2024-01-09 N204 N205 10:0012:00 Obhajoby projektů
Tue comp.lab 2023-10-03 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Bambušek, Kohút
Tue comp.lab 2023-10-10 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Tue comp.lab 2023-10-17 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Bambušek, Kubík
Tue comp.lab 2023-10-24 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Tue comp.lab 2023-10-31 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Dolejška, Zavřel
Tue comp.lab 2023-11-07 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Beran
Tue other 2024-01-09 N204 N205 12:0014:00 Obhajoby projektů
Tue comp.lab 2023-10-03 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Bambušek, Kohút
Tue comp.lab 2023-10-10 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Tue comp.lab 2023-10-17 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Bambušek, Kubík
Tue comp.lab 2023-10-24 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Tue comp.lab 2023-10-31 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Dolejška, Zavřel
Tue comp.lab 2023-11-07 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Beran
Tue exam 2023-12-12 D105 14:0016:00 Test
Tue lecture 2., 4., 5., 9., 11., 12., 13. of lectures D0206 D105 14:0015:50470 2BIA 2BIB 3BIT xx 10 - 19 Beran
Tue lecture 2023-09-19 D0206 D105 14:0015:50470 2BIA 2BIB 3BIT xx 10 - 19 Zemčík
Tue lecture 2023-10-03 D0206 D105 14:0015:50470 2BIA 2BIB 3BIT xx 10 - 19 Tesařová
Tue lecture 2023-10-24 D0206 D105 14:0015:50470 2BIA 2BIB 3BIT xx 10 - 19 Pluskal
Tue lecture 2023-10-31 D0206 D105 14:0015:50470 2BIA 2BIB 3BIT xx 10 - 19 Hrubý
Tue lecture 2023-11-07 D0206 D105 14:0015:50470 2BIA 2BIB 3BIT xx 10 - 19 Herout
Tue lecture 2023-11-21 D0206 D105 14:0015:50470 2BIA 2BIB 3BIT xx 10 - 19 Lampa
Tue other 2024-01-09 N204 N205 14:0016:00 Obhajoby projektů
Tue other 2024-01-09 N204 N205 16:0018:00 Obhajoby projektů
Tue comp.lab 2023-10-03 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Bambušek, Kohút
Tue comp.lab 2023-10-10 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Tue comp.lab 2023-10-17 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Bambušek, Kubík
Tue comp.lab 2023-10-24 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Tue comp.lab 2023-10-31 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Pluskal, Zavřel
Tue comp.lab 2023-11-07 N204 N205 16:0017:5040 2BIA 2BIB 3BIT xx Beran
Wed other 2024-01-10 N204 N205 08:0010:00 Obhajoby projektů
Wed comp.lab 2023-10-04 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Bažout, Kohút
Wed comp.lab 2023-10-11 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Wed comp.lab 2023-10-18 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Bambušek, Bažout
Wed comp.lab 2023-10-25 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Wed comp.lab 2023-11-01 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Dolejška, Zavřel
Wed comp.lab 2023-11-08 N204 N205 08:0009:5040 2BIA 2BIB 3BIT xx Beran
Wed other 2024-01-10 N204 N205 10:0012:00 Obhajoby projektů
Wed comp.lab 2023-10-04 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Bažout, Kohút
Wed comp.lab 2023-10-11 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Wed comp.lab 2023-10-18 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Bambušek, Bažout
Wed comp.lab 2023-10-25 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Wed comp.lab 2023-11-01 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Dolejška, Zavřel
Wed comp.lab 2023-11-08 N204 N205 10:0011:5040 2BIA 2BIB 3BIT xx Beran
Wed other 2024-01-10 N204 N205 12:0014:00 Obhajoby projektů
Wed comp.lab 2023-10-04 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Bažout, Kohút
Wed comp.lab 2023-10-11 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Tesařová, Vaško
Wed comp.lab 2023-10-18 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Bambušek, Bažout
Wed comp.lab 2023-10-25 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Kišš, Šilling
Wed comp.lab 2023-11-01 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Dolejška, Zavřel
Wed comp.lab 2023-11-08 N204 N205 12:0013:5040 2BIA 2BIB 3BIT xx Beran
Wed other 2024-01-10 N204 N205 14:0016:00 Obhajoby projektů
Wed other 2024-01-10 N204 N205 16:0018:00 Obhajoby projektů
Thu other 2023-09-07 L225 12:0013:00 klz - mechanismus CIS

Course inclusion in study plans

  • Programme BIT, 3rd year of study, Compulsory
  • Programme BIT (in English), 3rd year of study, Compulsory
  • Programme IT-BC-3, field BIT, 3rd year of study, Compulsory
Back to top