14 research outputs found

    Student success model in programming course: A case study in UUM

    Get PDF
    The complexity and difficulty ascribed to computer programming has been asserted to be the causes of its high rate of failure record and attrition. It is opined that programming either to novice, middle learner, and the self-branded geeks is always a course to be apprehensive of different studies with varying findings. Studies on factors leading to the success of programming course in higher institution have been carried out. The record at Universiti Utara Malaysia (UUM) shows that 38% of semester one undergraduate students failed the programming course in 2013. This really motivates this study, which aims at investigating the practical factors affecting the success of programming courses, and to position its’ theoretically findings to complement the existing findings. Data were gathered using a quantitative approach, in which a set of questionnaire were distributed to 282 sampled respondents, who are undergraduate and postgraduate students of Information Technology (IT) and Information and Communication Technology (ICT). Having screened and cleaned the data, which led to the deletion of four outlier records, independent T-test, correlation, and regression were run to test the hypotheses. The results of Pearson correlation test reveal that teaching tools, OOP concepts, motivation, course evaluation, and mathematical aptitude are positively related to academic success in programming course, while fear is found to be negatively related. In addition, the regression analysis explains that all the elicited independent variables except fear are strongly related. Besides, the independent T-test also discovers no deference between groups with and without previous programming experience

    ClockIt: Monitoring and Visualizing Student Software Development Profiles

    Get PDF
    Monitoring software development practices can result in improved estimation abilities and increased software quality. A common drawback associated with many monitoring schemes is the manual overhead needed to make the monitoring effective. This overhead results in users abandoning the monitoring scheme shortly after it is adopted or poor quality in the data produced. Alternatives have been introduced that automate part, or all of the monitoring. ClockIt is a fully automated extension for the pedagogical integrated development environment (IDE) BlueJ, and focuses on aspects of the development practices seen in introductory level students. By automatically monitoring introductory student development behavior, instructors and students gain insight about development practices. In addition to the ClockIt extension, Visualization tools are provided to assist students or instructors in exploring the data. Data collected via ClockIt for four semesters confirm previous independent findings. And, new insights about how compilation error frequency changes in introductory students and the relationships between pairs of compilations have been discovered

    Improving the Usability of the Thonny Integrated Development Environment

    Get PDF
    Bakalaureusetöö kirjeldab autori poolt teostatud tarkvaraarendusprojekti, mille eesmĂ€rgiks oli Pythoni programmeerimiskeele algĂ”ppeks loodud arenduskeskkonna Thonny tĂ€iustamine. Esmalt uuritakse erialase kirjanduse pĂ”hjal kasutatavuse mĂ”istet algajatele programmeerijatele mĂ”eldud arenduskeskkonna kontekstis. SeejĂ€rel tuuakse vĂ€lja Thonny kasutatavuse ekspertanalĂŒĂŒsi peamised tulemused. Kirjeldatakse ka tarkvaraarenduse kĂ€igus valminud uusi funktsionaalseid vĂ”imalusi ning selgitatakse nende positiivset panust Thonny kasutatavuse aspektist vaadelduna. Samuti on bakalaureusetöös vĂ€lja toodud mĂ”ned autori ideed Thonny edasiste vĂ”imalike arenduste osas.The thesis contains a description of a software development project that was launched to improve the usability of Thonny, an integrated Python development environment designed for novice programmers. First, the concept of usability of beginners’ IDE is examined based on a literature study. The main findings of an expert analysis of the usability of Thonny are then presented. The thesis gives a detailed overview of the new features and improvements that were implemented and integrated with Thonny based on the results of the analysis. In addition, a number of ideas for future Thonny features and implementation changes are listed

    Proceedings of the Resolve Workshop 2006

    Get PDF
    The aim of the RESOLVE Workshop 2006 was to bring together researchers and educators interested in: Refining formal approaches to software engineering, especially component-based systems, and introducing them into the classroom. The workshop served as a forum for participants to present and discuss recent advances, trends, and concerns in these areas, as well as formulate a common understanding of emerging research issues and possible solution paths

    An Exploration Of The Effects Of Enhanced Compiler Error Messages For Computer Programming Novices

    Get PDF
    Computer programming is an essential skill that all computing students must master and is increasingly important in many diverse disciplines. It is also difficult to learn. One of the many challenges novice programmers face from the start are notoriously cryptic compiler error messages. These report details on errors made by students and are essential as the primary source of information used to rectify those errors. However these difficult to understand messages are often a barrier to progress and a source of discouragement. A high number of student errors, and in particular a high frequency of repeated errors – when a student makes the same error consecutively – have been shown to be indicators of students who are struggling with learning to program. This instrumental case study research investigates the student experience with, and the effects of, software that has been specifically written to help students overcome their challenges with compiler error messages. This software provides help by enhancing error messages, presenting them in a straightforward, informative manner. Two cohorts of first year computing students at an Irish higher education institution participated over two academic years; a control group in 2014-15 that did not experience enhanced error messages, and an intervention group in 2013-14 that did. This thesis lays out a comprehensive view of the student experience starting with a quantitative analysis of the student errors themselves. It then views the students as groups, revealing interesting differences in error profiles. Following this, some individual student profiles and behaviours are investigated. Finally, the student experience is discovered through their own words and opinions by means of a survey that incorporated closed and open-ended questions. In addition to reductions in errors overall, errors per student, and the key metric of repeated error frequency, the intervention group is shown to behave more cohesively with fewer indications of struggling students. A positive learning experience using the software is reported by the students and the lecturer. These results are of interest to educators who have witnessed students struggle with learning to program, and who are looking to help remove the barrier presented by compiler error messages. This work is important for two reasons. First, the effects of error message enhancement have been debated in the literature – this work provides evidence that there can be positive effects. Second, these results should be generalisable at least in part, to other languages, students and institutions

    Catalyde: un entorno de iniciaciĂłn a la programaciĂłn con fines educativos

    Full text link
    [ES] el presente proyecto se ha diseñado e implementado una herramienta de apoyo al aprendizaje en asignaturas de introducción a la programación. Esta herramienta, denominada Catalyde, proporciona una interfaz de usuario accesible mediante un navegador web en el que los alumnos pueden acceder al boletín de pråcticas, editar las soluciones a los ejercicios propuestos, compilarlos y ejecutarlos. Si bien ya existen entornos de desarrollo vía web, lo que hace novedoso este entorno para la enseñanza de la programación es la posibilidad de que el alumno pueda resolver las distintas partes de los ejercicios de manera incremental. Es decir, el alumno puede marcar qué partes del código han sido desarrolladas por él y la herramienta utiliza la solución propuesta por el profesor (que permanece oculta) para las partes que todavía no ha completado. De ese modo el alumno puede entender mejor lo que se pide (porque puede probar el programa desde el inicio) y la validez de lo que va realizando sin tener que esperar a completarlo todo al final. También permite evaluar de manera automåtica la corrección de algunos ejercicios por medio de tests.[EN] In this project, a novel tool called Catalyde has been designed and implemented. This tool is intended to guide students of first courses of Computer Science to develop their programming skills. By means of a web interface, users are able to edit the solutions of exercises proposed by their teacher, to compile and to execute them. One of the unique features of this environment is the possibility of developing solutions in an incremental way by marking and unmarking which parts of the solution are due to the students and which parts should made use of the hidden teacher¿s solution. In this way, students can test the program and can better understand what it is expected from them. They can also check parts of the code without waiting for the complete solution. The tool can also automatically check the validity of some exercises by means of tests.Stanciu, CC. (2013). Catalyde: un entorno de iniciación a la programación con fines educativos. http://hdl.handle.net/10251/27396.Archivo delegad

    Motivational and metacognitive feedback in an ITS: linking past states and experiences to current problems

    Get PDF
    Feedback is an important element in learning as it can provide learners with both information about progress as well as external motivational stimuli, providing them with an opportunity for reflection. Motivation and metacognition are strongly intertwined, with learners high in self-efficacy more likely to use a variety of self-regulatory learning strategies, as well as to persist longer on challenging tasks. Learning from past experience involves metacognitive processes as an act of reflecting upon one’s own experience and, coupled with existing knowledge, aids the acquisition and construction of further knowledge. The aim of the research was to improve the learner’s focus on the process and experience of problem solving while using an Intelligent Tutoring System (ITS), by addressing the primary question: what are the effects of including motivational and metacognitive feedback based on the learner’s past states and experiences? An existing ITS, SQL-Tutor, was used in a study with participants from first year undergraduate degrees studying a database module. The study used two versions of SQL-Tutor: the Control group used a base version providing domain feedback and the Study group used an extended version that also provided motivational and metacognitive feedback. Three sources of data collection were used: module summative assessments, ITS log files and a post-study questionnaire. The analysis included both pre-post comparisons and how the participants interacted with the system, for example their persistence in problem-solving and the degree to which they referred to past learning. Comparisons between groups showed some differing trends both in learning and behaviour in favour of the Study group, though these trends were not significantly different. The study findings showed promise for the use of motivational and metacognitive feedback based on the learners’ past states and experiences that could be used as a basis for future research work and refinement

    The impact of different teaching approaches and languages on student learning of introductory programming concepts

    Get PDF
    Many students experience difficulties learning to program. They find learning to program in the object-oriented paradigm particularly challenging. As a result, computing educators have tried a variety of instructional methods to assist beginning programmers. These include developing approaches geared specifically toward novices and experimenting with different introductory programming languages. However, having tried these different methods, computing educators are faced with yet another dilemma: how to tell if any of these interventions actually worked?The research presented here was motivated by an interest in improving practices in computer science education in general and improving my own practices as a computer science educator in particular. Its purpose was to develop an instrument to assess student learning of fundamental and object-oriented programming concepts, and to use that instrument to investigate the impact of different teaching approaches and languages on students’ ability to learn those concepts.Students enrolled in programming courses at two different universities in the Mid-Atlantic region during the 2009-2010 academic year participated in the study. Extensive data analysis showed that the assessment instrument performed well overall. Reliability estimates ranged from 0.65 to 0.79. The instrument is intrinsically valid since the questions are based on the core concepts of the Programming Fundamentals knowledge area defined by the 2008 ACM/IEEE curricular guidelines. Support for content validity includes: 71% of correct responses varied directly with the students’ scores; all possible responses were selected at least once; and 21 out of 24 questions discriminated well between high and low scoring students. CS faculty reviewers indicated that 19 out of 24 questions reflected basic concepts and should be used again “as is” or with “minor changes.” Factor analysis extracted three comprehensible components, “methods and functions,” “mathematical and logical expressions,” and “control structures,” suggesting the instrument is on its way to effectively representing the construct “understanding of fundamental programming concepts.”Statistical analysis revealed significant differences in student performance based on language of instruction. Analyses revealed differences with respect to overall score and questions involving assignment, mathematical and logical expressions, and codecompletion. Language of instruction did not appear to affect student performance on questions addressing object-oriented concepts.Ph.D., Information Science and Technology -- Drexel University, 201

    Teaching tools and techniques for efficient teaching and learning of computer programming for beginners using JAVA

    Get PDF
    Despite the educational research that has been carried out considering demographic, cognitive and social factors to improve teaching programming in the last decades, finding an effective teaching method is still a debatable issue among Java programming tutors. There are a number of basic concepts to be understood in learning a programming language. The teaching styles to be used to teach different concepts could vary due to the complexity and nature of the concept. This study was aimed at identifying such concepts and the preferred teaching style for teaching such concepts in the Java language. The results of a survey of the students who recently completed introductory level Java programming language revealed such concepts, and also the most preferred teaching style for each concept.This study also investigated the preferred learning styles for learners with artistic abilities and logical abilities. In addition, there have been many research projects based on Cognitive Load Theory (CLT) to investigate better ways of handing germane, intrinsic, and extraneous memory loads on the working memory of learners. The mental modeling technique has been found to be associated with most of the fundamental principles of the Cognitive Load Theory (CLT). This research also included the findings of classroom experiments using activities based on mental modeling, such as analogies, worked examples, and scaffolding, and adhering to the principles of CLT. The context for this research involved teaching Java programming concepts at the introductory level using low cost teaching tools. The study reports on the effects of such activities in teaching Java programming principles
    corecore