This paper presents the first experiences of the use of an online open-source repository with programming exercises. The repository is independent of any specific teaching approach. Students can search for and select an exercise that trains the programming concepts that they want to train and that only uses the programming concepts they already know. Then, they can submit their solutions and get automatic feedback from the system. We analyzed quantitatively how students used the system by inspecting the logged actions of the students using the system. We also did a qualitative analysis by interviews, to find out how the students appreciated the use of the repository and to get feedback for improvements. We focused on how students select exercises as finding the exercise that fulfills the training needs of a student is the innovative part of our repository.
The integration of artificial intelligence (AI) topics into K–12 school curricula is a relatively new but crucial challenge faced by education systems worldwide. Attempts to address this challenge are hindered by a serious lack of curriculum materials and tools to aid teachers in teaching AI. This article introduces the theoretical foundations and design principles for implementing co-design projects in AI education, empirically tested in 12 Finnish classrooms. The article describes a project where 4th- and 7th-graders (N = 213) explored the basics of AI by creating their own AI-driven applications. Additionally, a framework for distributed scaffolding is presented, aiming to foster children's agency, understanding, creativity, and ethical awareness in the age of AI.
Teaching programming is a complex process requiring learning to develop different skills. To minimize the challenges faced in the classroom, instructors have been adopting active methodologies in teaching computer programming. This article presents a Systematic Mapping Study (SMS) to identify and categorize the types of methodologies that instructors have adopted for teaching programming. We evaluated 3,850 papers published from 2000 to 2022. The results provide an overview and comprehensive view of active learning methodologies employed in teaching programming, technologies, programming languages, and the metrics used to observe student learning in this context. In the results, we identified thirty-seven different ALMs adopted by instructors. We realized that seventeen publications describe teaching approaches that combine more than one ALM, and the most reported methodologies in the studies are Flipped Classroom and Gamification-Based Learning. In addition, we are proposing an educational and collaborative tool called CollabProg, which summarizes the primary active learning methodologies identified in this SMS. CollabProg will assist instructors in selecting appropriate ALMs that align with their pedagogical requirements and teaching programming context.
The paper discusses an alternative method of assessing the difficulty of pupils’ programming tasks to determine their age appropriateness. Building a program takes the form of its successive iterations. Thus, it is possible to monitor the number of times such a program was built by the solver. The variance of the number of program builds can be considered as a criterion of the difficulty of the task. We seek to verify whether this variance is the greatest in the age group for which the task is most suitable. We created several series of programming tasks and offered them to 87000 pupils from 4th to 13th grade. For each task, we compared the optimal age group determined by the variance of the number of program builds method with the group determined by the correct answer ratio method. A strong correlation was observed in traditional microworlds Karel the Robot and Turtle. A moderate correlation was achieved in the new microworld Movie.
Concurrency is a complex to learn topic that is becoming more and more relevant, such that many undergraduate Computer Science curricula are introducing it in introductory programming courses. This paper investigates the combined use of Sonic Pi and Team-Based Learning to mitigate the difficulties in early exposure to concurrency. Sonic Pi, a domain-specific music language, provides great support for “playing” with concurrency and “hearing” common problems such as data races and lack of synchronization among different concurrent threads. More specifically, the paper focuses on students’ misconceptions regarding concurrency in Sonic Pi, and compares them to those arising in traditional concurrent programming languages. In addition, it preliminarily explores knowledge transfer from Sonic Pi to C/C++. The approach has been applied in two teaching experiments with undergraduate students in our University involving 184 participants. Our investigations bring out the need to address misconceptions through targeted interventions for a clear understanding of concurrent programming concepts. Sonic Pi’s simplified abstraction and domain-specific flavor has demonstrated to be effective, especially for first-year students.
Programming students need to be informed about plagiarism and collusion. Hence, we developed an assessment submission system to remind students about the matter. Each submission will be compared to others and any similarities that do not seem a result of coincidence will be reported along with their possible reasons. The system also employs gamification to promote early and unique submissions. Nevertheless, the system might put unnecessary pressure as coincidental similarities can still be reported. Further, it does not specifically cover self-plagiarism. We revisit the system and shift our focus to report simulated similarities from student own submission instead of reporting actual similarities across submissions. According to our evaluation with 390 students and five quasi-experiments, students with simulated similarities are slightly more aware of plagiarism and collusion, self-plagiarism in particular. Their awareness of the matter is somewhat acceptable (around 75%) and they see the benefits of our assessment submission system.
In K-12 computing education, there is a need to identify and teach concepts that are relevant to understanding machine learning technologies. Studies of teaching approaches often evaluate whether students have learned the concepts. However, scant research has examined whether such concepts support understanding digital artefacts from everyday life and developing agency in a digital world. This paper presents a qualitative study that explores students’ perspectives on the relevance of learning concepts of data-driven technologies for navigating the digital world. The underlying approach of the study is data awareness, which aims to support students in understanding and reflecting on such technologies to develop agency in a data-driven world. This approach teaches students an explanatory model encompassing several concepts of the role of data in data-driven technologies. We developed an intervention and conducted retrospective interviews with students. Findings from the analysis of the interviews indicate that students can analyse and understand data-driven technologies from their everyday lives according to the central role of data. In addition, students’ answers revealed four areas of how learning about data-driven technologies becomes relevant to them. The paper concludes with a preliminary model suggesting how computing education can make concepts of data-driven technologies meaningful for students to understand and navigate the digital world.
This study aims to explain the relationships between secondary school students' digital literacy, computer programming self-efficacy and computational thinking self-efficacy. The study group consists of 204 secondary school students. A relational survey model was used in the research method and three different data collection tools were used to collect data. The structural equation model was used in data analysis to reveal a model that explains and predicts the relationships between variables. According to the results of the research, it was determined that digital literacy of secondary school students affected their computer programming self-efficacy, digital literacy affected their computational thinking self-efficacy, and computer programming self-efficacy affected their computational thinking self-efficacy. It was also found that digital literacy skills have an indirect effect on secondary students' computational thinking self-efficacy on computational thinking self-efficacy.
This study investigates the effect of programming courses on the computational thinking (CT) skills of elementary school students and the learning effectiveness of students from different backgrounds who are studying programming. We designed a OwlSpace programming course into an elementary school curriculum. Students in fourth and fifth grades were taught the fundamentals of programming. We measured and analyzed the effectiveness of their CT skills and self-efficacy in CT. The researchers analyzed the changes in the CT of different gender, different grade, and different past experience students in programming courses and then made specific recommendations for information technigy teachers and related units. The results demonstrate that students learned and improved their CT skills by taking OwlSpace programming course. Additionally, gender, grade, and past experience are found to have no impact on the students’ learning that means the course can improve students ability without limited any characteristics.
There is an increasing interest in the integration of computational thinking (CT) in the K-12 curriculum. By integrating CT into other disciplines, the aim is to equip students with essential skills to navigate domain-specific challenges. This study conducts a systematic review of 108 peer-reviewed scientific papers to analyze in which K-12 subjects CT is being integrated, learning objectives, CT integration levels, instructional strategies, technologies and tools employed, assessment strategies, research designs and educational stages of participants. The findings reveal that: (a) over two-thirds of the CT integration studies predominantly focus on science and mathematics; (b) the majority of the studies implement CT at the substitution level rather than achieving a transformation impact; (c) active learning is a commonly mentioned instructional strategy, with block-based languages and physical devices being frequently utilized tools; (d) in terms of assessment, the emphasis primarily lies in evaluating attitudes towards technology or the learning context, rather than developing valid and reliable assessment instruments. These findings shed light on the current state of CT integration in K-12 education. The identified trends provide valuable insights for educators, curriculum designers, and policymakers seeking to effectively incorporate CT across various disciplines in a manner that fosters meaningful skill development with an interdisciplinary approach. By leveraging these insights, we can strive to enhance CT integration efforts, ensuring the holistic development of students' computational thinking abilities and promoting their preparedness for the increasingly interdisciplinary domains of digital world.