Course details
User Interface Programming (in English)
ITUe Acad. year 2024/2025 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 operation 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, listboxes, editboxes, etc., properties of the user interface building blocks, future development in user interface design.
Guarantor
Course coordinator
Language of instruction
Completion
Time span
- 26 hrs lectures
- 12 hrs pc labs
- 13 hrs projects
Assessment points
- 20 pts mid-term test (test part)
- 25 pts numeric exercises
- 55 pts projects
Department
Lecturer
Herout Adam, prof. Ing., Ph.D. (DCGM)
Hrubý Martin, Ing., Ph.D. (DITS)
Lampa Petr, Ing. (DIFS)
Mlích Jozef, Ing.
Omachtová Alena, Ing. (CVT)
Pluskal Jan, Ing., Ph.D. (DIFS)
Zemčík Pavel, prof. Dr. Ing., dr. h. c. (DCGM)
Instructor
Bažout David, Ing.
Beran Vítězslav, doc. Ing., Ph.D. (DCGM)
Dolejška Daniel, Ing. (DIFS)
Herout Adam, prof. Ing., Ph.D. (DCGM)
Kapinus Michal, Ing., Ph.D. (DCGM)
Kišš Martin, Ing. (DCGM)
Kohút Jan, Ing. (DCGM)
Omachtová Alena, Ing. (CVT)
Learning objectives
To learn and understand the importance of user interfaces for efficient computer usage. To learn basic principles and stucture of the application and user interface development tools. To get acquainted with the history of such development tools and the 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 development of applications for the 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 stucture 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 development of applications.
The students will learn to search team partners and to work in team. They will also improve their skills in development tools usage and also in practical C/C++ programming.
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.
- Lee Zhi Eng: Hands-On GUI Programming with C++ and Qt5: Build stunning cross-platform applications and widgets with the most powerful GUI framework. Packt Publishing, ISBN 978-1788397827, 2018.
- 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
- GUI fundamentals, principles and design
- Wireframes and mockups
- Web GUI
- GUI programming principles in WinAPI
- Qt + QML
- Advanced tools and libraries for Windows (WPF, .NET)
- GUI on iOS
- Mobile platforms
- X-Windows
- GTK
- React/Vue.js
- UX in practice
- 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, mid-term test and evaluated computer laboratories. The mid-term test does not have correction term.
Schedule
Day | Type | Weeks | Room | Start | End | Capacity | Lect.grp | Groups | Info |
---|---|---|---|---|---|---|---|---|---|
Fri | lecture | 1., 3., 7., 10., 11., 12., 13. of lectures | A112 | 08:00 | 09:50 | 64 | INTE | xx | Beran |
Fri | lecture | 2024-09-27 | A112 | 08:00 | 09:50 | 64 | INTE | xx | Omachtová |
Fri | lecture | 2024-10-11 | A112 | 08:00 | 09:50 | 64 | INTE | xx | Zemčík |
Fri | lecture | 2024-10-18 | A112 | 08:00 | 09:50 | 64 | INTE | xx | Beran, Mlích |
Fri | lecture | 2024-10-25 | A112 | 08:00 | 09:50 | 64 | INTE | xx | Pluskal |
Fri | lecture | 2024-11-08 | A112 | 08:00 | 09:50 | 64 | INTE | xx | Herout |
Fri | lecture | 2024-11-15 | A112 | 08:00 | 09:50 | 64 | INTE | xx | Lampa |
Fri | other | 2024-11-15 | E105 | 10:00 | 11:50 | 64 | INTE | xx | Herout |
Fri | comp.lab | 2024-10-04 | N103 N104 N105 | 10:00 | 11:50 | 60 | INTE | xx | Omachtová |
Fri | comp.lab | 2024-10-11 | N103 N104 N105 | 10:00 | 11:50 | 60 | INTE | xx | Kišš |
Fri | comp.lab | 2024-10-18 | N103 N104 N105 | 10:00 | 11:50 | 60 | INTE | xx | Bambušek |
Fri | comp.lab | 2024-10-25 | N103 N104 N105 | 10:00 | 11:50 | 60 | INTE | xx | Kohút |
Fri | comp.lab | 2024-11-08 | N103 N104 N105 | 10:00 | 11:50 | 60 | INTE | xx | Dolejška |