[plt-scheme] Log "every change in" Definitions and Interactions...

From: Marco Morazan (morazanm at gmail.com)
Date: Mon Jan 26 08:07:39 EST 2009

> We evaluated the final exams, where the students are assigned two
> questions, and we graded every step of Design Recipe. Using "R", we
> conducted a linear model analysis. R says, template and tests are most
> significant, meaning that students who did the template and the tests
> properly, also wrote fully functional code.
>
> Or, vice versa :) Since we don't know whether they did the code first
> and then the template, test, etc. we want to record every change and
> replay the session of the student. This will strengthen our case. Using
> this technique I can tag the students submissions according to the
> order of the application of design steps, then use this extra
> information for the analysis.
>

As much as I would be delighted for this to work, I am afraid that it
is not that easy. Usually, students need to cycle through the steps of
the DR. Errors in the data definition, for example, propagate
throughout the DR process. Some students (many?) tend to fix such
errors by first experimenting with the code they have written and that
leads them to realize that the template and the data definition
contain errors. At this point, they proceed to correct these errors.
Other students (many?) have the right contract and template in their
head, but incorrectly write it down. Their code, however, follows what
is in their head. In short, there is an incongruence between what
students are thinking and what they write down. Perhaps, this is the
result of some type of dynamic correction while developing a program
that they do not document? The point is that I do not see how
recording a DrScheme session gives you enough data to reach a
conclusion about the usefulness of the DR.

I am also curious about the development of what type of programs do
you wish to study. Only those based on structural recursion? Are you
also looking into generative recursion?

-- 

Cheers,

Marco


Posted on the users mailing list.