Automated Program Analysis for Novice Programmers

09/30/2017
by   Tim Blok, et al.
0

This paper describes how to adapt a static code analyzer to help novice programmers. Current analyzers have been built to give feedback to experienced programmers who build new applications 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 the 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 find 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 can be implemented based on existing static analysis technology. It presents an extension to static analyzer PMD was made so that feedback messages appear which are easier to understand for 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.

READ FULL TEXT
research
03/06/2022

Open Source Software Utilization in Student Software Projects: A Study on Student Preferences

Teaching computer science is a challenging experience. Especially, the a...
research
05/28/2021

Parallel Programming Applied Research Projects for Teaching Parallel Programming to Beginner Students

In this paper, we discuss the educational value of a few mid-size and on...
research
04/19/2022

Write a Line: Tests with Answer Templates and String Completion Hints for Self-Learning in a CS1 Course

One of the important scaffolding tasks in programming learning is writin...
research
06/07/2022

An Exploratory Analysis of Feedback Types Used in Online Coding Exercises

Online coding environments can help support computing students gain prog...
research
06/12/2023

Generating Language Corrections for Teaching Physical Control Tasks

AI assistance continues to help advance applications in education, from ...
research
06/24/2023

Exploring Programming Task Creation of Primary School Teachers in Training

Introducing computational thinking in primary school curricula implies t...

Please sign up or login with your details

Forgot password? Click here to reset