Course detail

User Interface Programming

FIT-ITUAcad. year: 2022/2023

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 operating 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, list boxes, edit boxes, etc., properties of the user interface building blocks, future development in user interface design.

Language of instruction

Czech

Number of ECTS credits

5

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 structure 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 the development of applications. The students will learn to search team partners and to work in a 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

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

 

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

To learn and understand the importance of user interfaces for efficient computer usage. To learn basic principles and structure of the application and user interface development tools. To get acquainted with the history of such development tools and 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 the development of applications for 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 a 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.
Sheridan Yuen: Mastering Windows Presentation Foundation: Master the art of building modern desktop applications on Windows. Packt Publishing, ISBN 978-1785883002, 2017.

Recommended reading

Rubin, J., Chisnell, D., Spool, J.: Handbook of Usability Testing: How to Plan, Design, and Conduct Effective Tests. Wiley, ISBN 978-0470185483, 2008.
Steve Krug: Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability. New Riders, ISBN 978-0321965516, 2014.
Yu-kai Chou: Actionable Gamification - Beyond Points, Badges, and Leaderboards. Octalysis Media, ISBN 978-1511744041, 2015.

Elearning

Classification of course in study plans

  • Programme BIT Bachelor's 3 year of study, winter semester, compulsory
  • Programme BIT Bachelor's 3 year of study, winter semester, compulsory

  • Programme IT-BC-3 Bachelor's

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

  • Programme BAK-MIn Bachelor's 3 year of study, winter semester, elective

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

  1. Course organization, introduction to GUI
  2. GUI fundamentals, design and history
  3. GUI programming principles in WinAPI
  4. Advanced tools and libraries for Windows (WPF, .NET)
  5. Qt + QML
  6. Web applications
  7. GUI testing
  8. Mobile platforms
  9. GUI on iOS
  10. GTK (industry, in English)
  11. React
  12. UX in practice + mock-ups (industry)
  13. Final test and Conclusion

Exercise in computer lab

12 hod., compulsory

Teacher / Lecturer

Syllabus

During the exercises, small tasks will be solved and the exercises will be scored on an ongoing basis. Practiced technologies are WinAPI, Qt, WPF, web/AJAX and GUI testing design. The work on the exercise is individual and the final solution must be author's.

Project

14 hod., compulsory

Teacher / Lecturer

Syllabus

Project in duration throughout the course. The aim of the project is to design, implement, test and evaluate the user interface. The evaluation of the project will focus on these attributes. Projects are solved in teams. The submission of the project takes place electronically and must be accompanied by a defense and demonstration of the results. Defense and demonstration is mandatory and is only possible after electronic submission. The evaluation of the solution must describe the important elements of the solution. The documentation includes everything related to project development, implementation and testing. The defense of the project will be in the exercise laboratories. All dates are posted in the IS.

Elearning