Official course description:
AbstractThis course teaches the foundation of constructing user interfaces for computer systems. This problem is likely harder than you might think: computer program very often perform complex tasks, yet users demand and need simple interfaces. Producing such interfaces requires an understanding of both the user—e.g., what are they trying to accomplish? what do they know already?—and the computer system—e.g., how fast can we provide responses?
DescriptionThis course provides a high-level overview of the history and the essential concepts related to interaction design and the fundamental programming patterns commonly used in programming user interfaces. By the end of the course the students will have discussed in theory but also have followed in practice all the steps from the generation of an idea to its implementation in a minimum viable product and its evaluation. Some of the topics that we are going to discuss in the course are:
- The History of Interaction Design
- Usability and Usefulness
- Understanding Users and Requirements
- Modelling the Problem Domain
- Aesthetics and Visual Design
- Web Application Development
- Evaluating User Interfaces
- Software Design for User Interfaces
- Interacting with the Back-end
- Source Code Usability
Formal prerequisitesThe students are required to have basic programming skills.
Intended learning outcomes
After the course, the student should be able to:
- Explain the process of interaction design, including requirements elicitation, prototyping, evaluation
- Describe interaction design and programming principles that are fundamental to building of user interfaces
- Evaluate and critique the design and implementation of interactive products
- Reflect, adapt and apply interaction design principles and software engineering principles towards the designing of an interactive product
14 lectures + 14 (exercise / workshop / project work) sessions
The course is designed around a practical project that is developed in parallel and takes input from the lectures. The project is done in teams of up to four people. The teams present the evolution of their projects throughout the semester in a series of progress presentations. The outcome of the project will be presented in a plenary presentation session at the end of the course.
Mandatory activitiesIn order to be able to be approved to participate in the oral exam, a student is required to:
- participate in the presentations of their work with their group
- provide constructive feedback to the design of another group in the form of a report review
- participate in the group work including requirements elicitation, UI design, software design and programming.
The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.
The course literature is published in the course page in LearnIT.
Ordinary examExam type:
D: Submission of written work with following oral, External (7-point scale)
D2G: Submission for groups with following oral exam supplemented by the submission. Shared responsibility for the report.
Group report summarizing the requirements elicitation and the design process of the group project.
Mixed exam 1 : Individual and joint student presentation followed by an individual and a group dialogue. The students make a joint presentation followed by a group dialogue. Subsequently the students are having individual examination with presentation and / or dialogue with the supervisor and external examiner while the rest of the group is outside the room.