Abstract
Reversing is the notion of thinking or working in reverse. Computer science textbooks and tutors recognize it primarily in the form of recursion. However, recursion is only one form of reversing. Reversing appears in the computer science curriculum in many other forms, at various intellectual levels, in a variety of fundamental courses. As such, it is too important a notion to be left unexplored. In this paper we discuss reversing in the context of two theoretical frameworks – as a fundamental idea in computer science, in the context of Schwill's model of fundamental ideas, and as a powerful problem solving means, in the context of Schoenfeld's cognitive model of problem solving. We recognize seven different forms of reversing, and demonstrate the essential role of each in algorithm or proof design. Our focus in the paper is conceptual, yet we briefly note our initial experimental experience, with student difficulties in both the invocation and utilization of reversing. We then discuss cognitive aspects of the teaching of reversing and offer ways to assimilate its awareness and elaborate its fundamental role in computer science.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.