Modeling Negative Affect Detector of Novice Programming Students Using Keyboard Dynamics and Mouse Behavior

Document Type

Conference Proceeding

Publication Date



We developed affective models for detecting negative affective states, particularly boredom, confusion, and frustration, among novice programming students learning C++, using keyboard dynamics and/or mouse behavior. The keystroke dynamics are already sufficient to model negative affect detector. However, adding mouse behavior, specifically the distance it travelled along the x-axis, slightly improved the model’s performance. The idle time and typing error are the most notable features that predominantly influence the detection of negative affect. The idle time has the greatest influence in detecting high and fair boredom, while typing error comes before the idle time for low boredom. Conversely, typing error has the highest influence in detecting high and fair confusion, while idle time comes before typing error for low confusion. Though typing error is also the primary indicator of high and fair frustrations, other features are still needed before it is acknowledged as such. Lastly, there is a very slim chance to detect low frustration.