Mathematics in Computer Science

, Volume 3, Issue 3, pp 349–370 | Cite as

Specifying Rewrite Strategies for Interactive Exercises

  • Bastiaan Heeren
  • Johan JeuringEmail author
  • Alex Gerdes


Strategies specify how a wide range of exercises can be solved incrementally, such as bringing a logic proposition to disjunctive normal form, reducing a matrix, or calculating with fractions. In this paper we introduce a language for specifying strategies for solving exercises. This language makes it easier to automatically calculate feedback, for example when a user makes an erroneous step in a calculation. We can automatically generate worked-out examples, track the progress of a student by inspecting submitted intermediate answers, and report back suggestions in case the student deviates from the strategy. Thus it becomes less labor-intensive and less ad-hoc to specify new exercise domains and exercises within that domain. A strategy describes valid sequences of rewrite rules, which turns tracking intermediate steps into a parsing problem. This is a promising view at interactive exercises because it allows us to take advantage of many years of experience in parsing sentences of context-free languages, and transfer this knowledge and technology to the domain of stepwise solving exercises. In this paper we work out the similarities between parsing and solving exercises incrementally, we discuss generating feedback on strategies, and the implementation of a strategy recognizer.


Strategy language Interactive exercises Feedback Recognizer Context-free grammar 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.



This work was made possible by the support of the SURF Foundation, the higher education and research partnership organization for Information and Communications Technology (ICT). For more information about SURF, please visit We thank the anonymous reviewers for their constructive comments. Discussions with Hans Cuypers, Josje Lodder, Wouter Pasman, Rick van der Meiden, Erik Jansen, and Arthur van Leeuwen are gratefully acknowledged.

Open Access

