CodeCAM: Capturing Programmer's Reaction during Coding Session
→ Yusuke Shinyama
Yoshitaka Arahori
Katsuhiko Gondow
Tokyo Tech, Japan
https://euske.github.io/

1. Motivation

  1. I'm a programmer by trade.
  2. Looked at the code I wrote in past.
  3. "What the #$%& was I thinking!?"
  4. Wanted to dissect my own brain.

2. Two Ways

  1. Make a time machine.
    or...
  2. Record everything and retrieve them later.
    - Code, monologue and reaction.

Issues of Record Everything

Proposed Method

3. What We Did

System Overview

Programmer Development Machine Optional Video Facial Recognition Face Data Keystroke Source Code Matching Timestamped Source Code Combining Annotated Source Code

4. Problem

Algorithm

Find mappings for a given sequence of keystrokes and source code text:

Algorithm (cont'd)

  1. Unique sequence ki and tj should be matched.
    K T k t
  2. Consecutive keystrokes are likely to appear as consecutive characters.
  3. By grouping keystroke/text pairs, we'll get a longer unique sequence.
    K T b a b a b

5. Implementation

6. Experiments

Conducted programming tasks:
  1. Project Euler #89
  2. Make an HTML5 game
  3. Advent of Code 2017 - Day 18
Performance

Sample output

7. Emotion Analysis (Optional)

8. Conclusions

9. Comments from Reviewers

  1. "Why not make an IDE plugin?"
    - Applicable to any editor/IDE.
    - We could record interactions outside the editor.
  2. "Filming everything is not acceptable."
    - Programmers should be held responsible.
    - Hawthone effect?
  3. "This is better suited to education!"
    - We're working on it!