Title
On the Ability to Reason About Program Behaviour: A Think-Aloud Study.
Abstract
Abstraction is a core skill for both programming and problem solving, however it is also a challenge for many students to develop a correct understanding of abstract concepts, such as program behaviour, which causes them to struggle with both introductory and advanced programming courses. Thus, evaluating students' ability to reason about programs should be an important topic for CS education. We use a think-aloud study to record and analyse the strategies students apply to reason about program behaviour within the context of reversibility. Reversibility is a property of a program or function that indicates it could be brought back to its original state. Reasoning about reversibility requires students to have a mental model of the state, thus they should reason about program behaviour as a whole, compared with reasoning about concrete cases using testing and tracing. We have identified four strategies used by students to complete the reversibility task, which we have named as algorithm decomposition, input analysis, abstraction and inductive testing. Although 70% of students successful identified reversibility in 2 of the 3 exercises, most students fail to correctly reason about reversibility in an exercise involving a seemingly simple conditional statement.
Year
DOI
Venue
2017
10.1145/3059009.3059036
ITiCSE
Field
DocType
Citations 
Mental model,Abstraction,Computer science,Artificial intelligence,Mathematics education,Think aloud protocol,Multimedia,Tracing
Conference
1
PageRank 
References 
Authors
0.37
4
3
Name
Order
Citations
PageRank
Cruz Izu114923.41
Cheryl Pope281.59
Amali Weerasinghe39015.41