Logo del repository
  1. Home
 
Opzioni

Comparing Small Programs for Equivalence: A Code Comprehension Task for Novice Programmers

Izu C.
•
Mirolo C.
2020
  • conference object

Abstract
Novice programmers should develop program comprehension skills as they learn to code so that they are able both to read and reason about code created by others, and to reflect on their code when writing, debugging or extending it. This work takes a little-explored perspective on the comprehension of small programs by asking students to decide if two code segments are equivalent or not in terms of carrying out the same computation. A variation of Euclid's algorithm, that extends the greatest common divisor calculation to more than two numbers, was chosen for this work, as it has an adequate level of complexity and its semantics are not obvious. Four program transformations of the original code were developed: two transformations were equivalent and two were not. 73.5% of students were able to identify correctly the four options and 75.5% provided good insights on the equivalent program flow to justify their choices. The overall task has a SOLO mean of 3.19, which indicates code equivalence is a suitable and approachable task to analyse program execution at novice level. In addition, the data analysis suggests that students' code-reading abilities beyond basic tracing may be generally underestimated and we should investigate how to bridge the potential gap between reasoning about program execution and extracting its purpose.
DOI
10.1145/3341525.3387425
WOS
WOS:001435674200070
Archivio
http://hdl.handle.net/11390/1188015
info:eu-repo/semantics/altIdentifier/scopus/2-s2.0-85086477328
https://doi.org/10.1145/3341525.3387425
Diritti
open access
license:non pubblico
license:creative commons
license uri:http://creativecommons.org/licenses/by-nc-nd/3.0/it/
Soggetti
  • code comprehension

  • semantic equivalence

  • novice programmer

  • program execution

Scopus© citazioni
2
Data di acquisizione
Jun 14, 2022
Vedi dettagli
Visualizzazioni
2
Data di acquisizione
Apr 19, 2024
Vedi dettagli
google-scholar
Get Involved!
  • Source Code
  • Documentation
  • Slack Channel
Make it your own

DSpace-CRIS can be extensively configured to meet your needs. Decide which information need to be collected and available with fine-grained security. Start updating the theme to match your nstitution's web identity.

Need professional help?

The original creators of DSpace-CRIS at 4Science can take your project to the next level, get in touch!

Realizzato con Software DSpace-CRIS - Estensione mantenuta e ottimizzata da 4Science

  • Impostazioni dei cookie
  • Informativa sulla privacy
  • Accordo con l'utente finale
  • Invia il tuo Feedback