ABSTRACT
This paper describes an approach for introducing recursion, as part of a course for novice programmers. The course is designed to make use of a 3-D animation world-builder as a visualization tool that allows students to see their own programs in action. One of the pedagogical goals of the course is to enable the student to gain an intuitive sense of and mathematical insight into the recursive process. The software, examples of animation using recursion, and some experiences in using this approach are discussed.
- 1.Bergin, J., Stehlik, M., Roberts, J., and Pattis, R., Karel++, A Gentle Introduction to the Art of Object-Oriented Programming. New York: Wiley, 1997.]] Google ScholarDigital Library
- 2.Bower, R.W. An investigation of a manipulative simulation in the learning of recursive programming. PhD thesis. Iowa State University, 1998.]]Google Scholar
- 3.Brown, M.H., Algorithm Visualization. Cambridge, MA: M.I.T. Press, 1988.]]Google Scholar
- 4.Cooper, S., Dann, W,, and Pausch, R. Alice: a 3-D tool for introductory programming concepts. In Proceedings of the 5 th Annual CCSC Northeastern Conference, Mahwah, NJ, (2000), 107-116.]] Google ScholarDigital Library
- 5.Dann, W., Cooper, S., and Pausch, R. Making the connection: programming with animated small worlds. In {201, 41-44.]] Google ScholarDigital Library
- 6.Davy, J.D., Audin, K., Barkham, M. and Joyner, C. Student well-being in a computing department. In {20}, 136-139.]] Google ScholarDigital Library
- 7.Gal-Ezer, J. and Harel, D. What (Else) Should CS Educators Know? Communications of the ACM 41, 9 (September 1998), 77-84.]] Google ScholarDigital Library
- 8.Graham, R.L., Knuth, D. E., and Patashnik, O. Concrete Mathematics. Addison-Wesley Pub. Co., Reading, MA 1989.]] Google ScholarDigital Library
- 9.Hagan, D., and Markham, S. Does it help to have some programming experience before beginning a computing degree program? In {20}, 25-28.]] Google ScholarDigital Library
- 10.House, D. and Levine, D. The Art and Science of Computer Graphics: A Very Depth-First Approach to the Non-majors Course. In Proceedings of the 25 th SIGCE Technical Symposium, Phoenix, March, 1994.]] Google ScholarDigital Library
- 11.McCracken, D.D. Ruminations on Computer Science Curricula. Communications of the ACM. 30, 1: (January 1987), 3-5.]] Google ScholarDigital Library
- 12.Naps, T. and Swander, B. An object-oriented approach to algorithm visualization - easy, extensible, and dynamic. In Proceedings of the 25 th SIGCE Technical Symposium, Phoenix, March, 1994.]] Google ScholarDigital Library
- 13.Papert, S., MindStorms: Children, Computers, and Powerful Ideas. New York: Basic Books, 1980.]] Google ScholarDigital Library
- 14.Pattis, R., Karel the Robot. New York: Wiley, 1981.]] Google ScholarDigital Library
- 15.Pausch, R. (head), Burnette, T., Capeheart, A.C., Conway, M., Cosgrove, D., DeLine, R., Durbin, J., Gossweiler, R., Koga, S., White, J. Alice:rapid prototyping system for virtual reality, IEEE Computer Graphics and Applications, May, 1995.]] Google ScholarDigital Library
- 16.Roberts, E.S. Thinking Recursively. John Wiley & Sons, Inc., New York, 1986.]] Google ScholarDigital Library
- 17.Scragg, G., Baldwin, D., and Koomen, H. Computer science needs an insight-based curriculum. In Proceedings of the 25 th SIGCSE Technical Symposium, Phoenix, (1994), 150-154.]] Google ScholarDigital Library
- 18.Stasko, J.T., Dominque, J., Brown, M. and Price, B., eds. Software Visualization, Programming as a Multimedia Experience. Cambridge: MIT Press, 1998.]]Google Scholar
- 19.Wu, C., Dale, N.B., and Bethel, L.J. Conceptual Models and Cognitive Learning. Styles in Teaching Recursion in Proceedings of the 29 th SIGCSE Technical Symposium on Computer Science Education. Atlanta, 292-296.]] Google ScholarDigital Library
- 20.Proceedings of the 5 th Annual Conference on Innovation and Technology in Computer Science Education, Helsinki, Finland, (2000).]]Google Scholar
Index Terms
- Using visualization to teach novices recursion
Recommendations
Recursion in gradual steps (is recursion really that difficult?)
SIGCSE '00: Proceedings of the thirty-first SIGCSE technical symposium on Computer science educationWe propose a gradual approach to teach recursion. Our main assumption is that the difficulty in learning recursion does not come from the recursion concept itself, but from its interaction with other mechanisms of imperative programming. We use this ...
Using visualization to teach novices recursion
This paper describes an approach for introducing recursion, as part of a course for novice programmers. The course is designed to make use of a 3-D animation world-builder as a visualization tool that allows students to see their own programs in action. ...
Interactive visualization of recursion with SRec
ITiCSE '09: Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science educationSRec is an animation system of recursion intended to assist in algorithm courses. We present the main contributions of version 1.1. First, SRec fully supports any kind of recursion. Second, it provides three additional graphical representations for ...
Comments