User Interface Programming
|Hour/sem||Lectures||Sem. Exercises||Lab. exercises||Comp. exercises||Other|
|Guarantee:||Beran Vítězslav, Ing., Ph.D., DCGM|
|Lecturer:||Zemčík Pavel, prof. Dr. Ing., DCGM|
|Instructor:||Beran Vítězslav, Ing., Ph.D., DCGM|
Maršík Lukáš, Ing., DCGM
Mlích Jozef, Ing., DCGM
Žák Pavel, Ing., DCGM
|Faculty:||Faculty of Information Technology BUT|
|Department:||Department of Computer Graphics and Multimedia FIT BUT|
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.
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.
|Knowledge and skills required for the course:|
Basic knowledge of C/C++ programming.
|Subject specific learning outcomes and competences:|
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.
|Generic learning outcomes and competences:|
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 C/C++ programming.
|Syllabus of lectures:|
- Communication between computers and humans, information throughput
of the interfaces, event driven interfaces, programs and messages in
Windows, redrawing of windows (Introduction, Windows) (Beran, 26.9.)
their features and redrawing, dialog boxes, basic building blocks,
communication between the components, input in Windows - keyboard and
mouse, clipboard (Dialogs, Input) (Beran, 3.10.)
- X-Window - API and extensions (examples) (Mlích, 10.10.)
- Tools for user interface programming - GTK, Qt (Qt, Gtk, 1/A4) (Mlích, 17.10.)
- Building of components (Components, Component demo C++Builder5/6) (Zemčík, 24.10.)
- Web interfaces (Web GUI, demo) (Beran, 14.11.)
- Design and evaluation of user interfaces (evaluation) (Beran, 21.11.)
- Multithreaded applications (Zemčík, 28.11.)
Final test is 12.12. in the G202 at 16:00 (as lectures).
Project presentation is 15.12 in the O203 at 11:00 (as labs).
|Syllabus of computer exercises:|
- 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
|Syllabus - others, projects and individual work of students:|
- individual project assignment - one project for the whole duration of the course
- 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 - series of journals - various papers
- WWW page of Borland www.borland.com, developemtn tools C++ Builder, Delphi
- WWW Microsoft www.microsoft.com keywords Visual C++, Active X, Windows
The monitored activities include individual project, mid-term test and evaluated computer laboratories. The mid-term test does not have correction term.
- Mid-term test - up to 20 points
- Evaluated computer laboratories - up to 25 points
- Individual projects - up to 55 points