TY - GEN
T1 - Reversing
AU - Ginat, David
AU - Armoni, Michal
PY - 2007
Y1 - 2007
N2 - Program and proof designs are fundamental in computer science (CS). The designs involve the employment of various heuristics that may be considered rather inherent and natural, such as decomposition. Yet, not all heuristics are natural. One less natural, and rather unintuitive heuristic is that of reversing, in which a task is approached by reasoning backwards or viewing entities through "inverse lenses". One primary form of this heuristic is recursion. But, there are additional forms throughout the CS curriculum that are essential yet not underlined. In this paper we display these forms, underline their important role, and illustrate them in five core courses. In addition, we describe our experience with student difficulties due to unawareness and lack of competence with this heuristic, and offer preliminary guidelines for elaborating it during CS studies.
AB - Program and proof designs are fundamental in computer science (CS). The designs involve the employment of various heuristics that may be considered rather inherent and natural, such as decomposition. Yet, not all heuristics are natural. One less natural, and rather unintuitive heuristic is that of reversing, in which a task is approached by reasoning backwards or viewing entities through "inverse lenses". One primary form of this heuristic is recursion. But, there are additional forms throughout the CS curriculum that are essential yet not underlined. In this paper we display these forms, underline their important role, and illustrate them in five core courses. In addition, we describe our experience with student difficulties due to unawareness and lack of competence with this heuristic, and offer preliminary guidelines for elaborating it during CS studies.
KW - Program design
KW - Proof design
KW - Reverse thinking
UR - http://www.scopus.com/inward/record.url?scp=37849020785&partnerID=8YFLogxK
U2 - 10.1145/1121341.1121488
DO - 10.1145/1121341.1121488
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:37849020785
SN - 9781595932594
T3 - Proceedings of the Thirty-Seventh SIGCSE Technical Symposium on Computer Science Education
SP - 469
EP - 473
BT - Proceedings of the Thirty-Seventh SIGCSE Technical Symposium on Computer Science Education
Y2 - 1 March 2006 through 5 March 2006
ER -