High-school students specialising in computing fields need to develop the abstraction skills required to understand and create programs. Novices' difficulties at high-school level, ranging from mastery of the "notional machine"to recognition of a program's purpose, have not been investigated as extensively as at tertiary level. This work explores high-school students' code comprehension by asking to reason about reversing conditional and iteration constructs. A sample of 205 K11 - 13 students from different institutions were asked to engage in a set of "reversibility tasklets". For each code fragment, they need to identify if its computation is reversible and either provide the code to reverse or an example of a value that cannot be reversed. For 4 such items, after extracting the recurrent patterns in students' answers, we have carried out an analysis within the framework of the SOLO taxonomy. Overall, 74% of answers correctly identified if the code was reversible but only 42% could provide the full explanation/code. The rate of relational answers varies from 51% down to 21%, the poorest performance arising for a small array-processing loop (and although 65% of the subjects had correctly identified the loop as reversible). The instruction level did not have a strong impact on performance, indicating such tasks are suitable for K11, when the basic flow-control constructs are usually introduced. In particular, the reversibility concept could be a useful pedagogical instrument both to assess and to help develop students' program comprehension.
High-school students' mastery of basic flow-control constructs through the lens of reversibility
Mirolo C.
;Scapin E.
2020-01-01
Abstract
High-school students specialising in computing fields need to develop the abstraction skills required to understand and create programs. Novices' difficulties at high-school level, ranging from mastery of the "notional machine"to recognition of a program's purpose, have not been investigated as extensively as at tertiary level. This work explores high-school students' code comprehension by asking to reason about reversing conditional and iteration constructs. A sample of 205 K11 - 13 students from different institutions were asked to engage in a set of "reversibility tasklets". For each code fragment, they need to identify if its computation is reversible and either provide the code to reverse or an example of a value that cannot be reversed. For 4 such items, after extracting the recurrent patterns in students' answers, we have carried out an analysis within the framework of the SOLO taxonomy. Overall, 74% of answers correctly identified if the code was reversible but only 42% could provide the full explanation/code. The rate of relational answers varies from 51% down to 21%, the poorest performance arising for a small array-processing loop (and although 65% of the subjects had correctly identified the loop as reversible). The instruction level did not have a strong impact on performance, indicating such tasks are suitable for K11, when the basic flow-control constructs are usually introduced. In particular, the reversibility concept could be a useful pedagogical instrument both to assess and to help develop students' program comprehension.File | Dimensione | Formato | |
---|---|---|---|
mirolo_et_al_20.pdf
non disponibili
Descrizione: Articolo principale
Tipologia:
Versione Editoriale (PDF)
Licenza:
Non pubblico
Dimensione
2.52 MB
Formato
Adobe PDF
|
2.52 MB | Adobe PDF | Visualizza/Apri Richiedi una copia |
mirolo_et_al_20_preprint.pdf
accesso aperto
Descrizione: Versione dell'articolo sottomessa e accettata per la conferenza
Tipologia:
Documento in Pre-print
Licenza:
Creative commons
Dimensione
2.57 MB
Formato
Adobe PDF
|
2.57 MB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.