{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,7]],"date-time":"2026-02-07T23:55:08Z","timestamp":1770508508102,"version":"3.49.0"},"publisher-location":"Berlin, Heidelberg","reference-count":40,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783642320958","type":"print"},{"value":"9783642320965","type":"electronic"}],"license":[{"start":{"date-parts":[[2012,1,1]],"date-time":"2012-01-01T00:00:00Z","timestamp":1325376000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2012]]},"DOI":"10.1007\/978-3-642-32096-5_1","type":"book-chapter","created":{"date-parts":[[2012,7,11]],"date-time":"2012-07-11T06:23:57Z","timestamp":1341987837000},"page":"1-45","source":"Crossref","is-referenced-by-count":10,"title":["A Programming Tutor for Haskell"],"prefix":"10.1007","author":[{"given":"Johan","family":"Jeuring","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alex","family":"Gerdes","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bastiaan","family":"Heeren","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"1_CR1","doi-asserted-by":"publisher","first-page":"467","DOI":"10.1207\/s15516709cog1304_1","volume":"13","author":"J.R. Anderson","year":"1986","unstructured":"Anderson, J.R., Conrad, F.G., Corbett, A.T.: Skill acquisition and the LISP tutor. Cognitive Science\u00a013, 467\u2013505 (1986)","journal-title":"Cognitive Science"},{"key":"1_CR2","unstructured":"Back, R.-J.: A calculus of refinements for program derivations. In: Reports on Computer Science and Mathematics\u00a054. \u00c5bo Akademi (1987)"},{"key":"1_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"117","DOI":"10.1007\/3-540-49254-2_4","volume-title":"Prospects for Hardware Foundations","author":"U. Berger","year":"1998","unstructured":"Berger, U., Eberl, M., Schwichtenberg, H.: Normalization by Evaluation. In: M\u00f6ller, B., Tucker, J.V. (eds.) Prospects for Hardware Foundations. LNCS, vol.\u00a01546, pp. 117\u2013137. Springer, Heidelberg (1998)"},{"key":"1_CR4","doi-asserted-by":"publisher","first-page":"77","DOI":"10.1016\/0304-3975(85)90088-X","volume":"37","author":"J.A. Bergstra","year":"1985","unstructured":"Bergstra, J.A., Klop, J.W.: Algebra of communicating processes with abstraction. Theoretical Computer Science\u00a037, 77\u2013121 (1985)","journal-title":"Theoretical Computer Science"},{"key":"1_CR5","doi-asserted-by":"crossref","unstructured":"Bird, R.S.: An introduction to the theory of lists. In: Broy, M. (ed.) Logic of Programming and Calculi of Discrete Design. NATO ASI Series, vol.\u00a0F36, pp. 5\u201342. Springer (1987)","DOI":"10.1007\/978-3-642-87374-4_1"},{"key":"1_CR6","doi-asserted-by":"publisher","first-page":"155","DOI":"10.1207\/s15516709cog0202_4","volume":"2","author":"J.S. Brown","year":"1978","unstructured":"Brown, J.S., Burton, R.R.: Diagnostic models for procedural bugs in basic mathematical skills. Cognitive Science\u00a02, 155\u2013192 (1978)","journal-title":"Cognitive Science"},{"key":"1_CR7","unstructured":"Bundy, A.: The Computer Modelling of Mathematical Reasoning. Academic Press (1983)"},{"key":"1_CR8","doi-asserted-by":"publisher","first-page":"453","DOI":"10.1145\/360933.360975","volume":"18","author":"E.W. Dijkstra","year":"1975","unstructured":"Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM\u00a018, 453\u2013457 (1975)","journal-title":"Commun. ACM"},{"key":"1_CR9","volume-title":"How to design programs: an introduction to programming and computing","author":"M. Felleisen","year":"2002","unstructured":"Felleisen, M., Findler, R.B., Flatt, M., Krishnamurthi, S.: How to design programs: an introduction to programming and computing. MIT Press, Cambridge (2002)"},{"key":"1_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"167","DOI":"10.1007\/978-3-540-24727-2_13","volume-title":"Foundations of Software Science and Computation Structures","author":"A. Filinski","year":"2004","unstructured":"Filinski, A., Rohde, H.K.: A Denotational Account of Untyped Normalization by Evaluation. In: Walukiewicz, I. (ed.) FOSSACS 2004. LNCS, vol.\u00a02987, pp. 167\u2013181. Springer, Heidelberg (2004)"},{"key":"1_CR11","doi-asserted-by":"crossref","unstructured":"Fincher, S., Petre, M. (eds.): Computer Science Education Research. RoutledgeFalmer (2004)","DOI":"10.1201\/9781482287325"},{"key":"1_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/3-540-59451-5_1","volume-title":"Advanced Functional Programming","author":"J. Fokker","year":"1995","unstructured":"Fokker, J.: Functional Parsers. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol.\u00a0925, pp. 1\u201323. Springer, Heidelberg (1995)"},{"key":"1_CR13","doi-asserted-by":"crossref","unstructured":"Fokkink, W.: Introduction to Process Algebra. Springer (2000) ISBN 354066579X","DOI":"10.1007\/978-3-662-04293-9"},{"key":"1_CR14","unstructured":"Gerdes, A., Heeren, B., Jeuring, J., Stuurman, S.: Feedback services for exercise assistants. In: Remenyi, D. (ed.) ECEL 2007: Proceedings of the 7th European Conference on e-Learning, pp. 402\u2013410. Academic Publishing Limited (2008); Also available as Technical report Utrecht University UU-CS-2008-018"},{"key":"1_CR15","doi-asserted-by":"crossref","unstructured":"Gerdes, A., Jeuring, J., Heeren, B.: Using strategies for assessment of programming exercises. In: Lewandowski, G., Wolfman, S.A., Cortina, T.J., Walker, E.L. (eds.) SIGCSE, pp. 441\u2013445. ACM (2010)","DOI":"10.1145\/1734263.1734412"},{"key":"1_CR16","doi-asserted-by":"crossref","unstructured":"Gerdes, A., Jeuring, J., Heeren, B.: Teachers and students in charge \u2014 using annotated model solutions in a functional programming tutor. Technical report, Utrecht University, Department of Computer Science (to appear, 2012)","DOI":"10.1007\/978-3-642-32096-5_1"},{"key":"1_CR17","unstructured":"Guzdial, M.: Programming environments for novices. In: Fincher, S., Petre, M. (eds.) Computer Science Education Research. RoutledgeFalmer (2004)"},{"issue":"1","key":"1_CR18","doi-asserted-by":"publisher","first-page":"81","DOI":"10.3102\/003465430298487","volume":"77","author":"J. Hattie","year":"2007","unstructured":"Hattie, J., Timperley, H.: The power of feedback. Review of Educational Research\u00a077(1), 81\u2013112 (2007)","journal-title":"Review of Educational Research"},{"key":"1_CR19","unstructured":"Heeren, B., Jeuring, J.: Recognizing strategies. In: Middeldorp, A. (ed.) WRS 2008: Reduction Strategies in Rewriting and Programming, 8th International Workshop (2008)"},{"key":"1_CR20","series-title":"Lecture Notes in Artificial Intelligence","doi-asserted-by":"publisher","first-page":"325","DOI":"10.1007\/978-3-642-02614-0_27","volume-title":"Intelligent Computer Mathematics","author":"B. Heeren","year":"2009","unstructured":"Heeren, B., Jeuring, J.: Canonical Forms in Interactive Exercise Assistants. In: Carette, J., Dixon, L., Coen, C.S., Watt, S.M. (eds.) Calculemus\/MKM 2009. LNCS (LNAI), vol.\u00a05625, pp. 325\u2013340. Springer, Heidelberg (2009)"},{"key":"1_CR21","series-title":"Lecture Notes in Artificial Intelligence","doi-asserted-by":"publisher","first-page":"315","DOI":"10.1007\/978-3-642-14128-7_27","volume-title":"Intelligent Computer Mathematics","author":"B. Heeren","year":"2010","unstructured":"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\/Calculemus\/MKM 2010. LNCS (LNAI), vol.\u00a06167, pp. 315\u2013330. Springer, Heidelberg (2010)"},{"key":"1_CR22","series-title":"Lecture Notes in Artificial Intelligence","doi-asserted-by":"publisher","first-page":"196","DOI":"10.1007\/978-3-642-22673-1_14","volume-title":"Intelligent Computer Mathematics","author":"B. Heeren","year":"2011","unstructured":"Heeren, B., Jeuring, J.: Interleaving Strategies. In: Davenport, J.H., Farmer, W.M., Urban, J., Rabe, F. (eds.) Calculemus\/MKM 2011. LNCS (LNAI), vol.\u00a06824, pp. 196\u2013211. Springer, Heidelberg (2011)"},{"key":"1_CR23","doi-asserted-by":"crossref","unstructured":"Heeren, B., Leijen, D., van IJzendoorn, A.: Helium, for learning Haskell. In: Haskell 2003: Proceedings of the 2003 ACM SIGPLAN Workshop on Haskell, pp. 62\u201371. ACM (2003)","DOI":"10.1145\/871895.871902"},{"key":"1_CR24","series-title":"Lecture Notes in Artificial Intelligence","doi-asserted-by":"publisher","first-page":"430","DOI":"10.1007\/978-3-540-85110-3_36","volume-title":"Intelligent Computer Mathematics","author":"B. Heeren","year":"2008","unstructured":"Heeren, B., Jeuring, J., van Leeuwen, A., Gerdes, A.: Specifying Strategies for Exercises. In: Autexier, S., Campbell, J., Rubio, J., Sorge, V., Suzuki, M., Wiedijk, F. (eds.) AISC\/Calculemus\/MKM 2008. LNCS (LNAI), vol.\u00a05144, pp. 430\u2013445. Springer, Heidelberg (2008)"},{"key":"1_CR25","doi-asserted-by":"publisher","first-page":"576","DOI":"10.1145\/363235.363259","volume":"12","author":"C.A.R. Hoare","year":"1969","unstructured":"Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM\u00a012, 576\u2013580 (1969)","journal-title":"Commun. ACM"},{"key":"1_CR26","unstructured":"Hoare, C.A.R.: Communicating sequential processes. Prentice-Hall, Inc. (1985) ISBN 0-13-153271-5"},{"issue":"4","key":"1_CR27","doi-asserted-by":"publisher","first-page":"505","DOI":"10.1016\/j.ijhcs.2004.02.001","volume":"61","author":"J. Hong","year":"2004","unstructured":"Hong, J.: Guided programming and automated error analysis in an intelligent Prolog tutor. International Journal on Human-Computer Studies\u00a061(4), 505\u2013534 (2004)","journal-title":"International Journal on Human-Computer Studies"},{"issue":"5","key":"1_CR28","doi-asserted-by":"publisher","first-page":"549","DOI":"10.1017\/S0956796897002864","volume":"7","author":"G. Huet","year":"1997","unstructured":"Huet, G.: Functional Pearl: The Zipper. Journal of Functional Programming\u00a07(5), 549\u2013554 (1997)","journal-title":"Journal of Functional Programming"},{"issue":"3","key":"1_CR29","doi-asserted-by":"publisher","first-page":"323","DOI":"10.1017\/S0956796800000411","volume":"2","author":"G. Hutton","year":"1992","unstructured":"Hutton, G.: Higher-order Functions for Parsing. Journal of Functional Programming\u00a02(3), 323\u2013343 (1992)","journal-title":"Journal of Functional Programming"},{"key":"1_CR30","unstructured":"Meertens, L.: Algorithmics \u2014 towards programming as a mathematical activity. In: Proceedings of the CWI Symposium on Mathematics and Computer Science. CWI Monographs, vol.\u00a01, pp. 289\u2013334. North\u2013Holland (1986)"},{"key":"1_CR31","doi-asserted-by":"publisher","first-page":"273","DOI":"10.1016\/0747-5632(90)90023-A","volume":"6","author":"J.J.G. Merri\u00ebnboer van","year":"1990","unstructured":"van Merri\u00ebnboer, J.J.G., Paas, F.G.W.C.: Automation and schema acquisition in learning elementary computer programming: Implications for the design of practice. Computers in Human Behavior\u00a06, 273\u2013289 (1990)","journal-title":"Computers in Human Behavior"},{"issue":"2","key":"1_CR32","doi-asserted-by":"publisher","first-page":"140","DOI":"10.1080\/1049482940040202","volume":"4","author":"P. Miller","year":"1994","unstructured":"Miller, P., Pane, J., Meter, G., Vorthmann, S.: Evolution of Novice Programming Environments: The Structure Editors of Carnegie Mellon University. Interactive Learning Environments\u00a04(2), 140\u2013158 (1994)","journal-title":"Interactive Learning Environments"},{"key":"1_CR33","unstructured":"Morgan, C.: Programming from specifications. Prentice-Hall, Inc. (1990)"},{"key":"1_CR34","unstructured":"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, http:\/\/www.haskell.org\/"},{"issue":"2","key":"1_CR35","doi-asserted-by":"publisher","first-page":"157","DOI":"10.2190\/WK8C-BYCF-VQ5C-E307","volume":"1","author":"E. Soloway","year":"1985","unstructured":"Soloway, E.: From problems to programs via plans: the content and structure of knowledge for introductory LISP programming. Journal of Educational Computing Research\u00a01(2), 157\u2013172 (1985)","journal-title":"Journal of Educational Computing Research"},{"key":"1_CR36","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"184","DOI":"10.1007\/3-540-61628-4_7","volume-title":"Advanced Functional Programming","author":"S. Doaitse Swierstra","year":"1996","unstructured":"Doaitse Swierstra, S., Duponcheel, L.: Deterministic, Error-correcting Combinator Parsers. In: Launchbury, J., Meijer, E., Sheard, T. (eds.) AFP 1996. LNCS, vol.\u00a01129, pp. 184\u2013207. Springer, Heidelberg (1996)"},{"key":"1_CR37","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"252","DOI":"10.1007\/978-3-642-03153-3_6","volume-title":"Language Engineering and Rigorous Software Development","author":"S. Doaitse Swierstra","year":"2009","unstructured":"Doaitse Swierstra, S.: 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.\u00a05520, pp. 252\u2013300. Springer, Heidelberg (2009)"},{"issue":"3","key":"1_CR38","first-page":"227","volume":"16","author":"K. VanLehn","year":"2006","unstructured":"VanLehn, K.: The behavior of tutoring systems. International Journal on Artificial Intelligence in Education\u00a016(3), 227\u2013265 (2006)","journal-title":"International Journal on Artificial Intelligence in Education"},{"key":"1_CR39","first-page":"147","volume":"15","author":"K. Vanlehn","year":"2005","unstructured":"Vanlehn, K., Lynch, C., Schulze, K., Shapiro, J.A., Shelby, R., Taylor, L., Treacy, D., Weinstein, A., Wintersgill, M.: The andes physics tutoring system: Lessons learned. International Journal on Artificial Intelligence in Education\u00a015, 147\u2013204 (2005)","journal-title":"International Journal on Artificial Intelligence in Education"},{"issue":"4","key":"1_CR40","doi-asserted-by":"publisher","first-page":"360","DOI":"10.1109\/TSE.2003.1191799","volume":"29","author":"S. Xu","year":"2003","unstructured":"Xu, S., Chee, Y.S.: Transformation-based diagnosis of student programs for programming tutoring systems. IEEE Transactions on Software Engineering\u00a029(4), 360\u2013384 (2003)","journal-title":"IEEE Transactions on Software Engineering"}],"container-title":["Lecture Notes in Computer Science","Central European Functional Programming School"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-32096-5_1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,7,10]],"date-time":"2020-07-10T15:07:25Z","timestamp":1594393645000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-32096-5_1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"ISBN":["9783642320958","9783642320965"],"references-count":40,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-32096-5_1","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012]]}}}