The Affective Experience of Novice Computer Programmers
International Journal of Artificial Intelligence in Education
Novice students (N = 99) participated in a lab study in which they learned the fundamentals of computer programming in Python using a self-paced computerized learning environment involving a 25-min scaffolded learning phase and a 10-min unscaffolded fadeout phase. Students provided affect judgments at approximately 100 points (every 15 seconds) over the course of viewing videos of their faces and computer screens recorded during the learning session. The results indicated that engagement,
... ion, frustration, boredom, and curiosity were the most frequent affective states, while anxiety, happiness, anger, surprise, disgust, sadness, and fear were rare. Confusion + frustration and curiosity + engagement were identified as two frequently co-occurring pairs of affective states. An analysis of affect dynamics indicated that there were reciprocal transitions between engagement and confusion, confusion and frustration, and one way transitions between frustration and boredom and boredom and engagement. Considering interaction events in tandem with affect revealed that constructing code was the central activity that preceded and followed each affective state. Further, confusion and frustration followed errors and preceded hint usage, while curiosity and engagement followed reading or coding. An analysis of affect-learning relationships after partialling out control variables (e.g., scholastic aptitude, hint usage) indicated that boredom (r = -.149) and frustration (r = -.218) were negative correlated with learning while transitions between confusion → frustration (r = .103), frustration → confusion (r = .105), and boredom → engagement (r = .282) were positively correlated with learning. Implications of the results to theory on affect incidence and dynamics and on the design of affect-aware learning environments are discussed.