Naive tools for studying compilation history

| -Uncategorized

Full 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…

You can comment with Disqus or you can e-mail me at sacha@sachachua.com.