Although Machine Learning (ML) is integrated today into various aspects of our lives, few understand the technology behind it. This presents new challenges to extend computing education early to ML concepts helping students to understand its potential and limits. Thus, in order to obtain an overview of the state of the art on teaching Machine Learning concepts in elementary to high school, we carried out a systematic mapping study. We identified 30 instructional units mostly focusing on ML basics and neural networks. Considering the complexity of ML concepts, several instructional units cover only the most accessible processes, such as data management or present model learning and testing on an abstract level black-boxing some of the underlying ML processes. Results demonstrate that teaching ML in school can increase understanding and interest in this knowledge area as well as contextualize ML concepts through their societal impact.
Teaching computational thinking in K-12 as a 21th century skill is becoming increasingly important. Computational thinking describes a specific way of reasoning building on concepts and processes derived from algorithms and programming. One way to teach these concepts is games as an effective and efficient alternative. This article presents SplashCode, a low-cost board game to reinforce basic algorithms and programming concepts. The game was developed in a systematic way following an instructional design process, and applied and evaluated in a Brazilian public school with a total of 65 students (grade 5 to 9). First results indicate that the game can have a positive impact on motivation, learning experience, and students' learning, as well as contribute positively to social interaction, relevance, and fun. Results of this study may assist in the selection of games as an instructional strategy and/or in the development of new games for teaching computational thinking.
The development of computational thinking is a major topic in K-12 education. Many of these experiences focus on teaching programming using block-based languages. As part of these activities, it is important for students to receive feedback on their assignments. Yet, in practice it may be difficult to provide personalized, objective and consistent feedback. In this context, automatic assessment and grading has become important. While there exist diverse graders for text-based languages, support for block-based programming languages is still scarce. This article presents CodeMaster, a free web application that in a problem-based learning context allows to automatically assess and grade projects programmed with App Inventor and Snap!. It uses a rubric measuring computational thinking based on a static code analysis. Students can use the tool to get feedback to encourage them to improve their programming competencies. It can also be used by teachers for assessing whole classes easing their workload.