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的设计和评价,DSAScratch是一个广泛使用的区块编程语言的扩展,Scratch是一种广泛使用的区块编程语言。DSAScratch框架采用先进的数据结构,如阵列、数据集、字典、搜索和排序算法等。通过在直观的区块界面中介绍这些概念,这些区块将抽象地删除技术细节,简化数据结构和算法概念,供K-12学生更容易掌握和运用于编程问题。本文介绍了对该工具的可用性和学习成果的初步评价。根据我们所收集的关于DSAScratch的信息,我们表明这一扩展有利于学生加深对编程的了解和对高中中这些概念的直观理解。我们介绍了与10名高中学生进行的一项用户研究的方法和初步结果。在用户研究期间,70%的学员理解了DSAScratch通过讲座和亲身活动混合执行数据结构和算法。我们表明,DSAScratch也是90%参加讲习班的学生的一个重要部分。此外,他们还表明,他们对SAS级结构的理解将会加强。