In programming problem solving activities, sometimes, students need feedback to progress in the course, being positively affected by the received feedback. This paper presents an overview of the state of the art and practice of the feedback approaches on introductory programming. To this end, we have carried out a systematic literature mapping to understand and discuss the main approaches for providing and evaluating feedback used in the learning of novice programmers in the problem solving activity. Thus, according to a formal protocol, an automatic search was performed for papers from 2016 to 2021. As a result, 39 studies were selected for the final analysis. As a result, we propose three different categorizations: the main approaches to providing feedback, the main methods used in the evaluation and the main aspects and effects of the evaluated feedback.
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.
Diverse initiatives have emerged to popularize the teaching of computing in K-12 mainly through programming. This, however, may not cover other important core computing competencies, such as Software Engineering (SE). Thus, in order to obtain an overview of the state of the art and practice of teaching SE competences in K-12, we carried out a systematic mapping study. We identified 17 instructional units mostly adopting the waterfall model or agile methodologies focusing on the main phases of the software process. However, there seems to be a lack of details hindering large-scope adoption of these instructional units. Many articles also do not report how the units have been developed and/or evaluated. However, results demonstrating both the viability and the positive contribution of initiating SE education already in K-12, indicate a need for further research in order to improve computing education in schools contributing to the popularization of SE competencies.
Programming is one of the basic subjects in most informatics, computer science mathematics and technical faculties' curricula. Integrated overview of the models for teaching programming, problems in teaching and suggested solutions were presented in this paper. Research covered current state of 1019 programming subjects in 715 study programmes at total of 218 faculties and 143 universities in 35 European countries that were analyzed. It was concluded that while most of the programmes highly support object-oriented paradigm of programming, introductory programming subjects are mainly based on imperative paradigm.
Automatic program evaluation is a way to assess source program files. These techniques are used in learning management environments, programming exams and contest systems. However, use of automated program evaluation encounters problems: some evaluations are not clear for the students and the system messages do not show reasons for lost points. The author proposes several ideas for possible improvements in black box testing, which can lead into better service for the users of automatic evaluation systems.