1,487 research outputs found

    What’s Motivation Got to Do with It? A Survey of Recursion in the Computing Education Literature

    Get PDF
    One of the most challenging topics for both computing educators and students is recursion. Pedagogical approaches for teaching recursion have appeared in the computing education literature for over 30 years, and the topic has generated a significant body of work. Given its persistence, relatively little attention has been paid to student motivation. This article summarizes results on teaching and learning recursion explored by the computing education community, noting the relative lack of interest in motivation. It concludes by briefly discussing an approach to teaching recursion is appealing for students interested in web development

    Student Monks – Teaching Recursion in an IS or CS Programming Course Using the Towers of Hanoi

    Get PDF
    Educators have been using the Towers of Hanoi problem for many years as an example of a problem that has a very elegant recursive solution. However, the elegance and conciseness of this solution can make it difficult for students to understand the amount of computer time required in the execution of this solution. And, like many recursive computer programs, students often find it difficult to follow a trace of the solution. Research in computer education has shown that active learning exercises achieve positive educational results. In line with this research, an active learning exercise was employed in the classroom to assist students in gaining a better understanding of the recursive solution to the Towers of Hanoi problem. This demonstration can be used in an introductory IS or CS programming class, independent of the language used. The demonstration involves using student volunteers, who, in the demonstration, are referred to as “monks,” a reference to the original problem that had monks moving the golden rings in the Towers of Hanoi. An anonymous student survey revealed that students felt strongly that the demonstration helped them better understand recursion, and that the demonstration was a good use of class time. In addition, an analysis of a small sample of students’ computer programs following the demonstration, suggests that there may be pedagogical benefits to use of the student monk demonstration

    Toward Using Games to Teach Fundamental Computer Science Concepts

    Get PDF
    Video and computer games have become an important area of study in the field of education. Games have been designed to teach mathematics, physics, raise social awareness, teach history and geography, and train soldiers in the military. Recent work has created computer games for teaching computer programming and understanding basic algorithms. We present an investigation where computer games are used to teach two fundamental computer science concepts: boolean expressions and recursion. The games are intended to teach the concepts and not how to implement them in a programming language. For this investigation, two computer games were created. One is designed to teach basic boolean expressions and operators and the other to teach fundamental concepts of recursion. We describe the design and implementation of both games. We evaluate the effectiveness of these games using before and after surveys. The surveys were designed to ascertain basic understanding, attitudes and beliefs regarding the concepts. The boolean game was evaluated with local high school students and students in a college level introductory computer science course. The recursion game was evaluated with students in a college level introductory computer science course. We present the analysis of the collected survey information for both games. This analysis shows a significant positive change in student attitude towards recursion and modest gains in student learning outcomes for both topics

    A review and assessment of novice learning tools for problem solving and program development

    Get PDF
    There is a great demand for the development of novice learning tools to supplement classroom instruction in the areas of problem solving and program development. Research in the area of pedagogy, the psychology of programming, human-computer interaction, and cognition have provided valuable input to the development of new methodologies, paradigms, programming languages, and novice learning tools to answer this demand. Based on the cognitive needs of novices, it is possible to postulate a set of characteristics that should comprise the components an effective novice-learning tool. This thesis will discover these characteristics and provide recommendations for the development of new learning tools. This will be accomplished with a review of the challenges that novices face, an in-depth discussion on modem learning tools and the challenges that they address, and the identification and discussion of the vital characteristics that constitute an effective learning tool based on these tools and personal ideas

    Contemporary developments in teaching and learning introductory programming: Towards a research proposal

    Get PDF
    The teaching and learning of introductory programming in tertiary institutions is problematic. Failure rates are high and the inability of students to complete small programming tasks at the completion of introductory units is not unusual. The literature on teaching programming contains many examples of changes in teaching strategies and curricula that have been implemented in an effort to reduce failure rates. This paper analyses contemporary research into the area, and summarises developments in the teaching of introductory programming. It also focuses on areas for future research which will potentially lead to improvements in both the teaching and learning of introductory programming. A graphical representation of the issues from the literature that are covered in the document is provided in the introduction

    Proceedings of the Second Program Visualization Workshop, 2002

    Get PDF
    The Program Visualization Workshops aim to bring together researchers who design and construct program visualizations and, above all, educators who use and evaluate visualizations in their teaching. The first workshop took place in July 2000 at Porvoo, Finland. The second workshop was held in cooperation with ACM SIGCSE and took place at HornstrupCentret, Denmark in June 2002, immediately following the ITiCSE 2002 Conference in Aarhus, Denmark

    How functional programming mattered

    Get PDF
    In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly ‘why functional programming matters’. More than two decades have passed. Has functional programming really mattered? Our answer is a resounding ‘Yes!’. Functional programming is now at the forefront of a new generation of programming technologies, and enjoying increasing popularity and influence. In this paper, we review the impact of functional programming, focusing on how it has changed the way we may construct programs, the way we may verify programs, and fundamentally the way we may think about programs

    A Computer Learning Environment for Novice Java Programmers That Supports Cognitive Load Reducing Adaptations and Dynamic Visualizations of Computer Memory

    Get PDF
    Learning to program a computer is difficult for many. The Learning Edge Momentum hypothesis suggests that the difficulty may be due to the tightly integrated nature of programming concepts and adapting the way curriculum is offered may have a significant influence on the outcomes. We investigate applying cognitive load reducing methods to instruction of the introductory programming concepts of declaration, assignment and sequence, using a new learning environment that an instructor can adapt for a specific example or that a student can personalize for amount and modality of content provided. Our study has three learning surveys. Each learning survey has short instructional videos designed using cognitive load reducing methods and then asks participants to solve novel problems using the presented materials. Our first learning survey was completed by 123 participants recruited on Amazon\u27s Mechanical Turk (AMT). We found that 23% that watched the instructional video without computer memory (n=61) answered the three code tracing questions correctly. Our second learning survey included instructional videos prepared after analyzing the results of the previous survey and emphasized cognitive load reducing methods in preparing the new instruction. This second survey was completed by 220 participants also recruited via AMT. We found that 57% of the participants that watched the instructional video without computer memory (n=72) answered the three tracing questions correctly. Our third learning survey with 322 participants recruited via AMT confirmed that the difference between the two videos was statistically significant with medium effect size. In the third survey, 29% of the participants watching the first survey instructional video without computer memory and 45% of those that watched the second survey instructional video without computer memory answered all three tracing questions correctly. In the third learning survey, the gain from 29% from our first short video that we thought was a reasonable presentation to 45% in the second short video seems to lend strong support to the hypothesis that our typical methods of instruction for introductory programming simply overwhelm the cognitive capabilities of many of the students. Our results suggest that cognitive load reducing methods may be very helpful for teaching introductory programming concepts
    corecore