This paper describes the design and evaluation of DSAScratch, an extension to Scratch, a widely used block-based programming language. The DSAScratch framework implements advanced data structures such as arrays, sets, dictionaries, and searching and sorting algorithms. By presenting these concepts in an intuitive block-based interface, these blocks abstract away technical details and simplify data structures and algorithms concepts for K-12 students to grasp and apply to programming problems more readily. A preliminary evaluation of the tool's usability and learning outcomes is presented in this paper. Given the information we have gathered about DSAScratch, we show that the extension is beneficial for students to develop a deeper understanding of programming and an intuitive understanding of these concepts in high school. We present the methodology and preliminary results of a user study conducted with ten high school students. During the user study, 70% of the participants understood the key ideas behind DSAScratch implemented data structures and algorithms through a mixture of lectures and hands-on activities. We show that DSAScratch was also an important part of the workshop for 90% of the students who participated, as it enhanced their understanding of algorithms and data structures. Furthermore, they indicated that they would recommend DSAScratch to their peers.
翻译:本文描述了DSAScratch的设计与评估,它是Scratch(一种广泛使用的基于块的编程语言)的扩展。DSAScratch框架实现了高级数据结构,如数组、集合、字典,以及搜索和排序算法。通过将这些概念以直观的块状界面呈现,这些块抽象了技术细节,简化了数据结构与算法概念,使得K-12学生更容易掌握并应用于编程问题。本文对该工具可用性及学习成果的初步评估进行了介绍。基于我们收集的关于DSAScratch的信息,表明该扩展有助于学生更深入地理解编程,并在高中阶段直观掌握这些概念。我们展示了一项针对十名高中生的用户研究的方法与初步结果。在用户研究中,70%的参与者通过讲座与实践活动的结合,理解了DSAScratch实现的数据结构与算法背后的关键思想。我们表明,DSAScratch在90%参与学生的工作坊中也是重要组成部分,因为它增强了他们对算法与数据结构的理解。此外,他们表示愿意向同龄人推荐DSAScratch。