<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="article">
<front>
    <journal-meta>
        <journal-id journal-id-type="publisher-id">INFEDU</journal-id>
        <journal-title-group>
            <journal-title>Informatics in Education</journal-title>
        </journal-title-group>
        <issn pub-type="epub">1648-5831</issn>
        <issn pub-type="ppub">1648-5831</issn>
        <publisher>
            <publisher-name>VU</publisher-name>
        </publisher>
    </journal-meta>
    <article-meta>
                <article-id pub-id-type="publisher-id">INFE235</article-id>
                        <article-id pub-id-type="doi">10.15388/infedu.2014.06</article-id>
                        <article-categories>
            <subj-group subj-group-type="heading">
                <subject>Article</subject>
            </subj-group>
        </article-categories>
                        <title-group>
            <article-title>A Survey on Teaching and Learning Recursive Programming</article-title>
        </title-group>
                        <contrib-group>
                                        <contrib contrib-type="author">
                                                <name>
                    <surname>RINDERKNECHT</surname>
                    <given-names>Christian</given-names>
                </name>
                                <email xlink:href="mailto:rinderkn@caesar.elte.hu">rinderkn@caesar.elte.hu</email>
                                                <xref ref-type="aff" rid="j_INFEDU_aff_000"/>
                                            </contrib>
                        <aff id="j_INFEDU_aff_000">Department of Programming Languages and Compilers, Eötvös Loránd University
Budapest, Hungary</aff>
                                </contrib-group>
                                                                            <volume>13</volume>
                                <issue>1</issue>
                                    <fpage>87</fpage>
                        <lpage>119</lpage>
						<pub-date pub-type="epub">
                        <day>15</day>
                                    <month>04</month>
                        <year>2014</year>
        </pub-date>
                                                        <abstract>
                        <p>We survey the literature about the teaching and learning of recursive programming. After a short history of the advent of recursion in programming languages and its adoption by programmers, we present curricular approaches to recursion, including a review of textbooks and some programming methodology, as well as the functional and imperative paradigms and the distinction between control flow vs. data flow. We follow the researchers in stating the problem with base cases, noting the similarity with induction in mathematics, making concrete analogies for recursion, using games, visualizations, animations, multimedia environments, intelligent tutoring systems and visual programming. We cover the usage in schools of the Logo programming language and the associated theoretical didactics, including a brief overview of the constructivist and constructionist theories of learning; we also sketch the learners&#039; mental models which have been identified so far, and non-classical remedial strategies, such as kinesthesis and syntonicity. We append an extensive and carefully collated bibliography, which we hope will facilitate new research.</p>
                    </abstract>
                <kwd-group>
            <label>Keywords</label>
                        <kwd>computer science education</kwd>
                        <kwd>didactics of programming</kwd>
                        <kwd>recursion</kwd>
                        <kwd>tail recursion</kwd>
                        <kwd>embedded recursion</kwd>
                        <kwd>iteration</kwd>
                        <kwd>loop</kwd>
                        <kwd>mental models</kwd>
                    </kwd-group>
    </article-meta>
</front>
</article>