This article is distributed under the terms of the Creative Commons Attribution Noncommercial License which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.


  1. 1.
    Anderson, J.R.: Rules of the Mind. Lawrence Erlbaum Associates, Hillsdale (1993)Google Scholar
  2. 2.
    Anderson J.R., Corbett A.T., Koedinger K.R., Pelletier R.: Cognitive tutors: lessons learned. J. Learn. Sci. 4(2), 167–207 (1995)CrossRefGoogle Scholar
  3. 3.
    Anderson J.R., Skwarecki E.: The automated tutoring of introductory computer programming. Commun. ACM 29(9), 842–849 (1986)CrossRefGoogle Scholar
  4. 4.
    Beeson M.J.: Design principles of Mathpert: software to support education in algebra and calculus. In: Kajler, N. (eds) Computer-Human Interaction in Symbolic Computation., pp. 89–115. Springer, New York (1998)Google Scholar
  5. 5.
    Boon, P., Drijvers, P.: Algebra en applets, leren en onderwijzen (algebra and applets, learning and teaching, in Dutch). (2005)
  6. 6.
    Bouwers, E.: Improving automated feedback—a generic rule-feedback generator. Master’s thesis, Department of Information and Computing Sciences, Utrecht University (2007)Google Scholar
  7. 7.
    Brown J.S., Burton R.R.: Diagnostic models for procedural bugs in basic mathematical skills. Cogn. Sci. 2, 155–192 (1978)CrossRefGoogle Scholar
  8. 8.
    Brown J.S., VanLehn K.: Repair theory: a generative theory of bugs in procedural skills. Cogn. Sci. 4, 379–426 (1980)CrossRefGoogle Scholar
  9. 9.
    Bundy A.: The Computer Modelling of Mathematical Reasoning. Academic Press, San Diego (1983)zbMATHGoogle Scholar
  10. 10.
    Bundy, A.: The use of explicit plans to guide inductive proofs. In: Conference on Automated Deduction, pp. 111–120 (1988)Google Scholar
  11. 11.
    Bundy, A.: A critique of proof planning. In: Computat. Logic (Kowalski Festschrift), LNAI, vol. 2408 (2002)Google Scholar
  12. 12.
    Chaachoua, H., et al.: Aplusix, a learning environment for algebra, actual use and benefits. In: ICME 10: 10th International Congress on Mathematical Education, 2004. Retrieved, May 2008
  13. 13.
    Cohen, A., Cuypers, H., Jibetean, D., Spanbroek, M.: Interactive learning and mathematical calculus. In: Mathematical Knowledge Management (2005)Google Scholar
  14. 14.
    Cohen, A., Cuypers, H., Barreiro, E.R., Sterk, H.: Interactive mathematical documents on the web. In: Algebra, Geometry and Software Systems, pp. 289–306. Springer, New York (2003)Google Scholar
  15. 15.
    Corbalan, G., Paas, F.: Learning and motivational effects of different forms of feedback in linear algebra problems. Paper presented at the math tutoring: tools and feedback symposium organized by the surf foundation and the joining educational mathematics network (JEM), Heerlen, The Netherlands (2008)Google Scholar
  16. 16.
    Cunha A., Visser J.: Strongly typed rewriting for coupled software transformation. Electron. Notes Theor. Comput. Sci. 174(1), 17–34 (2007)CrossRefGoogle Scholar
  17. 17.
    Erev, I., Luria, A., Erev, A.: On the effect of immediate feedback. (2006)
  18. 18.
    Freudenthal Institute: Digital math environment. (2004)
  19. 19.
    Gerdes, A., Heeren, B., Jeuring, J.: Constructing strategies for programming. In: Cordeiro, J., Shishkov, B., Verbraeck, A., Helfert, M. (eds.) Proceedings CSEDU’09: 1st International Conference on Computer Supported Education, pp. 65–72 (2009)Google Scholar
  20. 20.
    Gerdes, A., Heeren, B., Jeuring, J., Stuurman, S.: Feedback Services for Exercise Assistants. In: Remenyi, D. (ed.) The Proceedings of the 7th European Conference on e-Learning, pp. 402–410. Academic Publishing Limited (2008)Google Scholar
  21. 21.
    Goguadze, G., Palomo, A.G., Melis, E.: Interactivity of exercises in ActiveMath. In: International Conference on Computers in Education, ICCE 2005 (2005)Google Scholar
  22. 22.
    Heeren, B., Jeuring, J.: Recognizing strategies. In: Middeldorp, A. (ed.) WRS 2008: Reduction Strategies in Rewriting and Programming, 8th International Workshop (2008)Google Scholar
  23. 23.
    Hennecke, M.: Online Diagnose in intelligenten mathematischen Lehr-Lern-Systemen (in German). PhD thesis, Hildesheim University, Fortschritt-Berichte VDI Reihe 10, Informatik/Kommunikationstechnik; 605. VDI, Düsseldorf (1999)Google Scholar
  24. 24.
    Hinze, R., Jeuring, J., Löh, A.: Comparing approaches to generic programming in Haskell. In: Backhouse, R., Gibbons, J., Hinze, R., Jeuring, J. (eds.) Datatype-Generic Programming, LNCS, vol. 4719, pp. 72–149. Springer, New York (2007)Google Scholar
  25. 25.
    Horacek, H., Wolska, M.: Handling errors in mathematical formulas. In: Ikeda, M., Ashley, K., Chan, T.-W. (eds.) ITS 2006, LNCS, vol. 4053, pp. 339–348. Springer, New York (2006)Google Scholar
  26. 26.
    Hudak, P.: Building domain-specific embedded languages. ACM Comput. Surv. 28A(4), 17 (1996)Google Scholar
  27. 27.
    Hutton G.: Higher-order functions for parsing. J. Funct. Program. 2(3), 323–343 (1992)MathSciNetzbMATHCrossRefGoogle Scholar
  28. 28.
    Issakova, G.: Solving of linear equations, linear inequalities and systems of linear equations in interactive learning environment. PhD thesis, University of Tartu (2007)Google Scholar
  29. 29.
    Jones, S.P., et al.: Haskell 98, Language and Libraries. The Revised Report. Cambridge University Press, 2003. A special issue of the Journal of Functional Programming. see also
  30. 30.
    Lämmel, R., Jones, S.P.: Scrap your boilerplate: a practical approach to generic programming. ACM SIGPLAN Not. 38(3), 26–37. TLDI’03 (2003)Google Scholar
  31. 31.
    Lämmel, R., Visser, E., Visser, J.: The Essence of Strategic Programming, 18 pp.; Draft; Available . Accessed 15 Oct 2002
  32. 32.
    Lodder, J., Jeuring, J., Passier, H.: An interactive tool for manipulating logical formulae. In: Manzano, M., Lancho, B.P., Gil, A. (eds.) Proceedings of the Second International Congress on Tools for Teaching Logic (2006)Google Scholar
  33. 33.
    Lodder, J., Passier, H., Stuurman, S.: Using ideas in teaching logic, lessons learned. In: Computer Science and Software Engineering, International Conference, vol. 5, pp. 553–556 (2008)Google Scholar
  34. 34.
    National Research Council: How People Learn—Brain, Mind, Experience, and School. National Academy Press (2000)Google Scholar
  35. 35.
    Passier, H., Jeuring, J.: Feedback in an interactive equation solver. In: Seppälä, M., Xambo, S., Caprotti, O. (eds.) Proceedings of the Web Advanced Learning Conference and Exhibition, WebALT 2006, pp. 53–68. Oy WebALT Inc. (2006)Google Scholar
  36. 36.
    Paulson L.C.: ML for the Working Programmer, 2nd edn. Cambridge University Press, Cambridge (1996)zbMATHGoogle Scholar
  37. 37.
    Plasmeijer, R., Achten, P., Koopman, P.: iTasks: executable specifications of interactive work flow systems for the web. In: ICFP ’07, pp. 141–152, New York (2007)Google Scholar
  38. 38.
    Sweller J., van Merriënboer J.J.G., Paas F.: Cognitive architecture and instructional design. Educ. Psychol. Rev. 10, 251–295 (1998)CrossRefGoogle Scholar
  39. 39.
    Swierstra, S.D., Duponcheel, L.: Deterministic, error-correcting combinator parsers. In: Launchbury, J., Meijer, E., Sheard, T. (eds.) Advanced Functional Programming, LNCS, vol. 1129, pp. 184–207. Springer, New York (1996)Google Scholar
  40. 40.
    van Ditmarsch, H.: Logic software and logic education. (2009)
  41. 41.
    van Merriënboer J.J.G., Jelsma O., Paas F.G.W.C.: Training for reflective expertise: a four-component instructional design model for complex cognitive skills. Educ. Technol. Res. Dev. 40(2), 23–43 (1992)CrossRefGoogle Scholar
  42. 42.
    VanLehn K.: Mind Bugs—The Origins of Procedural Misconceptions. MIT Press, Cambridge (1990)Google Scholar
  43. 43.
    Visser, E., Benaissa, Z.A., Tolmach, A.: Building program optimizers with rewriting strategies. In: ICFP ’98, pp. 13–26 (1998)Google Scholar
  44. 44.
    Zinn, C.: Supporting tutorial feedback to student help requests and errors in symbolic differentiation. In: Ikeda, M., Ashley, K., Chan, T.-W. (eds.) ITS 2006, LNCS, vol. 4053, pp. 349–359. Springer, New York (2006)Google Scholar

Copyright information

© The Author(s) 2010

Authors and Affiliations

  1. 1.School of Computer ScienceOpen Universiteit NederlandHeerlenThe Netherlands
  2. 2.Department of Information and Computing SciencesUniversiteit UtrechtUtrechtThe Netherlands

Personalised recommendations