Abstract
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.
Similar content being viewed by others
References
Anderson, J.R.: Rules of the Mind. Lawrence Erlbaum Associates, Hillsdale (1993)
Anderson J.R., Corbett A.T., Koedinger K.R., Pelletier R.: Cognitive tutors: lessons learned. J. Learn. Sci. 4(2), 167–207 (1995)
Anderson J.R., Skwarecki E.: The automated tutoring of introductory computer programming. Commun. ACM 29(9), 842–849 (1986)
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)
Boon, P., Drijvers, P.: Algebra en applets, leren en onderwijzen (algebra and applets, learning and teaching, in Dutch). http://www.fi.uu.nl/publicaties/literatuur/6571.pdf (2005)
Bouwers, E.: Improving automated feedback—a generic rule-feedback generator. Master’s thesis, Department of Information and Computing Sciences, Utrecht University (2007)
Brown J.S., Burton R.R.: Diagnostic models for procedural bugs in basic mathematical skills. Cogn. Sci. 2, 155–192 (1978)
Brown J.S., VanLehn K.: Repair theory: a generative theory of bugs in procedural skills. Cogn. Sci. 4, 379–426 (1980)
Bundy A.: The Computer Modelling of Mathematical Reasoning. Academic Press, San Diego (1983)
Bundy, A.: The use of explicit plans to guide inductive proofs. In: Conference on Automated Deduction, pp. 111–120 (1988)
Bundy, A.: A critique of proof planning. In: Computat. Logic (Kowalski Festschrift), LNAI, vol. 2408 (2002)
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 http://www.itd.cnr.it/telma/papers.php, May 2008
Cohen, A., Cuypers, H., Jibetean, D., Spanbroek, M.: Interactive learning and mathematical calculus. In: Mathematical Knowledge Management (2005)
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)
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)
Cunha A., Visser J.: Strongly typed rewriting for coupled software transformation. Electron. Notes Theor. Comput. Sci. 174(1), 17–34 (2007)
Erev, I., Luria, A., Erev, A.: On the effect of immediate feedback. http://telem-pub.openu.ac.il/users/chais/2006/05/pdf/e-chais-erev.pdf (2006)
Freudenthal Institute: Digital math environment. http://www.fi.uu.nl/dwo (2004)
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)
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)
Goguadze, G., Palomo, A.G., Melis, E.: Interactivity of exercises in ActiveMath. In: International Conference on Computers in Education, ICCE 2005 (2005)
Heeren, B., Jeuring, J.: Recognizing strategies. In: Middeldorp, A. (ed.) WRS 2008: Reduction Strategies in Rewriting and Programming, 8th International Workshop (2008)
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)
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)
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)
Hudak, P.: Building domain-specific embedded languages. ACM Comput. Surv. 28A(4), 17 (1996)
Hutton G.: Higher-order functions for parsing. J. Funct. Program. 2(3), 323–343 (1992)
Issakova, G.: Solving of linear equations, linear inequalities and systems of linear equations in interactive learning environment. PhD thesis, University of Tartu (2007)
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 http://www.haskell.org/
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)
Lämmel, R., Visser, E., Visser, J.: The Essence of Strategic Programming, 18 pp.; Draft; Available http://www.cwi.nl/~ralf . Accessed 15 Oct 2002
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)
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)
National Research Council: How People Learn—Brain, Mind, Experience, and School. National Academy Press (2000)
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)
Paulson L.C.: ML for the Working Programmer, 2nd edn. Cambridge University Press, Cambridge (1996)
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)
Sweller J., van Merriënboer J.J.G., Paas F.: Cognitive architecture and instructional design. Educ. Psychol. Rev. 10, 251–295 (1998)
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)
van Ditmarsch, H.: Logic software and logic education. http://www.cs.otago.ac.nz/staffpriv/hans/logiccourseware.html (2009)
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)
VanLehn K.: Mind Bugs—The Origins of Procedural Misconceptions. MIT Press, Cambridge (1990)
Visser, E., Benaissa, Z.A., Tolmach, A.: Building program optimizers with rewriting strategies. In: ICFP ’98, pp. 13–26 (1998)
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)
Acknowledgments
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 http://www.surf.nl. 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.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Heeren, B., Jeuring, J. & Gerdes, A. Specifying Rewrite Strategies for Interactive Exercises. Math.Comput.Sci. 3, 349–370 (2010). https://doi.org/10.1007/s11786-010-0027-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11786-010-0027-4