Course detail
Graphical User Interfaces in X Window System
FIT-GUXAcad. year: 2020/2021
Interaction between user and application, different application classes. Graphical User Interface in Unix and its history. System X Window, structure, X server concept, graphical operations. Application programming interface, Toolkits. Standard X Toolkit and its usage. Object orientation features in X Toolkit and GTK+. Widget names, attributes and manipulation. Event processing, translation and action table. Base X Toolkit and GTK+ classes. Programming with OSF/Motif and GTK+.
Supervisor
Department
Learning outcomes of the course unit
Students will get knowledge of application programming in X Window, GTK+ and OSF/Motif environment and basic principles of user interface design.
Prerequisites
C language programming in Unix environment.
Co-requisites
Not applicable.
Recommended optional programme components
Not applicable.
Recommended or required reading
(http://oreilly.com/openbook/motif/)Heller, D.: Motif Programming Manual, O'Reilly & Associates, 3rd ed 2002, ISBN 1-56592-016-3
https://www.gtk.org/documentation.php
Hix, D., Hartson, H., R.: Developing User Interfaces: Ensuring Usability Through Product & Process, John Wiley & Sons, 1993, ISBN 0-471-57813-4
Scheifler, R., W., Gettys, J.: X Window System, The Complete Reference to Xlib, X Protocol, ICCCM, XLFD, Digital Press, 1990, ISBN 1-55558-050-5
Nye, A., O'Reilly, T.: X Toolkit Intrinsics Programming Manual, OSF/Motif Edition, O'Reilly & Associates, 1990, ISBN 0-937175-62-5
Krause, A.: Foundations of GTK+ Development, Apress, 2007, ISBN13: 978-1-59059-793-4
Heller, D.: Motif Programming Manual, O'Reilly & Associates, 3rd ed 2002, ISBN 1-56592-016-3
Sheets, J.R.: Writing GNOME applications, Addison-Wesley, 2001, ISBN 0-201-65791-0
Dallheimer, M.K.: Programming with Qt, O'Reilly Verlag GmbH, 2001, ISBN 0-596-00064-2
Planned learning activities and teaching methods
Not applicable.
Assesment methods and criteria linked to learning outcomes
Written mid-term exam (max. 20 points) and submitting 2 projects in due dates. There is no alternative term of mid-term exam.
Language of instruction
Czech
Work placements
Not applicable.
Aims
The goal is to make students familiar with the design and programming of graphical user interfaces in Unix/X Window System environment.
Specification of controlled education, way of implementation and compensation for absences
Projects have to be submitted before the deadline, late project submission will be graded 0 points.
Classification of course in study plans
- Programme IT-MGR-2 Master's
branch MBI , any year of study, winter semester, 5 credits, elective
branch MPV , any year of study, winter semester, 5 credits, elective
branch MGM , any year of study, winter semester, 5 credits, compulsory-optional
branch MSK , any year of study, winter semester, 5 credits, elective
branch MIS , any year of study, winter semester, 5 credits, compulsory-optional
branch MBS , any year of study, winter semester, 5 credits, elective
branch MIN , any year of study, winter semester, 5 credits, elective
branch MMI , any year of study, winter semester, 5 credits, elective
branch MMM , any year of study, winter semester, 5 credits, elective - Programme MITAI Master's
specialization NADE , any year of study, winter semester, 5 credits, elective
specialization NBIO , any year of study, winter semester, 5 credits, elective
specialization NGRI , any year of study, winter semester, 5 credits, elective
specialization NNET , any year of study, winter semester, 5 credits, elective
specialization NVIZ , any year of study, winter semester, 5 credits, elective
specialization NCPS , any year of study, winter semester, 5 credits, elective
specialization NSEC , any year of study, winter semester, 5 credits, elective
specialization NEMB , any year of study, winter semester, 5 credits, elective
specialization NHPC , any year of study, winter semester, 5 credits, elective
specialization NISD , any year of study, winter semester, 5 credits, elective
specialization NIDE , any year of study, winter semester, 5 credits, elective
specialization NISY , any year of study, winter semester, 5 credits, elective
specialization NMAL , any year of study, winter semester, 5 credits, elective
specialization NMAT , any year of study, winter semester, 5 credits, elective
specialization NSEN , any year of study, winter semester, 5 credits, elective
specialization NVER , any year of study, winter semester, 5 credits, elective
specialization NSPE , any year of study, winter semester, 5 credits, elective
Type of course unit
Lecture
26 hours, optionally
Teacher / Lecturer
Syllabus
- Application classes from the point of view of user interaction.
- X Window system structure, X protocol, input and output graphic operations.
- Xlib level programming, simple application example, Toolkits, example of application using toolkit.
- OOP features in X Toolkit and GTK+, instance and class of widgets, properties, internal implementation.
- Widget naming system, resources, convertors.
- Built-in X Toolkit widget classes and their usage.
- Event processing, translation table, action table.
- User interface design rules
- Common OSF/Motif features, keyboard navigation, compound strings, font lists and renditions.
- Simple widget classes and their usage.
- Composite widget classes.
- Menu and dialogs.
Project
26 hours, compulsory
Teacher / Lecturer
Syllabus
- Simple application based on given skeleton and examples, common assignment.
- X Toolkit/Motif or GTK+/GNOME application, individual assignment.