Interaction Design

The goal of this course is to provide students basic techniques and expertise to create and evaluate the design of interactive digital products, environments, systems, and services.The course is designed for professionals who are planning to join the IT department of a large corporation or for those who might be launching a startup in the near future.

The course will combine two parallel tracks: interaction design and user experience research. Through the first track, students will learn basic theories and principles of interaction design. They will be asked to look at existing products and services through the lens of these principles to evaluate the user experience. Through the second track, students will learn research methods that will allow them to collect data that will be used to inform and guide the design of novel interactive system.

A core element of this course is the capstone project. Students will be asked to develop a novel interactive system or to evaluate an existing one and design possible improvements to it. They will work in small groups through a number of iterative steps of research and design.

Schedule: Fall Semester 2018-2019, 4.0 hours a week.

Language: English.

Videos of Final Presentations: A-Live, Moovapp.

Example of Final Presentations: Moovapp



Programming Elements


The goal of this course is to provide students with knowledge and expertise on the semantics and syntax of a programming language. One specific aim of this course is to provide students basic techniques and expertise to create interactive scripts with which they will be able to analyze large amount of data, create visualization and implement algorithms to perform advanced analytical analyses.

The course will develop three separate axes: the first axis is to provide knowledge and expertise with one particular programming language, Python. The second is to bring students to develop algorithmic thinking skills, a way of getting to a solution through the clear definition of the steps needed. The third is that of providing students the ability to develop their own tool to analyze large volumes of data and provide their own creative solutions to problems they will face.

A core element of this course is the course home assignments. Through incremental home assignments, students will be guided in the development of a tool to analyze a large dataset containing a time series of stock values and make predictions for future values.

Learning outcomes

At the end of the course students should be able to:

  1. Understand basic Python syntax and semantics and being able to produce Python scripts to analyze datasets comprising hundreds of thousands of data points;
  2. Apply algorithmic thinking to problem solving: decomposing a complex problem into simpler chunks;
  3. Create own tool for data analysis: implement analysis technique on actual financial datasets with the aim of informing decision making.

Course structure

Time of the course will be devoted to lecture, guided examples, practice and correction of exercises (in class). Teaching will be organized in short modules followed by practical exercises and correction by the instructor.

Each week students will be assigned a practical work to do at home. The work will be returned using a learning platform provided and graded.

At the end of the course there will be a final written exam consisting of a multiple-response quiz.

Schedule: Spring Semester 2017-2018, 2.0h. course + 2.0h exercices (weekly average)

Language: Français.