Course details
Graphical User Interfaces in X Window System
GUX Acad. year 2021/2022 Winter semester 5 credits
Interaction between user and application, different application classes. Graphical User Interface in Unix and its history. X Window System structure, X server concept, X Protocol. 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 Gtk classes. Programming Gtk3 and Gtk4.
Guarantor
Language of instruction
Completion
Time span
- 26 hrs lectures
- 26 hrs projects
Assessment points
- 20 pts projects
Department
Lecturer
Instructor
Subject specific learning outcomes and competences
Students will get knowledge of application programming in X Window, X Toolkit Intrinsics, Gtk3, Gtk4 and basic principles of user interface design.
Learning objectives
The goal is to make students familiar with the design and programming of graphical user interfaces in Unix/X Window System environment.
Prerequisite knowledge and skills
C language programming in Unix environment.
Study literature
- 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 https://docs.gtk.org/gtk4/
Fundamental literature
- 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
- Warkus, M.: Official GNOME 2 Developer's Guide, O'Reilly, 2004, ISBN: 1-59327-030-5
Syllabus of lectures
- 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 and Gtk widget classes and their usage.
- Event processing, translation table, action table.
- Simple Gtk widget classes and their usage.
- Composite widget classes.
- Menu and dialogs.
Syllabus - others, projects and individual work of students
- Simple application based on given skeleton and examples, common assignment.
- Gtk/GNOME application, individual assignment.
Progress assessment
Written mid-term exam (max. 20 points) and submitting projects in due dates. There is no alternative term of mid-term exam.
Controlled instruction
Projects have to be submitted before the deadline, late project submission will be graded 0 points.
Course inclusion in study plans
- Programme IT-MGR-2, field MBI, MBS, MIN, MMM, MPV, MSK, any year of study, Elective
- Programme IT-MGR-2, field MGM, any year of study, Compulsory-Elective group G
- Programme IT-MGR-2, field MIS, any year of study, Compulsory-Elective group S
- Programme MITAI, field NADE, NBIO, NCPS, NEMB, NGRI, NHPC, NIDE, NISD, NISY, NISY up to 2020/21, NMAL, NMAT, NNET, NSEC, NSEN, NSPE, NVER, NVIZ, any year of study, Elective