ABSTRACT
Visual programming environments are widely used to introduce young people to computer science and programming; in particular, they encourage learning by exploration. During our research on teaching and learning computer science concepts with Scratch, we discovered that Scratch engenders certain habits of programming: (a) a totally bottom-up development process that starts with the individual Scratch blocks, and (b) a tendency to extremely fine-grained programming. Both these behaviors are at odds with accepted practice in computer science that encourages one: (a) to start by designing an algorithm to solve a problem, and (b) to use programming constructs to cleanly structure programs. Our results raise the question of whether exploratory learning with a visual programming environment might actually be detrimental to more advanced study.
- Cuoco, A., Goldenberg, E. P., and Mark, J. 1997. Habits of mind: An organizing principle for mathematics curriculum. Journal of Mathematical Behavior, 15(4), 375--402.Google ScholarCross Ref
- Harel, I., and Papert, S. (eds.). 1991. Constructionism. Ablex, Norwood, NJ.Google Scholar
- Hartman, J., 1991. Understanding natural programs using proper decomposition, Proceedings of the 13th International Conference on Software Engineering (Austin, Texas, May 13-17, 1991), 62--73. Google ScholarDigital Library
- Joni, S. A., and Soloway, E., 1986. But my program runs! Discourse rules for novice programmers. Journal of Educational Computing Research, 2(1), 95--126.Google ScholarCross Ref
- Kafai, Y., and Resnick, M., (eds.) 1996. Constructionism in Practice: Designing, Thinking, and Learning in a Digital World. Lawrence Erlbaum Associates, Mahwah, NJ.Google Scholar
- Kaloti-Hallak, F., 2010. Learning Programming Concepts Using Scratch at the Middle-School Level. Unpublished MSc Thesis, Weizmann Institute of Science.Google Scholar
- Malan, D. J., and Leitner, H. H., 2007. Scratch for budding computer scientists. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '07). ACM, New York, 223--227. Google ScholarDigital Library
- Maloney, J. H., Peppler, K., Kafai, Y., Resnick, M., and Rusk, N. 2008. Programming by choice: Urban youth learning programming with Scratch. SIGCSE Bull. 40, 1 (March 2008), 367--371. Google ScholarDigital Library
- Meerbaum-Salant, O., Armoni, M., and Ben-Ari, M., 2010. Learning computer science concepts with Scratch. In Proceedings of the Sixth International Workshop on Computing Education Research (ICER '10). ACM, New York, 69--76. Google ScholarDigital Library
- Papert, S., 1980. Mindstorms: Children, Computers, and Powerful Ideas. Basic Books, New York. Google ScholarDigital Library
- Resnick, M., Maloney, J., Monroy-Hernandez, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., and Kafai, Y., 2009. Scratch: Programming for all. Commun. ACM 52, 11 (November 2009), 60--67. Google ScholarDigital Library
- Turkle, S., and Papert, S., 1991. Epistemological pluralism and the revaluation of the concrete. In: Harel, I. and Papert, S. (eds.), Constructionism. Ablex, Norwood, MA, 161--192.Google Scholar
- Vizcaino, A., Contreras, J., Favela, J., and Prieto, M. 2000. An Adaptive, Collaborative Environment to Develop Good Habits in Programming. In Proceedings of the 5th International Conference on Intelligent Tutoring Systems (ITS '00), Gilles Gauthier, Claude Frasson, and Kurt VanLehn (eds.). Springer-Verlag, London, UK, 262--271. Google ScholarDigital Library
Index Terms
- Habits of programming in scratch
Recommendations
The Scratch Programming Language and Environment
Scratch is a visual programming environment that allows users (primarily ages 8 to 16) to learn computer programming while working on personally meaningful projects such as animated stories and games. A key design goal of Scratch is to support self-...
From Scratch to “Real” Programming
Computer science (CS) activities for young students are widely used, particularly visual programming environments. We investigated the use of the Scratch environment for teaching CS concepts to middle school students. In a previous article [Meerbaum-...
The Appropriateness of Scratch and App Inventor as Educational Environments for Teaching Introductory Programming in Primary and Secondary Education
Teaching programming is a complex task. The task is even more challenging for introductory modules. There is an ongoing debate in the teaching community over the best approach to teaching introductory programming. Visual block-based programming ...
Comments