Abstract
In this paper we discuss a number of results and advices coming from our observations and didactical experience gathered when teaching about recursion in different contexts and on various education level (K-12 and tertiary). Knowing the difficulty in introducing, explaining and using recursion, we differentiate our approach, tools, and methods. Recursion can be introduced as a ‘real-life topic’ – see Section 2, and then software for visualization of recursive computations (Section 3) can be very helpful to overcome some difficulties by novices. Section 4 is on developing recursive thinking – we use two popular topics – generating Fibonacci number and printing digits of a number – to explain how to introduce students to different aspects of recursion. Section 5 is addressed to complexity of recursive computations – we discuss how to use recursion in a most effective way.
We do not teach recursion as a separate topic or subject, it is rather a method and a tool, the way of thinking, used in various situations. It is redundant in some cases (Section 5.1), can be used as an approach alternative to iteration (Sections 2 and 4.2), but our main focus is on its properties as a concept which has a computational power in designing solutions of problems and running such solutions on a computer.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
ACM K-12 Task Force Curriculum Committee, A Model Curriculum for K-12 Computer Science. ACM (2003)
Ben-Ari, M.: Recursion: From Drama to Programs. J. of Computer Science Education 11(3), 9–12 (1997)
CSTA: K-12 Computer Science Standards (2011), http://csta.acm.org/Research/sub/CSTAResearch.html
Diduszko, P.: Rekurencja. System do Nauki Posługiwania się Rekurencją, Master Degree Thesis, Institute of Computer Science, University of Wrocław (2013)
Edgington, J.: Teaching and Viewing Recursion as Delegation. J. Computing Sciences in Colleges 23(1), 241–246 (2007)
Educational software, http://mmsyslo.pl/Materialy/Oprogramowanie
Ershov, A.P.: Basic Concepts of Algorithms and Programming to be Taught in a School Course in Informatics. BIT 28, 397–405 (1988)
Ford, G.: A framework for Teaching Recursion. SIGCSE Bulletin 14(2), 32–39 (1982)
Ginat, D., Shifroni, E.: Teaching Recursion in a Procedural Environment – How much Should we Emphasize the Computing Model? SIGCSE Bulletin 31(1), 127–131 (1999)
Ginat, D.: Do Senior, CS Students Capitalize on Recursion? In: Proceedings ITiCSE 2004, Leeds, pp. 82–86. ACM (2004)
Gurbiel, E., Hard-Olejniczak, G., Kołczyk, E., Krupicka, H., Sysło, M.M.: Informatics (In Polish), vols. 1 and 2, Textbook for high school, WSiP, Warszawa (2002-2003)
Haberman, B., Averbuch, H.: The Case of Base Cases: Why are They so Difficult to Recognize? Student Difficulties with Recursion. In: ITiCSE 2002, Aarhus, Denmark, pp. 84–88 (2002)
Haynes, S.M.: Explaining Recursion to the Unsophisticated. SIGCSE Bulletin 27(3), 3–6, 14 (1995)
Hsin, W.: Teaching Recursion Using Recursion Graphs. J. of Computing Sciences in Colleges 23(4), 217–222 (2008)
Information and Communication Technology in Education. A Curriculum for Schools and Programme of Teacher Development, IFIP/UNESCO (2002)
Leron, U., Zaskis, R.: Computational Recursion and Mathematical Induction. For the Learning of Mathematics 6(2), 25–28 (1986)
Naps, T., Roessling, G., Almstrum, V., Dann, W., Fleischer, R., Hundhausen, C., Korhonen, A., Malmi, L., MCNally, M., Rodger, S., Velazquez, J.: Exploring the Role of Visualization and Engagement in Computer Science Education. SIGCSE Bulletin 35(2), 131–152 (2003)
Rubio-Sanchez, M., Urquiza-Fuentes, J., Pareja-Flores, C.: A Gentle Introduction to Mutual Recursion. In: Proceedings ITiCSE 2008, Madrid, pp. 235–239. ACM (2008)
Sooriamurthi, R.: Problems in Comprehending Recursion and Suggested Solutions. SIGCSE Bulletin 33(3), 25–28 (2001)
Sysło, M.M.: Algorithms. WSiP, Warszawa (1997) (in Polish)
Sysło, M.M.: Pyramids, Cones and Other Algorithmic Constructions. WSiP, Warszawa (1998) (in Polish)
Sysło, M.M., Kwiatkowska, A.B.: Contribution of Informatics Education to Mathematics Education in Schools. In: Mittermeir, R.T. (ed.) ISSEP 2006. LNCS, vol. 4226, pp. 209–219. Springer, Heidelberg (2006)
Sysło, M.M., Kwiatkowska, A.B.: Think logarithmically! Accepted for KEYCIT, Potsdam (Germany) (July 2014)
Sysło, M.M.: Outreach to Prospective Informatics Students. In: Kalaš, I., Mittermeir, R.T. (eds.) ISSEP 2011. LNCS, vol. 7013, pp. 56–70. Springer, Heidelberg (2011)
Tessler, J., Beth, B., Lin, C.: Using Cargo-Bot to Provide Contextualized Learning of Recursion. In: Proceedings ICER 2013, San Diego, pp. 161–168. ACM (2013)
Tung, S.-H., Chang, C.-T., Wong, W.-K., Jehng, J.-C.: Visual Representations for Recursion. Int. J. Human-Computer Studies 54, 285–300 (2001)
Yang, F.-J.: Another Outlook on Linear Recursion. Inroads, SIGCSE Bulletin 40(4), 38–41 (2008)
Valazquez-Iturbide, J., Perez-Carrasco, A., Urquiza-Fuentes, J.: SRec: An Animation System of Recursion for Algorithm Courses. In: Proceedings ITiCSE 2008, Madrid, pp. 225–229 (2008)
Wirth, M.: Introducing Recursion by Parking Cars. SIGCSE Bulletin 40(4), 52–55 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Syslo, M.M., Kwiatkowska, A.B. (2014). Introducing Students to Recursion: A Multi-facet and Multi-tool Approach. In: Gülbahar, Y., Karataş, E. (eds) Informatics in Schools. Teaching and Learning Perspectives. ISSEP 2014. Lecture Notes in Computer Science, vol 8730. Springer, Cham. https://doi.org/10.1007/978-3-319-09958-3_12
Download citation
DOI: https://doi.org/10.1007/978-3-319-09958-3_12
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-09957-6
Online ISBN: 978-3-319-09958-3
eBook Packages: Computer ScienceComputer Science (R0)