Course detail

User Interface Programming

FIT-ITUAcad. year: 2013/2014

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

Language of instruction

Czech

Number of ECTS credits

4

Mode of study

Not applicable.

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

Planned learning activities and teaching methods

The course uses teaching methods in form of Lecture - 2 teaching hours per week, Computer exercise - 1 teaching hour per week, Projects - 1 teaching hour per week.

Assesment methods and criteria linked to learning outcomes

successful project

Course curriculum

Syllabus of lectures:
  1. Introduction, design and testing of GUI (Course introduction and Projects, Design and testing) (Beran)
  2. Principles, applications, inputs and dialogs in Windows (Principles, WindowsDialogsInputsDialog demo C++Builder5/6) (Zemčík)
  3. Tools for user interface programming - Qt ( Qt, examples) (Mlích)
  4. Tools and libraries for Windows (WPF, .NET) (Zachariáš)
  5. Web interfaces (Web GUIdemo) (Klicnar) 
  6. X-Window - API and extensions, Gtk and trends ( examples GTK, examples X-Win) (RedHat)
  7. Building of components and multithreaded applications (Components, Component demo C++Builder5/6) (Zemčík)

The lecture order might be actualized during the term.
Syllabus of computer exercises:

  • Introductory lab, getting acquainted with software (C++ Builder/Delphi/Visual C++)
  • Simple component-oriented programming example, Windows API d

Work placements

Not applicable.

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 implementation. 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, mid-term test and evaluated computer laboratories. The mid-term test does not have correction term.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Preece J.: Human-Computer Interaction. Addison-Wesley, Wokingham, ISBN 0-201-62769-8, 1995.

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme IT-BC-3 Bachelor's

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

Type of course unit

 

Lecture

14 hours, optionally

Teacher / Lecturer

Syllabus

  1. Introduction, design and testing of GUI (Course introduction and Projects, Design and testing) (Beran)
  2. Principles, applications, inputs and dialogs in Windows (Principles, WindowsDialogsInputsDialog demo C++Builder5/6) (Zemčík)
  3. Tools for user interface programming - Qt ( Qt, demo QML, QML shader) (Mlích)
  4. Tools and libraries for Windows (WPF, .NET) (Zachariáš)
  5. Web interfaces (Web GUIdemo) (Klicnar) 
  6. X-Window - API and extensions, Gtk and trends (examples) (RedHat)
  7. Building of components and multithreaded applications (Components, Component demo C++Builder5/6) (Zemčík)

Exercise in computer lab

12 hours, optionally

Teacher / Lecturer

Syllabus

  • Introductory lab, getting acquainted with software (C++ Builder/Delphi/Visual C++)
  • Simple component-oriented programming example, Windows API demonstration
  • Window features, window redrawing, validity of window content, message and user message handling
  • Application with dialog box, basic building blocks, blocks properties, mutual communication
  • Keyboard and mouse in Windows, cursor changes, clipoboard
  • Multithreaded application, development of user interface components

Project

13 hours, optionally

Teacher / Lecturer