Aalto-LeTech / jsav-exercise-recorder

Records students' solutions to JSAV-based visual algorithm simulation exercises
0 stars 2 forks source link

Match JAAL IDs: student's and model answer #33

Closed atilante closed 1 year ago

atilante commented 2 years ago

Artturi Tilanterä 1:02 PM Hmmm. Does it really matter?

Johanna Sänger 1:04 PM For the semantic representation of the model solution, yes, as otherwise we're dealing with two sets of edges that are being clicked. For the graphical representation, no

Artturi Tilanterä 1:04 PM I'd keep the JAAL IDs of the student's solution and model answer separate, because currently I can't see why they should be matched.

1:05 I would see this issue would be interesting when we want to match programmatically student's steps to model answer steps.

Johanna Sänger 1:05 PM Yes that's why I was thinking they should match. But they don't need to if we consider them as two distinct (but identical nonetheless) graphs

Artturi Tilanterä 1:06 PM That's a great discovery.

Johanna Sänger 1:08 PM If we consider them as two graphs, then I don't have an issue with the edges, since I can just renumber them. Though then I should look into if the initial state of the model answer is stored as well, as otherwise we still don't know which edges refer to which ones in the semantic representation

Artturi Tilanterä 1:09 PM For research purposes, one likely implements a separate analysis software in Python, and that can regenerate the model answer steps. It likely runs variants of the correct model answer algorithm, so then having a mapping between IDs in JAAL is not critical.

1:10 However, if we want to have a nice player application which can show student's solution and model answer aside, and automatically match student's steps to model answer steps, then that's critical.

1:10 But we are not that far yet.

1:11 I see the matching algorithm for student's and model answer data structure IDs could be a linear scan for linear structures, some tree traversal for rooted trees, and DFS for graphs.

1:12 I would create an issue on this, but not include it in the JAAL 1.1 milestone.

Johanna Sänger 1:13 PM If (such as in Dijkstra's) the labels are unique, you can probably also match on that. Seems like a headache for later this summer though

Artturi Tilanterä 1:14 PM Let's not work on too many headaches on the same time, or we will try to build a castle when a cottage is needed first, and our heads will explode. :wink:

Meratyn commented 1 year ago

Closed for the same reason as #113 :

Mapping the model answer object to the exercise instance object requires making assumptions about the content of the objects to do it in an efficient manner. As such, if one wishes to compare the objects 1-to-1 rather than merely running the svg images in the JSAV player, this mapping should be made in the data analysis with knowledge about what assumptions can be made.