617 research outputs found

    Increasing the Effectiveness of Error Messages in a Computer Programming and Simulation Tool

    Get PDF
    abstract: Each programming language has a compiler associated with it which helps to identify logical or syntactical errors in the program. These compiler error messages play important part in the form of formative feedback for the programmer. Thus, the error messages should be constructed carefully, considering the affective and cognitive needs of programmers. This is especially true for systems that are used in educational settings, as the messages are typically seen by students who are novice programmers. If the error messages are hard to understand then they might discourage students from understanding or learning the programming language. The primary goal of this research is to identify methods to make the error messages more effective so that students can understand them better and simultaneously learn from their mistakes. This study is focused on understanding how the error message affects the understanding of the error and the approach students take to solve the error. In this study, three types of error messages were provided to the students. The first type is Default type error message which is an assembler centric error message. The second type is Link type error message which is a descriptive error message along with a link to the appropriate section of the PLP manual. The third type is Example type error message which is again a descriptive error message with an example of the similar type of error along with correction step. All these error types were developed for the PLP assembly language. A think-aloud experiment was designed and conducted on the students. The experiment was later transcribed and coded to understand different approach students take to solve different type of error message. After analyzing the result of the think-aloud experiment it was found that student read the Link type error message completely and they understood and learned from the error message to solve the error. The results also indicated that Link type was more helpful compare to other types of error message. The Link type made error solving process more effective compared to other error types.Dissertation/ThesisMasters Thesis Software Engineering 201

    On the Frequency of Words Used in Answers to Explain in Plain English Questions by Novice Programmers

    Full text link
    © 2019 Association for Computing Machinery. Most previous research studies using Explain in Plain English questions have focussed on categorising the answers of novice programmers according to the SOLO taxonomy, and/or the relationship between explaining code and writing code. In this paper, we study the words used in the explanations of novice programmers. Our data is from twelve Explain in plain English questions presented to over three hundred students in an exam at the end of the students' first semester of programming. For each question, we compare the frequency of certain words used in correct answers, between students who scored a perfect twelve on all the Explain in plain English questions and students with lower scores. We report a number of statistically significant differences in word frequency between the students who answered all questions correctly and students who did not. The students who answered all twelve questions correctly tended to be more precise, more comprehensive, and more likely to choose words not explicitly in the code, but instead words that are an abstraction beyond the code

    Understanding notional machines through traditional teaching with conceptual contraposition and program memory tracing

    Get PDF
    A correct understanding about how computers run code is mandatory in order to effectively learn to program. Lectures have historically been used in programming courses to teach how computers execute code, and students are assessed through traditional evaluation methods, such as exams. Constructivism learning theory objects to students’ passiveness during lessons, and traditional quantitative methods for evaluating a complex cognitive process such as understanding. Constructivism proposes complimentary techniques, such as conceptual contraposition and colloquies. We enriched lectures of a “Programming II” (CS2) course combining conceptual contraposition with program memory tracing, then we evaluated students’ understanding of programming concepts through colloquies. Results revealed that these techniques applied to the lecture are insufficient to help students develop satisfactory mental models of the C++ notional machine, and colloquies behaved as the most comprehensive traditional evaluations conducted in the course.Universidad de Costa Rica/[]/UCR/Costa RicaMinisterio de Ciencia Tecnología y Telecomunicaciones de Costa Rica/[]/MICITT/Costa RicaUCR::Vicerrectoría de Investigación::Unidades de Investigación::Ingeniería::Centro de Investigaciones en Tecnologías de Información y Comunicación (CITIC)UCR::Vicerrectoría de Docencia::Ingeniería::Facultad de Ingeniería::Escuela de Ciencias de la Computación e Informátic

    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

    Multi-level code comprehension model for large scale software, A

    Get PDF
    1996 Fall.Includes bibliographical references (pages 142-147).For the past 20 years researchers have studied how programmers understand code they did not write. Most of this research has concentrated on small-scale code understanding. We consider it necessary to design studies that observe programmers working on large-scale code in production environments. We describe the design and implementation of such a study which included 11 maintenance engineers working on various maintenance tasks. The objective is to build a theory based on observations of programmers working on real tasks. Results show that programmers understand code at different levels of abstraction. Expertise in the application domain, amount of prior experience with the code, and task can determine the types of actions taken during maintenance, the level of abstraction at which the programmer works, and the information needed to complete a maintenance task. A better grasp of how programmers understand large scale code and what is most efficient and effective can lead to better tools, better maintenance guidelines, and documentation

    USO DEL MÉTODO "THINK ALOUD" EN LA INVESTIGACIÓN CUALITATIVA

    Get PDF
    ResumenEl método "Think-Aloud" ha sido utilizado para entender los procesos cognitivos que no pueden ser observados de manera directa en varias áreas de la investigación cualitativa. Existen varias propuestas de la comunidad de investigación para su uso en las áreas de pedagogía, comunicación del habla, e interacción humano-computadora. En este trabajo se presenta una breve introducción al marco teórico del método así como el estado del arte de su uso en la educación y como técnica de inspección de usabilidad, ofreciendo una semblanza de cómo puede ser integrado en estudios de investigación cualitativa en un futuro.Palabra(s) Clave: Lectura de comprensión, Proceso cognitivo, Think aloud, Usabilidad. USE OF THE "THINK ALOUD" METHOD IN QUALITATIVE RESEARCHAbstractThe Think-Aloud method has been used to understand cognitive processes that cannot be directly observed, in areas where qualitative research is conducted. There are various proposals of the research community to use this method in areas such as pedagogy, psychology, speech communications, and human-computer interaction. In this work we present a brief introduction to the theory behind the method, the state of the art in the areas of education and usability, providing an insight of how this method can be used in the future in qualitative studies.Keywords: Cognitive process, Reading comprehension, Think aloud, Usability

    Usability Testing of an Electronic Patient-Reported Outcome System for Survivors of Critical Illness

    Get PDF
    BACKGROUND: Web-based electronic patient-reported outcomes (ePRO) measures are increasingly used to facilitate patient-centered health assessments. However, it is unknown if ePRO completion is feasible for recently ill intensive care unit (ICU) survivors and their families. OBJECTIVE: To develop and evaluate the usability of a novel ePRO system (ePRO to Support People and Enhance Recovery [ePROSPER]) among ICU survivors and their families within an ongoing clinical trial. METHODS: Paper-based PROs were iteratively adapted to electronic forms (ePROs). Then, the usability of ePROSPER was assessed among 60 patients, their family members, and PRO and programming experts via questionnaires (eg, Systems Usability Scale), "think aloud" open-ended feedback, task completion times, and error rates. RESULTS: Input from patients and their families was used to incorporate user-experience modifications into ePROSPER. This feedback also led to inclusion of automated reminders for questionnaire completion and real-time alerts for staff triggered by high symptom levels. Median usability scores increased over testing cycles from 40 to 73 to 95, nearing the maximum score and showing excellent usability. All users completed ePROSPER within 20 minutes; 87% preferred it to a written version. ePROSPER was then implemented in a clinical trial without data errors. CONCLUSIONS: Automated ePRO systems can be successfully integrated in a post-ICU clinical trial setting. The value of integrating such systems in direct clinical care should be assessed in future studies
    corecore