Latice 2013 – algorithm visualisation

I have a new Masters student who is looking at the construction of a visualisation system to help students learn programming. There has been quite a lot of work in this area, building extensive visualisation of algorithms or coding so that students can learn the flow of control in programming, and learn about scope and variable usage. My student will be exploring more deeply memory usage in programming, although he he is still finalising his ideas at this point.

So I was very interested to hear the presentation by Ville Karavirta on misconceptions in visual algorithm simulation. Ville points out that we have many, many visualisation systems, and that many are implemented in Java, which is a problem for mobile devices that students are now trying to use in our classes. They have constructed a new framework for visualisation in Javascript, which helps overcome this problem. Their system helps students visualise their algorithms, and also model algorithms for comparison. The study that Ville and colleagues constructed was a survey of student perceptions on their use of UIs for visualisation, and also whether the tools helped address misconceptions in algorithm operation. Their results are indicative only, as they were only able to obtain survey data from a small number of students. They did find that the students had comparable learned outcomes; they liked the use of the tools; commentary on visual appearance; and a need for being able to do these kinds of activities on mobile devices, although no students had previously attempted this.

One of the interesting points that came out here was that in their analysis, it was possible for a student to receive full marks for a substantial portion of the assessment exercise while still having misconceptions. The issue is that they used random input data for their exercises – if the data is not carefully chosen, then it might not exercise parts of the algorithm related to the misconception. This meant that many of the misconceptions were not observable in the exercises set for the students. They are now revising this now to ensure that it is not possible to achieve full grades when there is a misconception. Of course, this means that they need to know all of the misconceptions that are possible, which probably needs some degree of manual supervision or analysis of student work to observe repeating incorrect solution sequences, which indicate common misconceptions.

James made a very interesting point in the discussion time – perhaps it would be better, or easier, to get the students to talk aloud about what they think the algorithms are doing to help identify misconceptions. Another interesting point was whether the students are made aware of the common misconceptions when they are taught about the topic. This made me think about mental model development – is it possible for a student to understand a misconception is they don’t have a fully formed mental model to contrast it with? Is it possible to form a mental model through negation?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s