Official course description:
This 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?
This 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
- Modeling the Problem Domain
- Aesthetics and Visual Design
- Web Application Development
- Evaluating User Interfaces
- Software Design for User Interfaces.
- Interacting with the Backend
- Source Code Usability
The 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.
In 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-trinsskala)
D2G: Submission of written work for groups with following oral exam supplemented by the work submitted. The group has a shared responsibility for the content of the report.
Group Exam mixed 1
Exam duration: 30 minutes per student.
The students make a joint presentation followed by a
Subsequently the students are having 20 minutes individual examination with presentation and / or dialogue with the supervisor and external examiner while the rest of the group is outside the room.
Hand-In: Group report summarizing the requirements elicitation and the design process of the group project.
Z. To be decided, - (-)