Syllabus for User Interface Programming I

Gränssnittsprogrammering I

A revised version of the syllabus is available.

  • 5 credits
  • Course code: 1MD002
  • Education cycle: Second cycle
  • Main field(s) of study and in-depth level: Computer Science A1N, Technology A1N, Human-Computer Interaction A1N
  • Grading system: Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)
  • Established: 2007-03-19
  • Established by: The Faculty Board of Science and Technology
  • Revised: 2007-11-06
  • Revised by: The Faculty Board of Science and Technology
  • Applies from: Autumn 2008
  • Entry requirements:

    120 ECTS credits with 60 ECTS credits science studies including an introductory course in human computer interaction and object-oriented programming.

  • Responsible department: Department of Information Technology

Learning outcomes

On completion of the course, the student should be able to:

Use existing components from an interface library to build an interactive user interface;

Be able to produce an interface that has support for several languages, by separating linguistic contents from program code;

Separate an interface's behaviour from its appearance;

Produce responsive interface;

Structure program code in a way so that the different parts of the code are independent of one another;

To plan and create solutions where the visual presentation are independent of the underlying data structure;

Present individual and group results in discussions and seminars;

On the basis of a plan be able to implement an interactive interface.


This course is about how one implements graphical user interfaces. The course includes (in detail) different strategies and techniques for how one designs user interfaces. Focus is on the development of the interfaces - it is therefore not a course in graphical design. Tools used to create interfaces also belong here.

Different ways to design interfaces are examined via practical exercises. Some key concepts: model-view, threaded interfaces, interruption control, client/server, language independent applications, design patterns, keyboard shortcuts, actions, renderers.

Code development within the course is done using Java/Swing.


The course is practically aimed, and a large part of the knowledge must be acquired via individual and group-based programming/development.


Joint solution to assignments, attendance on seminars, presentation of individual effort.

Reading list

The reading list is missing. For further information, please contact the responsible department.

Last modified: 2022-04-26