15,756 research outputs found

    Introducing novice programmers to functions and recursion using computer games

    Get PDF

    Implicit learning of recursive context-free grammars

    Get PDF
    Context-free grammars are fundamental for the description of linguistic syntax. However, most artificial grammar learning experiments have explored learning of simpler finite-state grammars, while studies exploring context-free grammars have not assessed awareness and implicitness. This paper explores the implicit learning of context-free grammars employing features of hierarchical organization, recursive embedding and long-distance dependencies. The grammars also featured the distinction between left- and right-branching structures, as well as between centre- and tail-embedding, both distinctions found in natural languages. People acquired unconscious knowledge of relations between grammatical classes even for dependencies over long distances, in ways that went beyond learning simpler relations (e.g. n-grams) between individual words. The structural distinctions drawn from linguistics also proved important as performance was greater for tail-embedding than centre-embedding structures. The results suggest the plausibility of implicit learning of complex context-free structures, which model some features of natural languages. They support the relevance of artificial grammar learning for probing mechanisms of language learning and challenge existing theories and computational models of implicit learning

    Quantum curves for Hitchin fibrations and the Eynard-Orantin theory

    Get PDF
    We generalize the topological recursion of Eynard-Orantin (2007) to the family of spectral curves of Hitchin fibrations. A spectral curve in the topological recursion, which is defined to be a complex plane curve, is replaced with a generic curve in the cotangent bundle TCT^*C of an arbitrary smooth base curve CC. We then prove that these spectral curves are quantizable, using the new formalism. More precisely, we construct the canonical generators of the formal \hbar-deformation family of DD-modules over an arbitrary projective algebraic curve CC of genus greater than 11, from the geometry of a prescribed family of smooth Hitchin spectral curves associated with the SL(2,C)SL(2,\mathbb{C})-character variety of the fundamental group π1(C)\pi_1(C). We show that the semi-classical limit through the WKB approximation of these \hbar-deformed DD-modules recovers the initial family of Hitchin spectral curves.Comment: 34 page

    Modelling recursion

    Get PDF
    The purpose of my research is to examine and explore the ways that undergraduate students understand the concept of recursion. In order to do this, I have designed computer-based software, which provides students with a virtual and interactive environment where they can explore the concept of recursion, and demonstrate and develop their knowledge of recursion through active engagement. I have designed this computer-based software environment with the aim of investigating how students think about recursion. My approach is to design digital tools to facilitate students' understanding of recursion and to expose that thinking. My research investigates students' understanding of the hidden layers and inherent complexity of recursion, including how they apply it within relevant contexts. The software design embedded the idea of functional abstraction around two basic principles of: 'functioning' and 'functionality'. The functionality principle focuses on what recursion achieve, and the functioning dimension concerns how recursion is operationalised. I wanted to answer the following crucial question: How does the recursive thinking of university students evolve through using carefully designed digital tools? In the process of exploring this main question, other questions emerged: 1. Do students understand the difference between recursion and iteration? 2. How is tail and embedded recursion understood by the students? 3. To what extent does prior knowledge of the concept of iteration influence students' understanding of tail and embedded recursion? 4. Why is it important to have a clear understanding of the control passing mechanisms in order to understand recursion? 5. What is the role of functional abstraction in both, the design of computer-based tools and the students' understanding of recursion? 6. How are students' mental models of recursion shaped by their engagement with computer-based tools? From a functional abstraction point of view almost all previous research into the concept of recursion has focused on the functionality dimension. Typically, it has focused on procedures for the calculation of the factorial of a natural number, and students were tested to see if they are able to work out the values of the a function recursively (Wiedenbeck, 1988; Anazi and Uesato, 1982) or if they are able to recognize a recursive structure (Sooriamurthi, 2001; Kurland and Pea, 1985). Also, I invented the Animative Visualisation in the Domain of Abstraction (AVDA) which combines the functioning and functionality principles regarding the concept of recursion. In the AVDA environment, students are given the opportunity to explore the hidden layers and the complicated behaviour of the control passing mechanisms of the concept of recursion. In addition, most of the textbooks in mathematics and computer sciences usually fail to explain how to use recursion to solve a problem. Although it is also true that text books do not typically explain how to use iteration to solve problems, students are able to draw on to facilitate solving iterative problems (Pirolli et al, 1988). My approach is inspired by how recursion can be found in everyday life and in real world phenomena, such as fractal-shaped objects like trees and spirals. This research strictly adheres to a Design Based Research methodology (DBR), which is founded on the principle of the cycle of designing, testing (observing the students' experiments with the design), analysing, and modifying (Barab and Squire, 2004; Cobb and diSessa, 2003). My study was implemented throughout three iterations. The results showed that in the AVDA (Animative Visualisation in the Domain of Abstraction) environment students' thinking about the concept of recursion changed significantly. In the AVDA environment they were able to see and experience the complicated control passing mechanism of the tail and embedded recursion, referred to a delegatory control passing. This complicated control passing mechanism is a kind of generalization of flow in the iterative procedures, which is discussed later in the thesis. My results show that, to model a spiral, students prefer to use iterative techniques, rather than tail recursion. The AVDA environment helped students to appreciate the delegatory control passing for tail recursive procedures. However, they still demonstrated difficulties in understanding embedded recursive procedures in modelling binary and ternary trees, particularly regarding the transition of flow between recursive calls. Based on the results of my research, I have devised a model of the evolution of students' mental model of recursion which I have called – the quasi-pyramid model. This model was derived from applying functional abstraction including both functionality and functioning principles. Pedagogic implications are discussed. For example, the teaching of recursion might adopt 'animative' visualization, which is of vitally important for students' understanding of latent layers of recursion

    The cognitive construction of programs by novice programmers : a thesis presented in partial fulfilment of the requirements for the degree of Master of Science in Computer Science at Massey University

    Get PDF
    Human memory and cognition are studied to aid novice programmers with the cognitive construction and the acquisition of program plans. Particular emphasis is placed on the storage and retrieval of program knowledge, the cognitive structure of stored program knowledge, the effects of transferring cognitive structures from one programming language to another, and the learning activities involved with learning a new programming language. Cognitive principles are applied to the design of a programming language and environment. The design of both the programming language and environment are discussed together with an introduction of how they are used. The hypothetical results of two experiments are argued to demonstrate that the programming language and environment are well suited in supporting the development of program plans
    corecore