Detecting exploratory programming behaviors for introductory programming exercises

Developers often perform the repeating cycle of implementation and evaluation when they need to deal with the unfamiliar portion of the source code. This cycle is named as exploratory programming. We regard exploratory programming as an effective way not only to improve novice's programming ski...

Full description

Saved in:
Bibliographic Details
Published in:2016 IEEE 24th International Conference on Program Comprehension (ICPC) pp. 1 - 4
Main Authors: Makihara, Erina, Igaki, Hiroshi, Yoshida, Norihiro, Fujiwara, Kenji, Iida, Hajimu
Format: Conference Proceeding
Language:English
Published: IEEE 01-05-2016
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Developers often perform the repeating cycle of implementation and evaluation when they need to deal with the unfamiliar portion of the source code. This cycle is named as exploratory programming. We regard exploratory programming as an effective way not only to improve novice's programming skill but also to support educators in programming exercise in University. Because when novices often use the exploratory programming, it means novices struggle to solve their assignments. Therefore, educators should grasp which elements, APIs or blocks novices often used exploratory programming for. In this paper, firstly we propose the definition of novice's exploratory programming to collect logs of exploratory based on various granularity by novices. Secondly, we propose an algorithm based on our proposed definition to automatically detect exploratory programming behaviors. We also conducted a small case study. As a result of automatic detection, our proposed algorithm allows us to know what elements of program novices often feel difficult and struggle for.
DOI:10.1109/ICPC.2016.7503731