Course detail

Graphical User Interfaces in X Window System

FIT-GUXAcad. year: 2019/2020

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+.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

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.

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.

Course curriculum

Not applicable.

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.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic 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

Recommended reading

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/

Classification of course in study plans

  • Programme IT-MSC-2 Master's

    branch MMI , 0 year of study, winter semester, elective
    branch MBI , 0 year of study, winter semester, elective
    branch MSK , 0 year of study, winter semester, elective
    branch MMM , 0 year of study, winter semester, elective
    branch MBS , 0 year of study, winter semester, elective
    branch MPV , 0 year of study, winter semester, elective
    branch MIS , 0 year of study, winter semester, compulsory-optional
    branch MIN , 0 year of study, winter semester, elective
    branch MGM , 0 year of study, winter semester, compulsory-optional

  • Programme MITAI Master's

    specialization NBIO , 0 year of study, winter semester, elective
    specialization NSEN , 0 year of study, winter semester, elective
    specialization NVIZ , 0 year of study, winter semester, elective
    specialization NGRI , 0 year of study, winter semester, elective
    specialization NISD , 0 year of study, winter semester, elective
    specialization NSEC , 0 year of study, winter semester, elective
    specialization NCPS , 0 year of study, winter semester, elective
    specialization NHPC , 0 year of study, winter semester, elective
    specialization NNET , 0 year of study, winter semester, elective
    specialization NMAL , 0 year of study, winter semester, elective
    specialization NVER , 0 year of study, winter semester, elective
    specialization NIDE , 0 year of study, winter semester, elective
    specialization NEMB , 0 year of study, winter semester, elective
    specialization NSPE , 0 year of study, winter semester, elective
    specialization NADE , 0 year of study, winter semester, elective
    specialization NMAT , 0 year of study, winter semester, elective
    specialization NISY , 0 year of study, winter semester, elective

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

  1. Application classes from the point of view of user interaction.
  2. X Window system structure, X protocol, input and output graphic operations.
  3. Xlib level programming, simple application example, Toolkits, example of application using toolkit.
  4. OOP features in X Toolkit and GTK+, instance and class of widgets, properties, internal implementation.
  5. Widget naming system, resources, convertors.
  6. Built-in X Toolkit widget classes and their usage.
  7. Event processing, translation table, action table.
  8. User interface design rules
  9. Common OSF/Motif features, keyboard navigation, compound strings, font lists and renditions.
  10. Simple widget classes and their usage.
  11. Composite widget classes.
  12. Menu and dialogs.

Project

26 hod., compulsory

Teacher / Lecturer

Syllabus

  1. Simple application based on given skeleton and examples, common assignment.
  2. X Toolkit/Motif or GTK+/GNOME application, individual assignment.