Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Agentsheets: a tool for building domain-oriented dynamic, visual environments
Agentsheets: a tool for building domain-oriented dynamic, visual environments
Extracting Reusable Functions by Flow Graph-Based Program Slicing
IEEE Transactions on Software Engineering
What we know about spreadsheet errors
Journal of End User Computing - End User Development
Novice programming comes of age
Your wish is my command
A programming system for children that is designed for usability
A programming system for children that is designed for usability
Evaluating the effectiveness of a new instructional approach
Proceedings of the 35th SIGCSE technical symposium on Computer science education
WEUSE I Proceedings of the first workshop on End-user software engineering
Mindstorms: children, computers, and powerful ideas
Mindstorms: children, computers, and powerful ideas
Computer games as motivation for design patterns
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Supporting the Investigation and Planning of Pragmatic Reuse Tasks
ICSE '07 Proceedings of the 29th international conference on Software Engineering
FEATURE: Empowering kids to create and share programmable media
interactions - Pencils before pixels: a primer in hand-generated sketching
Programming by choice: urban youth learning programming with scratch
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Semi-automating small-scale source code reuse via structural correspondence
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
End-user programming in the wild: A field study of CoScripter scripts
VLHCC '08 Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing
Communications of the ACM - Scratch Programming for All
Predicting reuse of end-user web macro scripts
VLHCC '09 Proceedings of the 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
Expressing computer science concepts through Kodu game lab
Proceedings of the 42nd ACM technical symposium on Computer science education
Proceedings of the 43rd ACM technical symposium on Computer Science Education
What do students learn about programming from game, music video, and storytelling projects?
Proceedings of the 43rd ACM technical symposium on Computer Science Education
Assisting comprehension of animation programs through interactive code visualization
Journal of Visual Languages and Computing
Hi-index | 0.00 |
Scratch is the latest iteration in a series of animation tools aimed at teaching programming skills. Scratch, in particular, aims not only to teach technical skills, but also skills related to collaboration and code reuse. In order to assess the strengths and weaknesses of Scratch relative to these goals, we have performed an empirical field study of Scratch animations and associated user comments from the online animation repository. Overall, we found that Scratch represents substantial progress toward its designers' goals, though we also identified several opportunities for significant improvement. In particular, many Scratch programs revealed significant technical mastery of the programming environment by programmers, and some animations even demonstrated design patterns. On the other hand, while the Scratch repository has successfully served as a supportive environment for generating constructive feedback among users, we did not find any occasions within our sample where this interaction led to online collaboration. In addition, we found low levels of code reuse, in terms of both frequency and success. Based on these results, we identify implications for improving the design of animation tools, for using these tools to teach programming skills, and for fostering successful collaboration and code reuse among end-user programmers.