Asking Novices to Evaluate Code Quality: Understandability and Efficiency

The recent introduction of LLM tools is already having an impact on the way students acquire programming skills. When novices use such tools to develop programs, their coding effort is diminished, yet they need to apply high-level evaluation skills in order to validate the code generated by automatic means, as well as to decide if and to what extent it is appropriate for the task at hand. Consequently, CS1 courses should adapt their practice by shifting the emphasis from code-writing tasks to code-reading and evaluation tasks. To figure out ways to approach this change of instructional perspective, we conducted an exploratory investigation of how a cohort of novices evaluate code. More specifically, after CS1 students had engaged in a simple iterative task, we provided five different solutions for that task and asked them to identify (1) the most/least understandable, (2) the most/least efficient, and (3) the best/worst options overall. A qualitative analysis of their justifications provides insights into their code comprehension and the criteria behind their choices. The main criterion was Understandability (81%) which comprises readability (23%), comprehensibility (78%) and code structure (42%). Efficiency was also an important criterion (75%), nonetheless 40% incorrectly assessed the efficiency of at least one option.

Institutions

Publication Details

Published
2025-09-29
DOI
https://doi.org/10.1145/3736181.3747149
Primary Topic
Medieval European History and Architecture
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Asking Novices to Evaluate Code Quality: Understandability and Efficiency

Medieval European History and Architecture
article

Asking Novices to Evaluate Code Quality: Understandability and Efficiency

article en

Abstract

The recent introduction of LLM tools is already having an impact on the way students acquire programming skills. When novices use such tools to develop programs, their coding effort is diminished, yet they need to apply high-level evaluation skills in order to validate the code generated by automatic means, as well as to decide if and to what extent it is appropriate for the task at hand. Consequently, CS1 courses should adapt their practice by shifting the emphasis from code-writing tasks to code-reading and evaluation tasks. To figure out ways to approach this change of instructional perspective, we conducted an exploratory investigation of how a cohort of novices evaluate code. More specifically, after CS1 students had engaged in a simple iterative task, we provided five different solutions for that task and asked them to identify (1) the most/least understandable, (2) the most/least efficient, and (3) the best/worst options overall. A qualitative analysis of their justifications provides insights into their code comprehension and the criteria behind their choices. The main criterion was Understandability (81%) which comprises readability (23%), comprehensibility (78%) and code structure (42%). Efficiency was also an important criterion (75%), nonetheless 40% incorrectly assessed the efficiency of at least one option.

University of Udine (IT), The University of Adelaide (AU)
Quality Education
Openalex Percentile: Top 40%
Medieval European History and Architecture
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.