Title:

User Interface Programming

Code:ITU
Ac.Year:2017/2018
Term:Winter
Curriculums:
ProgrammeBranchYearDuty
IT-BC-1HBCH-Recommended
IT-BC-3BIT3rdCompulsory
Language:Czech
Credits:5
Completion:classified accreditation
Type of
instruction:
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Hours:26001213
 ExaminationTestsExercisesLaboratoriesOther
Points:02025055
Guarantee:Beran Vítězslav, Ing., Ph.D., DCGM
Lecturer:Beran Vítězslav, Ing., Ph.D., DCGM
Herout Adam, prof. Ing., Ph.D., DCGM
Hrubý Martin, Ing., Ph.D., DITS
Jašek Roman, Ing., DCGM
Lysek Tomáš, Ing., DCGM
Mlích Jozef, Ing., DCGM
Zemčík Pavel, prof. Dr. Ing., DCGM
Instructor:Beran Vítězslav, Ing., Ph.D., DCGM
Dobeš Petr, Ing., DCGM
Kapinus Michal, Ing., DCGM
Kula Michal, Ing., DCGM
Lysek Tomáš, Ing., DCGM
Nosko Svetozár, Ing., DCGM
Faculty:Faculty of Information Technology BUT
Department:Department of Computer Graphics and Multimedia FIT BUT
Schedule:
DayLessonWeekRoomStartEndLect.Gr.St.G.EndG.
Moncomp.lablecturesN20408:0009:503BIT
Moncomp.lablecturesN20508:0009:503BIT
Moncomp.lablecturesN20510:0011:503BIT
Moncomp.lablecturesN20410:0011:503BIT
Moncomp.lablecturesN20412:0013:503BIT
Moncomp.lablecturesN20512:0013:503BIT
Moncomp.lablecturesN20514:0015:503BIT
Moncomp.lablecturesN20414:0015:503BIT
Moncomp.lablecturesN20416:0017:503BIT
Moncomp.lablecturesN20516:0017:503BIT
Tuecomp.lablecturesN20508:0009:503BIT
Tuecomp.lablecturesN20408:0009:503BIT
Tuecomp.lablecturesN20410:0011:503BIT
Tuecomp.lablecturesN20510:0011:503BIT
Tuecomp.lablecturesN20412:0013:503BIT
Tuecomp.lablecturesN20512:0013:503BIT
Tuecomp.lablecturesN20414:0015:503BIT
Tuecomp.lablecturesN20514:0015:503BIT
Wedcomp.lablecturesN20508:0009:503BIT
Wedcomp.lablecturesN20408:0009:503BIT
Wedcomp.lablecturesN20410:0011:503BIT
Wedcomp.lablecturesN20510:0011:503BIT
WedlecturelecturesD10512:0013:503BIT
WedlecturelecturesD020712:0013:503BIT
WedlecturelecturesD10512:0013:502BIAxxxx
WedlecturelecturesD10512:0013:502BIBxxxx
 
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.
Description:
  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 programming.
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 application
  • WPF simple application
  • Web principles demonstration and example application
Syllabus - others, projects and individual work of students:
 
  • individual project assignment - one project for the whole duration of the course
Fundamental literature:
 
  • Preece J.: Human-Computer Interaction, Addison-Wesley, Wokingham, UK, 1995, ISBN 0-201-62769-8
  • Dix, A., Finlay, J., Abowd, G., D.,  Beale, R.: Human-Computer Interaction (3rd edition), Prentice Hall, 2004, ISBN 0130461091
  • Shneiderman, B., Plaisant, C.: Designing the User Interface: Strategies for Effective Human-Computer Interaction (5th edition), Pearson Addison-Wesley, 2009, ISBN 0321197860
  • Wodtke M.: Mind Over Media, McGraw-Hill, New York, USA, 1993, ISBN 0-07-067633-X
  • IEEE Multimedia, IEEE - series of journals - various papers
Study literature:
 
  • WWW page of Borland www.borland.com, developemtn tools C++ Builder, Delphi
  • WWW Microsoft www.microsoft.com keywords Visual C++, Active X, Windows
Controlled instruction:
  The monitored activities include individual project, mid-term test and evaluated computer laboratories. The mid-term test does not have correction term.
Progress assessment:
  
  • Mid-term test - up to 20 points
  • Evaluated computer laboratories - up to 25 points
  • Individual projects - up to 55 points
Exam prerequisites:
  successful project