Topic outline

  • Computational Interaction, oxford university press 2018

    ELEC-E7851 Computational User Interface Design (5 cr, Period II)

    Computational interaction focuses on the use of algorithms and mathematical models to explain and enhance human-computer interaction. While there are numerous approaches to computational interaction, they all share a commitment to computational models of interaction. These models can drive design, adaptation, and support human decision-making. The study of computational interaction draws from artificial intelligence and machine learning, computational statistics, information theory, design optimization, cognitive science, formal methods, and control theory. 

    Learning Objectives

    The course offers a solid introduction to students who seek principled and yet actionable understanding of algorithmic HCI. The course introduces computational principles and core models of interaction for students with computational and engineering background. Students learn to formulate design and interaction problems and derive solutions by analysis, simulation, and optimization.  Application areas cover the most widely used interfaces.

    New in 2020

    In 2020, we will have more data-driven approaches.  


    Prof. Antti Oulasvirta and guest lecturers

    Teaching assistant: Asutosh Hota


    Lectures; Assignments solved with Python;Assigned readings; Exam


    Mandatory programming language: Python. Assignments require familiarity with general concepts of computer science and mathematics, especially probability and linear algebra. We also recommend (but do not require) a previous course on HCI, such as CS-C3210 Human-Computer Interaction or ELEC-E7890 User Research or ELEC-D7010 Engineering for Humans.  


    All Master's and PhD level students at Aalto University who fulfil the minimum requirements are welcome. Students of the University of Helsinki are welcome join the course but are asked to contact the teacher in advance for the JOO contract.

  • Preparations 

    Please install the latest version of Python 3 and Anaconda (for notebooks). Other packages may be needed on a lecture-by-lecture basis. Common packages include numpy, scipy, scikit-learn, gpyopt.


    Mandatory participation, max. 3 absences (strictly observed). Some lectures will have in-class exercises worth points (assignment point quota). Lectures are interactive and not recorded.

    Grading and minimum requirement for passing

    Grading (1-5) is based on (1) points collected in assignments (max 100) and (2) score in the written exam (max 50). The two points are summed up for the final grade. The maximum attainable score is 150. For passing the course, minimum 50 points must be collected in assignments and minimum 25 in the exam.  


    One assignment sheet is released per lecture. One is released by Tuesday EoD and the other by Friday EoD and should be returned by following Monday and Thursday evenings, respectively. Each sheet will have 1-4 tasks, each worth of 3-10 points but typically 5. You can choose which exercises to return to collect assignment points. You do not need to attend all assignments. Answers can only be submitted via MyCourses. 

    Bonus points may be earned by carrying out a small research project. The bonus task is declared around the first or second week of December and must be returned in late December. It will be worth max. 10 points. Bonus points can also be earned for being active in in-class activities. 


    Readings may be assigned before lecture. They will be announced in Announcements. These are optional but recommend to make more out of the lecture.


    The final exam, which will be organized online in MyCourses or EXAM, will consist of 10 tasks. The tasks include the following types: definition, essay, identification, analysis, and simple numerical exercises. This is an open book exam: your notes, books, computers, or graphical calculators are permitted. Materials for the exam will be announced late November in MyCourses. Examples of exam tasks will be given in the last lecture (Rehearsal).


    Estimate based on previous year: 32 h lectures and support sessions + 66 h independent work on assignments + 12 h preparation for exam. Workload varies depending on prior experience and selection of assignments. Note that workload is relatively higher in the beginning of the course.

    Academic Honor

    This is an independent study course. All assignments and tests are to be done individually. We expect all students to be honest and commit to the principles of academic and intellectual integrity in their preparation and submission of course work and examinations. All submitted work of any kind must be the original work of the student who must cite all the sources used in its preparation. Cases of plagiarism will be reported to the school study officer.

    Course Policies

    1. Please come to the class room and find a seat before the lecture starts. 
    2. Out of courtesy to the teachers and fellow students, please refrain from using computers or smartphones unless asked by the teacher.
    3. In cases of plagiarism, we will follow the policy of Aalto University. While we recommend talking with other students and learning from the Internet, exercise solutions must be executed individually and by the student. Solutions should not be shared. The student must be ready to explain his/her solution when requested.
    4. A student who is inactive for two or more weeks may be removed from the course. Students who have already reached the 50 point minimum are exempted.
    5. Please observe the deadlines for returning the exercises. No extensions will be granted. 
    6. When grading exercises and exams, we may punish for "fishing" points by equivocating in answers. If you do not know the answer, just say so.

    Support Sessions

    Voluntary sessions on Monday mornings for those who want support on solving the on-going assignments. These sessions start on the second week of instruction.

    Teaching assistants

    Asutosh Hota


    Computational interaction (Antti Oulasvirta)

    Tuesday, 27 October, 08:15 » 10:00

    Link to Zoom meeting provided in Announcements.

    Computational design (Antti Oulasvirta)

    Friday, 30 October, 08:15 » 10:00


    Theme: Models of sensorimotor and cognitive human-computer interaction

    Exercise support session (voluntary)

    Monday, 2 November, 08:15 » 10:00

    Computational Models: Part I (Antti Oulasvirta)

    Tuesday, 3 November, 08:15 » 10:00

    Computational Models: Part II (Andrew Howes)

    Friday, 6 November, 08:15 » 10:00


    Theme: Adaptive systems 

    Exercise support session (voluntary)

    Monday, 9 November, 08:15 » 10:00

    Reinforcement learning: Part I (Jussi Jokinen)

    Tuesday, 10 November, 08:15 » 10:00

    Reinforcement learning: Part II (Jussi Jokinen with the help of Aditya Acharya)

    Friday, 13 November, 08:15 » 10:00


    Theme: Recommendations

    Exercise support session (voluntary)

    Monday, 16 November, 08:15 » 10:00

    Bandit systems (Kashyap Todi)

    Tuesday, 17 November, 08:15 » 10:00

    Bayesian optimization (Antti Oulasvirta)

    Friday, 20 November, 08:15 » 10:00


    Theme: Computational design

    Exercise support session (voluntary)

    Monday, 23 November, 08:15 » 10:00

    Black box optimization (Morteza Shiripour)

    Tuesday, 24 November, 08:15 » 10:00

    Integer programming (Niraj Dayama)

    Friday, 27 November, 08:15 » 10:00


    Theme: Input sensing pipeline

    Exercise support session (voluntary)

    Monday, 30 November, 08:15 » 10:00

    Deep learning: Part I (Luis Leiva)

    Tuesday, 1 December, 08:15 » 10:00

    Deep learning: Part II (Yi-Chi Liao)

    Friday, 4 December, 08:15 » 10:00


    Exercise support session (voluntary)

    Monday, 7 December, 08:15 » 10:00

    Rehearsal (Antti Oulasvirta)

    Tuesday, 8 December, 08:15 » 10:00

  • Online exam

    The exam will take place on December 11 (Friday) 13.00 - 16.00 (Helsinki time). It will be done in MyCourses and Zoom. Instructions are sent separately per email on Dec 9. Note that you must be able to login to Zoom using the Aalto account (guest accounts are not permissible in the exam). You should also have a form of identification (Aalto Student ID card or an official photo ID) at hand. Keep video on during the time you attend the exam. 

    Open book exam

    This is an open book exam. You can keep your chosen materials available and use the Internet. You are not allowed to exchange information with other people during the exam.


    Maximum number of points is 50. The minimum required for passing the course is 25. Grading emphasizes conceptual understanding over mathematical precision. Please note that equivocated answers -- i.e., fishing points by generating answers that are blatantly false or might in real life have damaging consequences -- will be penalized by deducing points.

    Contents and learning objectives

    Primary material: 1) Lecture slides and 2) first tasks of each assignment sheet. These are sufficient for a passing-to-good grade. Pay attention to topics marked as "Learning Objectives". Secondary materials: To aim for the highest grade, we advise reading papers marked as optional in Materials as well as papers flagged in the assignments. 

    Format and task types

    The exam will consist of 10 tasks, each task worth of max. 5 points. The following task types may be used to test general understanding:

    • Definition: E.g., define a concept in text or by a diagram.
    • Explanation: E.g., explain a concept, model, or theory briefly in text or by a diagram.
    • Assessment of a theory or model: E.g,. analyze pros and cons of a given theory, model, or concept.
    • Short essay: E.g., provide an account of some phenomenon in interaction from a perspective coming from the course materials. 

    The following task types may be used to test the ability to apply knowledge to practical problems. In these problems:

    • Analysis: E.g., given a design, analyze its different aspects from the perspective of a concept, model, or theory.
    • Comparison: E.g., given two designs, analyze their pros and cons from the perspective of a concept, model, or theory.
    • Numerical problem: E.g., given a design, identify the value of some property or outcome using a model.
    • Re-design: E.g., given a design, propose a simple improvement by reference to a concept, theory, or model.
    • Assessment of a design: E.g., given a design, analyze its pros and cons using appropriate models, concepts, or theories provided in the course. Assessment can be verbal or numerical.
    Examples of exam tasks from previous years are given in Materials > Rehearsal.pdf