Course detail

User Interface Programming

FIT-ITUAcad. year: 2018/2019

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.

Learning outcomes of the course unit

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

Prerequisites

Basic knowledge of C/C++ programming.

Co-requisites

Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

  • WWW strana Borland www.borland.com, vývojové prostředky C++ Builder, Delphi
  • WWW Microsoft www.microsoft.com hesla Visual C++, Active X, Windows

  • Preece J.: Human-Computer Interaction, Addison-Wesley, Wokingham, UK, 1995, ISBN 0-201-62769-8
  • Wodtke M.: Mind Over Media, McGraw-Hill, New York, USA, 1993, ISBN 0-07-067633-X
  • IEEE Multimedia, IEEE - série časopisů - různé články

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

  • Final test - up to 20 points
  • Evaluated computer laboratories - up to 25 points
  • Individual projects - up to 55 points

Exam prerequisites:
successful project

Language of instruction

Czech, English

Work placements

Not applicable.

Course curriculum

    Syllabus of lectures:
    1. Introduction, design and testing of GUI (Design and testing)
    2. GUI design and testing (materials)
    3. Principles, applications, inputs and dialogs in Windows (Principles,DialogsInputsDialog demo C++Builder5/6)
    4. Tools for user interface programming - Qt (Qtexamples)
    5. Advanced tools and libraries for Windows (WPF and .NET, example)
    6. Web interfaces (Web GUI)
    7. Web 2.0
    8. Mobile platforms
    9. GTK and X-Window (presentation - GTK and examples, further material- API and extensions, basics, examples X-Win)
    10. GUI on iOS
    11. Gamification (presentation)
    12. GUI testing
    13. Final test, Conclusion

    The lecture order might be actualized during the term.
    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 applicati

Aims

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.

Specification of controlled education, way of implementation and compensation for absences

The monitored activities include individual project, test and evaluated computer laboratories. The test does not have correction term.

Classification of course in study plans

  • Programme IT-BC-3 Bachelor's

    branch BIT , 3. year of study, winter semester, 5 credits, compulsory

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

  1. Introduction to course and GUI (organization, introduction)
  2. GUI design and testing (materials)
  3. Principles, applications, inputs and dialogs in Windows (Principles,DialogsInputsDialog demo C++Builder5/6)
  4. Advanced tools and libraries for Windows (WPF and .NET)
  5. Qt (presentationexamples)
  6. QML (presentationdemonstration)
  7. Web interfaces (presentation)
  8. GUI on iOS (presentation)
  9. GTK (Carlos Soriano Sanchez, Red Hat, in english, presentation, demos)
  10. Mobile platforms (presentation)
  11. Web interfaces - advanced technologies (presentation)
  12. Gamification (presentation)
  13. Final test, Conclusion

The lecture order might be updated during the term.

Computer exercise

12 hours, compulsory

Teacher / Lecturer

Syllabus


  • 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

Projects

14 hours, compulsory

Teacher / Lecturer

Syllabus


  • individual project assignment - one project for the whole duration of the course

eLearning

eLearning: opened course