What are the types of projects that Scratch users create?

How do different types of features relate to the project type?

More Info
expand_more

Abstract

Scratch is a block-based programming language. It is designed to be simple and syntax error avoidant. This makes Scratch an accessible platform for cultivating coding skills. Many young learners are taught about different programming skills using various project types as examples. For instance, games are used as an engagement tool, and various games can motivate new learners to make their own. This influx of new published projects are manually classified into different types by using tags in the project descriptions. However, this manual classification only happens when the user adds the appropriate tags. This calls for an extension of that feature, which could help classify all projects published on the Scratch website. This has the goal of improving the browsing process, especially for new projects. To address this gap, in this initial iteration we leverage the fact that there are likely similarities, or even various project type defining features that would help improve the accuracy of classification through machine learning. Filling this gap also opens the possibility of automatic classification, depending on the accuracy of the results. Within this study, various machine learning models were tested with quantifiable project features as input data. The accuracy scores were compared to draw conclusions on how well various features extracted from Scratch projects performed for classification.