Title:

User Interface Programming

Code:ITU
Ac.Year:2019/2020
Sem:Winter
Curriculums:
ProgrammeField/
Specialization
YearDuty
BIT-3rdCompulsory
IT-BC-3BIT3rdCompulsory
Language of Instruction:Czech
Credits:5
Completion:classified credit
Type of
instruction:
Hour/semLecturesSeminar
Exercises
Laboratory
Exercises
Computer
Exercises
Other
Hours:26001214
 ExamsTestsExercisesLaboratoriesOther
Points:02025055
Guarantor:Beran Vítězslav, Ing., Ph.D. (DCGM)
Deputy guarantor:Zemčík Pavel, prof. Dr. Ing. (DCGM)
Lecturer:Beran Vítězslav, Ing., Ph.D. (DCGM)
Herout Adam, prof. Ing., Ph.D. (DCGM)
Hrubý Martin, Ing., Ph.D. (DITS)
Mlích Jozef, Ing. (DCGM)
Pluskal Jan, Ing. (DIFS)
Zemčík Pavel, prof. Dr. Ing. (DCGM)
Instructor:Bambušek Daniel, Ing. (DCGM)
Beran Vítězslav, Ing., Ph.D. (DCGM)
Dobeš Petr, Ing. (DCGM)
Chlubna Tomáš, Ing. (DCGM)
Nosko Svetozár, Ing. (DCGM)
Švec Tomáš, Ing. (DCGM)
Faculty:Faculty of Information Technology BUT
Department:Department of Computer Graphics and Multimedia FIT BUT
Schedule:
DayLessonWeekRoomStartEndLect.Gr.Groups
Moncomp.lablecturesN204 N205 08:0009:502BIA 2BIB 3BIT xx
Moncomp.lablecturesN204 N205 10:0011:502BIA 2BIB 3BIT xx
Moncomp.lablecturesN204 N205 12:0013:502BIA 2BIB 3BIT xx
Moncomp.lablecturesN204 N205 14:0015:502BIA 2BIB 3BIT xx
Moncomp.lablecturesN204 N205 16:0017:502BIA 2BIB 3BIT xx
Tuecomp.lablecturesN204 N205 08:0009:502BIA 2BIB 3BIT xx
Tuecomp.lablecturesN204 N205 10:0011:502BIA 2BIB 3BIT xx
Tuecomp.lablecturesN204 N205 12:0013:502BIA 2BIB 3BIT xx
Tuecomp.lablecturesN204 N205 14:0015:502BIA 2BIB 3BIT xx
Tuecomp.lablecturesN204 N205 16:0017:502BIA 2BIB 3BIT xx
Wedcomp.lablecturesN204 N205 08:0009:502BIA 2BIB 3BIT xx
Wedcomp.lablecturesN204 N205 10:0011:502BIA 2BIB 3BIT xx
Wedcomp.lablecturesN204 N205 12:0013:502BIA 2BIB 3BIT xx
ThulecturelecturesD0206 D105 13:0014:502BIA 2BIB 3BIT xx
 
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.
Description:
  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.
Knowledge and skills required for the course:
  Basic knowledge of C/C++ programming.
Subject specific learning outcomes and competencies:
  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.
Generic learning outcomes and competencies:
  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.
Syllabus of lectures:
 
  1. Introduction to course and GUI
  2. GUI design and testing
  3. Principles, applications, inputs and dialogues in Windows
  4. Advanced tools and libraries for Windows
  5. Qt
  6. QML
  7. Web interfaces
  8. GUI on iOS
  9. GTK (Carlos Soriano Sanchez, Red Hat, in English)
  10. Mobile platforms
  11. Web 2.0
  12. Gamification
  13. Final test, Conclusion
Syllabus of computer exercises:
 
  • GUI design - design discussions, project mock-ups
  • Windows API demonstration, Simple component-oriented programming example, Keyboard and mouse in Windows, cursor changes, clipboard
  • Qt simple application
  • WPF simple application
  • Web principles demonstration and example application
Syllabus - others, projects and individual work of students:
 
  • individual project assignment - one project for the whole duration of the course
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.
Study literature:
 
  • Dix, A., Finlay, J., Abowd, G., D.,  Beale, R.: Human-Computer Interaction. Prentice Hall, ISBN 0130461091, 2004.
  • Steve Krug: Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability. New Riders, ISBN 978-0321965516, 2014.
  • 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.
Controlled instruction:
  The monitored activities include individual project, test and evaluated computer laboratories. The test does not have a correction term.
Progress assessment:
  
  • Final test - up to 20 points
  • Evaluated computer laboratories - up to 25 points
  • Individual projects - up to 55 points
Exam prerequisites:
  successful project
 

Your IPv4 address: 35.153.135.60