Course details
User Interface Programming
ITUe Acad. year 2017/2018 Winter semester 4 credits
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.
Guarantor
Language of instruction
Completion
Time span
- 14 hrs lectures
- 12 hrs pc labs
- 13 hrs projects
Assessment points
- 20 pts mid-term test (test part)
- 25 pts numeric exercises
- 55 pts projects
Department
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.
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.
Learning objectives
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.
Prerequisite knowledge and skills
Basic knowledge of C/C++ programming.
Fundamental literature
- Preece J.: Human-Computer Interaction. Addison-Wesley, Wokingham, ISBN 0-201-62769-8, 1995.
- Sheridan Yuen: Mastering Windows Presentation Foundation: Master the art of building modern desktop applications on Windows. Packt Publishing, ISBN 978-1785883002, 2017.
Syllabus of lectures
- Introduction, design and testing of GUI (Design and testing)
- Advanced tools and libraries for Windows (WPF and .NET,example)
- Tools for user interface programming - Qt (Qt, examples)
- Principles, applications, inputs and dialogs in Windows (Principles, Dialogs, Inputs, Dialog demo C++Builder5/6)
- Web interfaces (Web GUI, demo)
- Mobile platforms
- GTK and X-Window (presentation - GTK and examples, further material- API and extensions, basics, examples X-Win)
Syllabus of computer exercises
- 5 individual exercises practically applying the lectures (details in course private section)
Progress assessment
successful project
Controlled instruction
The monitored activities include individual project, mid-term test and evaluated computer laboratories. The mid-term test does not have correction term.