1,204 research outputs found

    Identifying cognitive abilities to improve CS1 outcome

    Get PDF
    Introductory programming courses entail students’ high failure and dropout rates. In an effort to tackle this problem, we carried out a qualitative study aiming to shed some light on the programming phase that is most challenging for students, in order to elicit the specific difficulties they experience while learning to program. In doing so, distinctive cognitive abilities, differentiating subjects in terms of the way they handle programming tasks, were detected. Such aptitudes are represented in three groups of students: those who learn easily, those who never seem to fully grasp what programming requires despite true effort, and those who experience a sudden insight, making them leap from a point were they had difficulties to another where they overcome them. By interviewing teachers and students, abstraction and sequencing elaboration were found to be the two core skills for programming. These results impelled us to consider the mental models’ approach, concluding that there are very specific cognitive functions that are more favorable to learn programming and that are fostered by more adequate schemas of representing reality. Some conclusions involving Problem-based learning as a fit teaching methodology to overcome students’ difficulties are also presented

    The abstraction transition taxonomy: developing desired learning outcomes through the lens of situated cognition

    Get PDF
    We report on a post-hoc analysis of introductory programming lecture materials. The purpose of this analysis is to identify what knowledge and skills we are asking students to acquire, as situated in the activity, tools, and culture of what programmers do and how they think. The specific materials analyzed are the 133 Peer Instruction questions used in lecture to support cognitive apprenticeship -- honoring the situated nature of knowledge. We propose an Abstraction Transition Taxonomy for classifying the kinds of knowing and practices we engage students in as we seek to apprentice them into the programming world. We find students are asked to answer questions expressed using three levels of abstraction: English, CS Speak, and Code. Moreover, many questions involve asking students to transition between levels of abstraction within the context of a computational problem. Finally, by applying our taxonomy in classifying a range of introductory programming exams, we find that summative assessments (including our own) tend to emphasize a small range of the skills fostered in students during the formative/apprenticeship phase

    Early Developmental Activities and Computing Proficiency

    Get PDF
    As countries adopt computing education for all pupils from primary school upwards, there are challenging indicators: significant proportions of students who choose to study computing at universities fail the introductory courses, and the evidence for links between formal education outcomes and success in CS is limited. Yet, as we know, some students succeed without prior computing experience. Why is this? <br/><br/> Some argue for an innate ability, some for motivation, some for the discrepancies between the expectations of instructors and students, and some – simply – for how programming is being taught. All agree that becoming proficient in computing is not easy. Our research takes a novel view on the problem and argues that some of that success is influenced by early childhood experiences outside formal education. <br/><br/> In this study, we analyzed over 1300 responses to a multi-institutional and multi-national survey that we developed. The survey captures enjoyment of early developmental activities such as childhood toys, games and pastimes between the ages 0 — 8 as well as later life experiences with computing. We identify unifying features of the computing experiences in later life, and attempt to link these computing experiences to the childhood activities. <br/><br/> The analysis indicates that computing proficiency should be seen from multiple viewpoints, including both skill-level and confidence. It shows that particular early childhood experiences are linked to parts of computing proficiency, namely those related to confidence with problem solving using computing technology. These are essential building blocks for more complex use. We recognize issues in the experimental design that may prevent our data showing a link between early activities and more complex computing skills, and suggest adjustments. Ultimately, it is hoped that this line of research will feed in to early years and primary education, and thereby improve computing education for all

    Introductory programming: a systematic literature review

    Get PDF
    As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research

    The Impact of a Video Game Intervention on the Cognitive Functioning, Self-Efficacy, Self-Esteem, and Video Game Attitudes of Older Adults

    Get PDF
    While a well-established body of empirical work indicates that engaging in mentally stimulating activities is linked to positive physical and mental health outcomes, relatively few studies have specifically examined the impact that video game training can have on cognitive functioning and well-being. Given the substantial implications that such work has for an ever-growing older adult population, this area of research has begun to pique the interest of researchers world-wide. The present study employed an experimental paradigm to explore the impact of a Nintendo DS video game, Brain Age, on the cognitive functioning, self-efficacy, self-esteem, and video game attitudes of adults aged 65 and older. A total of 35 participants were recruited from various Senior Centers located in the San Fernando Valley and were randomly assigned to an intervention group that played Brain Age for five weeks (three hours of supervised training per week) or a control group that was only required to complete an assessment battery before and after a five week period. Findings stemming from ANCOVA analyses in which pre-test scores (and in the case of cognitive outcome variables, a separate cognitive screener) served as covariates indicated significant group differences with regards to brief arithmetic and syllable count assessments, and marginally significant differences on the basis of the Stroop Interference Test. While all the effects for self-efficacy, self-esteem, and a newly developed video game attitudes scale were in the predicted direction, no statistically significant group differences were found. Findings across the 16 examined outcome variables also indicate larger effects among cognitive outcome variables that are directly practiced via the intervention. Such findings also indicate larger effects among timed over non-timed cognitive measures, and among cognitive over affective/attitudinal variables. Notwithstanding limitations concerning the transferability of trained skills to a broader set of cognitive abilities, the current study\u27s evidence suggests that playing a simple, inexpensive, and easily accessible videogame can enhance some aspects of cognitive functioning. These findings hold significant implications for the millions of older Americans looking for technologically-oriented avenues by which to sharpen their cognitive skills

    Personality as a Predictor of Student Success in Programming Principles

    Get PDF
    Large numbers of college students continue to fail to successfully complete programming principles courses. However, little research has addressed potential reasons for student failure. Many educators simply assume that high failure rates are acceptable – that computer programming is difficult and some students simply “don’t get it.” Some researchers (i.e., Bishop-Clark & Wheeler, 1994; Carland & Carland, 1990) have studied personality as a predictor of success in computer programming courses. However, with the exception of Woszczynski & Guthrie (2003), few studies have attempted to gather cognitive profiles (Krause, 2000) and match performance to profile type exhibited. Krause’s work shows that students with identified profiles can apply certain study skills to improve the probability of success in the classroom, and Woszczynski & Guthrie (2003) extended this research to the programming classroom, identifying underperforming cognitive profile groups. This study identified the primary cognitive profile of 236 students in a programming principles course at a southeastern university and matched profile to final average in programming principles I. Overall, intuitive thinkers (NT) tended to perform better in programming principles I than sensor feelers (SF). We found no other differences in performance between other paired profiles. We recommend a number of interventions to reach underperforming groups

    Development and Application of a Rasch Model Measure of Student Competency in University Introductory Computer Programming

    Get PDF
    University computer programming instruction nomenclature commonly uses the term Computer Science 1 (CS1) to describe introductory units of study. Success in CS1 is important as a pre-requisite for further study in programming and related disciplines. It is important to measure student progress and the antecedent influences. This study applied the Rasch Model and Messick’s Unified Theory of Validity to construct an interval level measure of CS1 competency with demonstrable suitability for this purpose

    The Design and Evaluation of an Educational Software Development Process for First Year Computing Undergraduates

    Get PDF
    First year, undergraduate computing students experience a series of well-known challenges when learning how to design and develop software solutions. These challenges, which include a failure to engage effectively with planning solutions prior to implementation ultimately impact upon the students’ competency and their retention beyond the first year of their studies. In the software industry, software development processes systematically guide the development of software solutions through iterations of analysis, design, implementation and testing. Industry-standard processes are, however, unsuitable for novice programmers as they require prior programming knowledge. This study investigates how a researcher-designed educational software development process could be created for novice undergraduate learners, and the impact of this process on their competence in learning how to develop software solutions. Based on an Action Research methodology that ran over three cycles, this research demonstrates how an educational software development methodology (termed FRESH) and its operationalised process (termed CADET which is a concrete implementation of the FRESH methodology), was designed and implemented as an educational tool for enhancing student engagement and competency in software development. Through CADET, students were reframed as software developers who understand the value in planning and developing software solutions, and not as programmers who prematurely try to implement solutions. While there remain opportunities to further enhance the technical sophistication of the process as it is implemented in practice, CADET enabled the software development steps of analysis and design to be explicit elements of developing software solutions, rather than their more typically implicit inclusion in introductory CS courses. The research contributes to the field of computing education by exploring the possibilities of – and by concretely generating – an appropriate scaffolded methodology and process; by illustrating the use of computational thinking and threshold concepts in software development; and by providing a novel evaluation framework (termed AKM-SOLO) to aid in the continuous improvement of educational processes and courses by measuring student learning experiences and competencies

    Learning Dimensions: Lessons from Field Studies

    Get PDF
    In this paper, we describe work to investigate the creation of engaging programming learning experiences. Background research informed the design of four fieldwork studies involving a range of age groups to explore how programming tasks could best be framed to motivate learners. Our empirical findings from these four studies, described here, contributed to the design of a set of programming "Learning Dimensions" (LDs). The LDs provide educators with insights to support key design decisions for the creation of engaging programming learning experiences. This paper describes the background to the identification of these LDs and how they could address the design and delivery of highly engaging programming learning tasks. A web application has been authored to support educators in the application of the LDs to their lesson design

    NOVICE PROGRAMMING STRATEGIES

    Get PDF
    This paper identifies novice programmer activities and their implications for the programming outcome. We investigate strategies, cognitive processes and behavior within interacting phases of programming: 1) understanding and design, 2) coding, and 3) debugging and testing. We envision that stronger novice programmers behave differently from weaker novice programmers during the programming process. We develop a questionnaire-based tool, the programming strategy questionnaire (PSQ), which we use to identify the activities novices employ during their development of a program, and we link the strategies to learning outcomes. Finally, we discuss how educators can use our findings to improve the education of novice programmers
    • …
    corecore