12 research outputs found

    Automated Program Analysis for Novice Programmers

    Get PDF
    [EN] This paper describes how to adapt a static code analyzer to provide feedback novice programmers and their teachers. Current analyzers have been built to give feedback to experienced programmers who work on software projects or systems. The type of feedback and the type of analysis of these tools focusses on mistakes that are relevant within that context, and help with debugging software system. When teaching novice programmers this type of advice is often not particularly useful. It would be instead more useful to use these techniques to identify problem in the understanding of students of important programming concepts. This paper first explores in what respect static analyzers support the learning and teaching of programming, and what can be implemented based on existing static analysis technology. It presents an extension of static analyzer PMD to create feedback that is more valuable to novice programmers. To answer the question if these techniques are able to find conceptual mistakes that are characteristic for novice programmers make, we ran it over a number of student projects, and compared these results with publicly available mature software projects.Blok, T.; Fehnker, A. (2017). Automated Program Analysis for Novice Programmers. En Proceedings of the 3rd International Conference on Higher Education Advances. Editorial Universitat Politècnica de València. 1138-1146. https://doi.org/10.4995/HEAD17.2017.5533OCS1138114

    Sprinter: A didactic linter for structured programming

    Get PDF
    Code linters are tools for detecting improper uses of programming constructs and violations of style issues. Despite that professional linters are available for numerous languages, they are not targeted to introductory programming, given their prescriptive nature that does not take into consideration a didactic viewpoint of learning programming fundamentals. We present Sprinter, a didactic code linter for structured programming supporting Java whose novelty aspects are twofold: (a) providing formative feedback on code with comprehensive explanatory messages (rather then prescriptive); (b) capability of detecting some control-flow issues to a deeper extent than professional linters. We review Sprinter features against popular tools, namely IntelliJ IDEA and Sonarlint.info:eu-repo/semantics/publishedVersio

    How teachers would help students to improve their code

    Get PDF

    The Smell of Processing

    Get PDF

    A Systematic Mapping Study of Code Quality in Education -- with Complete Bibliography

    Full text link
    While functionality and correctness of code has traditionally been the main focus of computing educators, quality aspects of code are getting increasingly more attention. High-quality code contributes to the maintainability of software systems, and should therefore be a central aspect of computing education. We have conducted a systematic mapping study to give a broad overview of the research conducted in the field of code quality in an educational context. The study investigates paper characteristics, topics, research methods, and the targeted programming languages. We found 195 publications (1976-2022) on the topic in multiple databases, which we systematically coded to answer the research questions. This paper reports on the results and identifies developments, trends, and new opportunities for research in the field of code quality in computing education

    A Systematic Mapping Study of Code Quality in Education -- with Complete Bibliography

    Get PDF
    While functionality and correctness of code has traditionally been the main focus of computing educators, quality aspects of code are getting increasingly more attention. High-quality code contributes to the maintainability of software systems, and should therefore be a central aspect of computing education. We have conducted a systematic mapping study to give a broad overview of the research conducted in the field of code quality in an educational context. The study investigates paper characteristics, topics, research methods, and the targeted programming languages. We found 195 publications (1976-2022) on the topic in multiple databases, which we systematically coded to answer the research questions. This paper reports on the results and identifies developments, trends, and new opportunities for research in the field of code quality in computing education

    Automated Feedback for Learning Code Refactoring

    Get PDF

    FrenchPress Gives Students Automated Feedback on Java Program Flaws (Abstract Only)

    No full text
    corecore