Abstract
We study programming process data from two introductory programming courses. Between the course contexts, the programming languages differ, the teaching approaches differ, and the spoken languages differ. In both courses, students' keystroke data timestamps and the pressed keys are recorded as students work on programming assignments.We study how the keystroke data differs between the contexts, and whether research on predicting course outcomes using keystroke latencies generalizes to other contexts. Our results show that there are differences between the contexts in terms of frequently used keys, which can be partially explained by the differences between the spoken languages and the programming languages. Further, our results suggest that programming process data that can be collected non-intrusive in-situ can be used for predicting course outcomes in multiple contexts. The predictive power, however, varies between contexts possibly because the frequently used keys differ between programming languages and spoken languages. Thus, context-specific fine-tuning of predictive models may be needed.
Original language | English |
---|---|
Title of host publication | SIGCSE 2020 - Proceedings of the 51st ACM Technical Symposium on Computer Science Education |
Publisher | ACM |
Pages | 413-419 |
Number of pages | 7 |
ISBN (Electronic) | 9781450367936 |
DOIs | |
Publication status | Published - 26 Feb 2020 |
MoE publication type | A4 Conference publication |
Event | ACM Technical Symposium on Computer Science Education - Portland, United States Duration: 11 Mar 2020 → 14 Mar 2020 Conference number: 51 |
Publication series
Name | Annual Conference on Innovation and Technology in Computer Science Education |
---|---|
ISSN (Print) | 1942-647X |
Conference
Conference | ACM Technical Symposium on Computer Science Education |
---|---|
Abbreviated title | SIGSE |
Country/Territory | United States |
City | Portland |
Period | 11/03/2020 → 14/03/2020 |
Keywords
- Digraphs
- Educational data mining
- Keystroke analysis
- Keystroke data
- Predicting performance
- Programming process data