Presentation by George Goguadze on his Exercise Module in the ActiveMath system at the JEM Symposium on “math tutoring: tools and feedback” in Heerlen, Netherlands.
Features
A key feature of ActiveMath is a user model used for adaptation (e.g. generation of individualized courses) and guidance of the user. The system and various materials are available in various languages. Users can request further information/ exercise on the course material (self-regulated learning). Student can browse an ontology for the course (concept mapping tool), semantic search, students can assembler their own course material from different sources and the system finds exercises/ examples automatically for the selected concepts (assembly tool), function plotter, CAS console, teacher tool (visualization of students’ performance) and student inspector.
Further thoughts on George Goguadze’s Exercise Module
George Goguadze provides an XML-based markup of exercises, in particular, authors can mark up every step, i.e. a status of the exercise solution graph, and can attach feedback to the edges of this graph. The authors markup is combined with the system’s internal exercise strategies and provides an interactive experience of the user.
The exercise strategies cannot be created or modified by the author of exercises (in contrast to the approach by Johan Jeuring), but are created and maintained by the developer of the system. Technically, strategies are created by inheriting from an abstract strategy (Java) class and modifying it respectively. George mentioned that he covers various strategies and that, if steps are not defined, he provides either a dynamic strategy that adapts to the user or a fall back (a default interaction step). However, he is aiming towards a declarative language for these strategies, consequently, the approach of Johan Jeuring is very interesting to him. He will be analysing their approach carefully and, potentially, integrate their web service into the exercise module of ActiveMath.
George pointed us to his recent papers on exercises and will update the lists soon. He can also provide examples, which can help us to understand his approach. Moreover, the source code of the ActiveMath system including his exercise module is open source and available for download at the ActiveMath website.
George reminded us to not do redundant work. We will do our best to avoid this and want to carefully verify whether this approach can be applied to our types of problems: Our problems are currently marked up differently (using OMDoc 1.2). The ActiveMath content seems to be based on OMDoc 2000; while the markup of exercises provides an non-standardized extension of the OMDoc format. We have to verify if and how these extension can be integrated in OMDoc 2.0, e.g. by adding an OMDoc exercise module as extension to the current OMDoc quiz module. For our existing pool of problems, we have not yet considered a markup of single steps, this can be a potential extension of our problem markup. However, we also want to classify and interlink problems. George mentioned that he is also doing this. Each interaction step can be annotated with a certain competencies. A competencies always refers to a concept (a symbol, theorem, …). These competencies can be reached by the user by solving exercises. In the user model he then stores the conceptID, the competencies and further metadata. These competencies on the first level of the user model are used to compute the users master level on the second layer (his overall competencies in a concept) and which are futher computed to the user’s average competencies (or knowledge?). It is not yet clear to me, whether and how exercises are classified in the exercise module and based on which criteria they can be selected. As far as I know, it is already possible to consider certain difficulties: For example, if a student fails an exercise he can be provided with a more simpler one (simple with respect to the competencies in his user model, as this is a subjective property).
Moreover, our problems are targeted to Computer Scientists. George mentioned that he can already handle some CS problems, such as automata exercises. We want to look at his existing examples as well as at our existing problem pool. Johan Jeuring also mentioned that he will be working on supporting interactive programming exercises, which can be quite interesting for us and maybe also ActiveMath.
George Goguadze does not agree with my comment:
citing George:
I don’t think that the strategies by Johan can be created and modified by the author of the exercises: for this the author has to possess a knowledge of at least context-free grammars, and then some technical skills to embed his new strategy in the system and so on.
In this sense, programming generic strategies for ActiveMath is not really harder.
Also, in the manually authored exercise in ActiveMath an author can also define his strategy manually by inserting feedback of needed type and providing transitions, such as transitions to loop back to the same step in case of failure, give the flag feedback or provide a solution. This strategy can be also modified by the author by modifying the exercise.