897 research outputs found

    Early identification of novice programmers' challenges in coding using machine learning techniques

    Full text link
    It is well known that many first year undergraduate university students struggle with learning to program. Educational Data Mining (EDM) applies machine learning and statistics to information generated from educational settings. In this PhD project, EDM is used to study first semester novice programmers, using data collected from students as they work on computers to complete their normal weekly laboratory exercises. Analysis of the generated snapshots has shown the potential for early identification of students who later struggle in the course. The aim of this study is to propose a method for early identification of "at risk" students while providing suggestions on how they can improve their coding style. This PhD project is within its final year

    Comfort zone: Model or metaphor?

    Get PDF
    The comfort zone model is widespread within adventure education literature. It is based on the belief that when placed in a stressful situation people will respond by overcoming their fear and therefore grow as individuals. This model is often presented to participants prior to activities with a highly perceived sense of risk and challenge which arouses strong emotional and physical responses to novel tasks (e.g., ropes courses or rock climbing activities). Students are encouraged to think about ‘stretching themselves’ by moving outside their comfort zone, to expand their preconceived limits and by inference learn (and become better people). This paper explores theories from cognitive and social psychology, based on the work of Piaget and Festinger respectively, that underpin the comfort zone model. The perpetuation of this model which uses risk to promote situations of disequilibrium/dissonance does not find strong support in educational literature. It is therefore suggested that the comfort zone model be reframed as a metaphor, for possible discussion post activity, rather than being used as a model to underpin programming and pedagogy in adventure education settings

    An architecture for systematic tracking of skills and competence level progression in computer science

    Full text link
    A typical Computer Science degree is three to five years long, consists of four to six subjects per semester, and two semesters per year. A student enrolled in such a degree is expected to learn both discipline-specific skills and transferable generic skills. These skills are to be taught in a progressive sequence through the duration of the degree. As the student progresses through the subjects and semesters of a degree, his skill portfolio and competence level for each skill is expected to grow. Effectively modeling these curriculum skills, mapping them to assessment tasks across subjects of a degree, and measuring the progression in learner competence level is, largely, still an unsolved problem. Previous work at this scale is limited. This systematic tracking of skills and competence is crucial for effective quality control and optimization of degree structures. Our main contribution is an architecture for a curriculum information management system to facilitate this systematic tracking of skill and competence level progression in a Computer Science context

    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

    Cognitive variables in science problem solving: a review of research

    Get PDF
    This paper provides an overview of research into cognitive variables that are involved in problem solving and how these variables affect the performance of problem solvers. The variables discussed are grouped together in: prior knowledge, formal reasoning ability and neo-Piagetian variables, long-term memory and working memory, knowledge base, and metacognitive variables

    Effects of Using Model Robots in the Education of Programming

    Get PDF
    In this article we try to show how new devices and methods can help in the educationof programming. At Kecskemét College programmable mobile robots and instead of behavioral,the constructivist pedagogical methods were used. Our experiments have proved our hypothesisas the improved new methodical education using devices can give more practical programmingknowledge, increases the attitude towards programming and helps to have positive programmingself-image. The results of the experimental and control groups were compared at the beginning andat the end of semester, when the programming knowledge and motives were measured. During thelearning process only the experimental groups used devices and new methods

    The Holistic Course Delivery: A Novel Pedagogy for Collegiate Introductory Computer Programming

    Get PDF
    Title from PDF of title page viewed August 20, 2020Dissertation advisor: Rita BargerVitaIncludes bibliographical references (pages 184-197)Thesis (Ph.D.)--School of Education and School of Computing and Engineering. University of Missouri--Kansas City, 2020For many years there have not been enough computer science graduates to fill open positions. One of the chief barriers to the formation of computer science graduates is that many students are unsuccessful in the introductory programming course. Unsuccessful students often change their major field of study or terminate their collegiate studies. A chief concern is therefore to minimize the DFW rate (grade of D or F, or withdrawal from a course). Student characteristics have been extensively studied to explain, and sometimes justify, the high DFW rate in introductory programming courses. Pairs programming, flipped classrooms, choice of programming language, and a variety of other modifications and novel methods have been devised in efforts to reduce the DFW rate. The collective conclusion has been that there is no silver bullet that has been demonstrated to be universally effective. This quasi-experimental study incorporates four learning theories that inform the design and delivery of an introductory programming course: Neo-Piagetian Theory, Cognitive Apprenticeship Theory, Cognitive Load Theory, and Self-Efficacy Theory. The objective was iv to (1) design a course from the top-down that integrates several pedagogical elements in a holistic way, and (2) deliver it to a group of nascent programming students. The Holistic Course Delivery was implemented in three class sections of an introductory programming course at a midwestern university in which a total of 96 students were enrolled. The Holistic Course Delivery had a significantly lower DFW rate compared to both historic DFW rates at the institution and established international norms and students indicated they felt prepared for subsequent computer science coursework.Introduction -- Literature review -- Methodology -- Analysis -- Discussion -- Appendix A. Pre-course survey -- Appendix B. Pre-course test & post-course test -- Appendix C. Post-course survey Appendix D. Homework reflection -- Appendix E. Homework assignments -- Appendix F. Coding sprints -- Appendix G. Final exam programming questions -- Appendix H. Qualitative interview questions -- Appendix I. Curriculum outline -- Appendix J. Syllabu

    An Exploration of Novice Programmers' Comprehension of Conditionals in Imperative and Functional Programming

    Get PDF
    2Students of introductory programming courses are expected to develop higher-order thinking skills to inspect, understand and modify code. However, although novices can correctly write small programs, they appear to lack a more abstract, comprehensive grasp of basic constructs, such as conceiving the overall effect of alternative conditional flows. This work takes a little-explored perspective on the comprehension of tiny programs by asking students to reason about reversing conditionals in either an imperative or a functional context. More specifically, besides deciding if the given constructs can be reversed, students had to justify their choice by writing a reversing program or by providing suitable counterexamples. The students’ answers to four reversibility questions have been analysed through the lens of the SOLO taxonomy. 45% of students correctly identified the reversibility for the four code items; furthermore, more than 50% of each cohort were able to provide correct justifications for at least three of their four answers. Most incorrect answers were due to failures to consider border cases or to edit the conditional expressions appropriately to reverse the construct. Differences in comprehension between functional and imperative languages are explored indicating the explicit else paths of the functional examples facilitate comprehension compared with the implicit else (no update) of its imperative counterpart.partially_openopenMirolo, Claudio; Izu, CruzMirolo, Claudio; Izu, Cru
    • 

    corecore