Naive tools for studying compilation history
| -UncategorizedFull text available at http://www.cs.kent.ac.uk/pubs/2003/1588/index.html
First paragraph:
We are interested in assessing the impact of pedagogic programming environments in the teaching of programming to novices. As part of this work, we are interested in studying student compilation histories—a sequence of snapshots of a student’s program taken each time they compile. Much like a sequence of moving pictures imply motion, we believe there is merit in studying the evolution of a student’s program. A compilation history represents one aspect of a solution trajectory, a sequence of observable (external) and mental (internal) states that define a student’s path from problem start to completion.
The 14-page paper raises the question about the delta between compiles – what students change in between compilations. They use source substitution to ignore minor changes in variable naming, and they try to look at structural and type changes. They hope to be able to use this to analyze how students rewrite programs.
Some questions:
– How can one measure the growing complexity of a program solution?
– How can one record the kind of bugs students encounter?
– Maybe it would be nice to record not only compilation bugs but also
logical ones…