Introduction

When a computational system appears to be "intelligent", it is usually gathering and analyzing data behind the scenes. This module is focused on that: there is a training phase in which the user provides both data and a label for the data, after which there is a testing phase in which we provide the data and then have the system suggest a label to it.

The observed data in this case will be keystrokes the user types. What is stored is which key is pressed and at what time. This raw data is then processed by extracting features from it (the time between two consecutive keypresses and what were the two keys in question). The training records these intervals for the key pairs that are observed and stores them under the provided label (the method the user employs to type). Then, in the resting stage, the intervals are recorded again. A suggested label results from comparing the testing sample (with simple statistics) to the formerly provided training samples and picking the most similar one.

Learning outcomes

This module will help you do the following:

Warm-up

The pre-class activity is cursorial reading (not in-depth by any means, skip anything you do not manage to find interesting or comprehensible) of a scientific article.

Warm-up assessment

What does the work "authentication" refer to in the title of the above article? How about "dynamics"? Lastly, in what kind of a context or application do you think that keystroke dynamics-based authentication would be useful and why?

Concepts

After this module, you should be familiar with the following concepts:

Remember that you can always look concepts up in the glossary. Should anything be missing or insufficient, please report it.