Abstract
Rewrite strategies are used to specify how mathematical exercises are solved in interactive learning environments, and to provide feedback to students solving such exercises. We have developed a generic strategy language with which we can specify rewrite strategies in many (mathematical) domains. Although our strategy language is quite powerful, it lacks an essential component for specifying strategies, namely the interleaving of two strategies. Often students have to perform multiple subtasks, but the order in which these tasks are performed is irrelevant, and steps of solutions may be interleaved. We show the need for combinators that support interleaving by means of several examples. We extend our strategy language with different combinators for interleaving, define the semantics of the extension, and show how the interleaving combinators are implemented in the parsing framework we use for recognizing student behavior and providing hints.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aspinall, D., Denney, E., Lüth, C.: Tactics for hierarchical proof. Mathematics in Computer Science 3(3), 309–330 (2010)
Baars, A.I., Löh, A., Swierstra, S.D.: Parsing permutation phrases. Journal of Functional Programming 14, 635–646 (2004)
Beeson, M.J.: Design principles of MathPert: Software to support education in algebra and calculus. In: Kajler, N. (ed.) Computer-Human Interaction in Symbolic Computation, pp. 89–115. Springer, Heidelberg (1998)
Bergstra, J.A., Klop, J.W.: Algebra of communicating processes with abstraction. Theoretical Computer Science 37, 77–121 (1985)
Bundy, A.: The use of explicit plans to guide inductive proofs. In: International conference on automated deduction, pp. 111–120 (1988)
Claessen, K., Hughes, J.: QuickCheck: A lightweight tool for random testing of Haskell programs. In: ICFP 2000, pp. 268–279 (2000)
Cohen, A., Cuypers, H., Reinaldo Barreiro, E., Sterk, H.: Interactive mathematical documents on the web. In: Algebra, Geometry and Software Systems, pp. 289–306. Springer, Heidelberg (2003)
Doorman, M., Drijvers, P., Boon, P., van Gisbergen, S., Gravemeijer, K.: Design and implementation of a computer supported learning environment for mathematics. In: Earli 2009 SIG20 invited Symposium Issues in designing and implementing computer supported inquiry learning environments (2009)
Fokkink, W.: Introduction to Process Algebra. Springer, Heidelberg (2000)
Gerdes, A., Heeren, B., Jeuring, J.: Constructing Strategies for Programming. In: Cordeiro, J., et al. (eds.) Proceedings of the First International Conference on Computer Supported Education, pp. 65–72. INSTICC Press (March 2009)
Gerdes, A., Heeren, B., Jeuring, J.: Properties of Exercise Strategies. In: Proceedings of IWS 2010: 1st International Workshop on Strategies in Rewriting, Proving, and Programming. Electronic Proceedings in Theoretical Computer Science (2011)
Heeren, B., Jeuring, J.: Adapting mathematical domain reasoners. In: Autexier, S., Calmet, J., Delahaye, D., Ion, P.D.F., Rideau, L., Rioboo, R., Sexton, A.P. (eds.) AISC 2010. LNCS, vol. 6167, pp. 315–330. Springer, Heidelberg (2010)
Heeren, B., Jeuring, J., Gerdes, A.: Specifying rewrite strategies for interactive exercises. Mathematics in Computer Science 3(3), 349–370 (2010)
Hoare, C.A.R.: Communicating sequential processes. Prentice-Hall, Inc., Englewood Cliffs (1985)
Huet, G.: The zipper. Journal of Functional Programming 7(5), 549–554 (1997)
Lodder, J., Heeren, B.: A teaching tool for proving equivalences between logical formulae. In: Soler-Toscano, F. (ed.) TICTTL 2011. LNCS, vol. 6680, pp. 154–161. Springer, Heidelberg (2011)
Melis, E., Siekmann, J.: ActiveMath: An intelligent tutoring system for mathematics. In: Rutkowski, L., Siekmann, J.H., Tadeusiewicz, R., Zadeh, L.A. (eds.) ICAISC 2004. LNCS (LNAI), vol. 3070, pp. 91–101. Springer, Heidelberg (2004)
Nipkow, T., Paulson, L.C., Wenzel, M.T. (eds.): Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)
Peyton Jones, S., et al.: Haskell 98, Language and Libraries. The Revised Report. Cambridge University Press, A special issue of the Journal of Functional Programming, (2003), http://www.haskell.org/
Swierstra, S.D.: Combinator parsing: A short tutorial. In: Bove, A., Barbosa, L.S., Pardo, A., Pinto, J.S. (eds.) Language Engineering and Rigorous Software Development. LNCS, vol. 5520, pp. 252–300. Springer, Heidelberg (2009)
Visser, E., Benaissa, Z.A., Tolmach, A.: Building program optimizers with rewriting strategies. In: ICFP 1998, pp. 13–26 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Heeren, B., Jeuring, J. (2011). Interleaving Strategies. In: Davenport, J.H., Farmer, W.M., Urban, J., Rabe, F. (eds) Intelligent Computer Mathematics. CICM 2011. Lecture Notes in Computer Science(), vol 6824. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22673-1_14
Download citation
DOI: https://doi.org/10.1007/978-3-642-22673-1_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22672-4
Online ISBN: 978-3-642-22673-1
eBook Packages: Computer ScienceComputer Science (R0)