ABSTRACT
Mastery of basic syntactic and logical constructs is an essential part of learning to program. Unfortunately, practice exercises for programming basics can be very tedious, making it difficult to motivate students. In this paper we describe Parson's Programming Puzzles, an automated, interactive tool that provides practice with basic programming principles in an entertaining puzzle-like format. Careful design of the items in the puzzles allows the tutor to highlight particular topics and common programming errors. Since each puzzle solution is a complete sample of well-written code, use of the tool exposes students to good programming practice. This paper discusses the motivation of Parson's Programming Puzzles, and gives several examples. We describe the web-based authoring tool used to build the puzzles, and present our plans for future development.
- Allen, R.K., Bluff, K. and Oppenheim, A. (1998): Jumping into Java: Object-Oriented Software Development for the Masses. Proceedings of the 3rd Australasian conference on Computer science education, Brisbane, Australia, 3:165-172. Google ScholarDigital Library
- Bergin, J., (2000): Why Procedural is the Wrong First Paradigm if OOP is the Goal, http://csis.pace.edu/~bergin/papers/Whynotprocedurarlfi rst.html. Accessed 14 Oct 2005.Google Scholar
- Booch, G., Rumbaugh, J. and Jacobson, I., (1999): The Unified Modeling Language User Guide. Reading, Massachusetts, Addison Wesley,. Google ScholarDigital Library
- Decker, R. and Hirshfield, S. (1994): The Top 10 Reasons Why Object-Oriented Programming Can't Be Taught in CS1, Proceedings of the twenty-fifth SIGCSE symposium on Computer science education, Phoenix, Arizona, USA, 51-55, ACM Press. Google ScholarDigital Library
- Duke, R. Salzman, E., Burmeister, J., Poon, J. and Murray, L., (2000): Teaching programming to beginners - choosing the language is just the first step, Proceedings of the Australasian conference on Computing education, Melbourne Australia. 79-86. Google ScholarDigital Library
- Fincher, S., (1999): What are we doing when we teach programming?, In Frontiers in Education '99, 12a41-5. IEEE, November 1999.Google ScholarCross Ref
- Grant, F. and O'Brien, H. (2000): Maths Plus for New Zealand Schools, St. Leonards, Australia, Horowitz Martin.Google Scholar
- Hill, J., Ray, C., Blair, J and Carver, C. (2003): Puzzles and games: addressing different learning styles in teaching operating systems concepts, Proceedings of the 34th SIGCSE technical symposium on Computer science education, Reno, Nevada, USA, 182-186. Google ScholarDigital Library
- Hu, Minjie (2004): Teaching Novices Programming with Core Language and Dynamic Visualisation Proceedings of the NACCQ 2004, Christchurch, New Zealand, 95-104.Google Scholar
- Kearsley, G. and Sheniderman, B., (1999): Engagement Theory: A framework for technology-based teaching and learning. http://home.sprynet.com/~gkearsley/engage.htm. Accessed 14 Oct 2005.Google Scholar
- Norman, D.A. and Spohrer, J., C. (1996): Learner-Centered Education, Communications of the ACM, 39(4):24-27. Google ScholarDigital Library
- Olsen, A.L. (2005): Using pseudocode to teach problem solving. Journal of Computing Sciences in Colleges 21(2):231-236. Google ScholarDigital Library
- O'Neill, P.J. (Ed.) (1972): The Shape of Mathematics, Wellington, New Zealand, Reed EducationGoogle Scholar
- Prensky, M. (2001): Digital Game-Based Learning, McGraw-Hill. Google ScholarDigital Library
- Stein, Lynn Andrea (1998): What we've swept under the rug: Radically rethinking CS1. Computer Science Education 8(2): 118-129.Google ScholarCross Ref
- Tabrizi, M., Collins, C, Ozan, E., and Li, K., (2004): Implementation of Object-Orientation Using UML in Entry Level Software Development Courses, Proceedings of the 5th conference on Information technology education, Salt Lake City, UT, 128-131, ACM Press. Google ScholarDigital Library
Index Terms
- Parson's programming puzzles: a fun and effective learning tool for first programming courses
Recommendations
Integrating parson's programming puzzles into a game-based mobile learning application
Koli Calling '17: Proceedings of the 17th Koli Calling International Conference on Computing Education ResearchUnderstanding of elementary programming concepts, logic, and syntax is a vital part of learning to program. Unfortunately, learning programming is found to be difficult and boring, especially for novices. For example, drill type of exercises designed ...
Open source widget for parson's puzzles
ITiCSE '10: Proceedings of the fifteenth annual conference on Innovation and technology in computer science educationWe introduce js-parsons - MIT licensed JavaScript widget to embed Parson's puzzles to any HTML. The novelty of js-parsons is the 2-dimensional drag-and-drop of the code lines. Firstly, the code lines in the solution need to be in correct order as in the ...
Development of an interactive learning tool to teach python programming language
ITiCSE '13: Proceedings of the 18th ACM conference on Innovation and technology in computer science educationProgramming requires an exhaustive comprehension of abstract concepts in addition to advanced logical skills in the domain of problem solving. With the prevalence of mobile devices and e-learning, many instructors are in favour of using innovative ...
Comments