Critical thinking is a fundamental skill for 21st-century citizens, and it should be promoted from elementary school and developed in computing education. However, assessing the development of critical thinking in educational contexts presents unique challenges. In this study, a systematic mapping was carried out to investigate how to assess the development of critical thinking, or some of its skills, in K-12 computing teaching. The results indicate that primary studies on the development of critical thinking in K-12 computing education are concentrated in Asian countries, mainly focusing on teaching concepts such as algorithms and programming. Moreover, the studies do not present a fixed set of critical thinking skills assessed, and the skills are selected according to specific teaching and research needs. Most of the studies adopted student self-assessment using instruments that are well-known in the literature for assessing critical thinking. Many studies measured the quality of instruments for their research, obtaining favorable results and demonstrating consistency. However, the research points to a need for more diversity in assessment methods beyond student self-assessment. The findings suggest a need for more comprehensive and diverse critical thinking assessments in K-12 computing education, covering different educational stages and computing education concepts. This research aims to guide educators and researchers in developing more effective critical thinking assessments for K-12 computing education.
In this study, we aimed to investigate the impact of cooperative learning on the computational thinking skills and academic performances of middle school students in the computational problem-solving approach. We used the pretest-posttest control group design of the quasi-experimental method. In the research, computational problem-solving activities regarding 6th graders' goals of the "heat and matter" unit, were applied individually by Group 1 and cooperative learning by Group 2. These activities required students to use computational thinking skills and code using the Python programming language. The study involved 34 students from the 6th grade of a private middle school located in the capital city of Turkey. The Computational Thinking Test (CTt) and an academic achievement test were used as pre-tests and post-tests to monitor students' computational thinking skills and academic performances. Additionally, computational problem-solving activities were scored to track the progress of students' computational thinking abilities. Non-parametric Mann Whitney U and Wilcoxon T-tests were utilized to analyze the progression of pupils' computational thinking abilities and academic success, and ANCOVA was used to analyze CTt scores. Qualitative data were collected through semi-structured interviews at the end of the process to determine students' views on the computational problem-solving process. Results revealed a significant increase in students' academic achievement and computational thinking skills in both groups. A comparison of post-test scores showed no significant difference between groups. It is anticipated that the research results will make meaningful contributions to the literature concerning the progress of computational thinking skills in secondary school students.
Programmed control systems are ubiquitous in the present-day world. In current educational practice, however, these systems are hardly being addressed, and little is known about children’s spontaneous understandings about such systems. Therefore, we explored pupils’ understandings prior to instruction in three concrete settings: a car park, an elevator, and an autonomous robot. We analysed written responses from 49 Grade 3 (aged 7 to 10) and Grade 6 pupils (aged 10 to 13) to assess their understandings from two perspectives: the user and the system programmer perspective. Results indicate that most pupils were capable describing programmed systems from a user perspective point of view but found it hard to describe the system programmer perspective. Substantial differences were found between the contexts. The car park context evoked richer descriptions for the user perspective and the system programmer perspective in comparison to the elevator and autonomous robot contexts.
The design of algorithms is one of the hardest topics of high school computer science. This is mainly due to the universality of algorithms as solution methods that guarantee the calculation of a correct solution for all potentially infinitely many instances of an algorithmic problem. The goal of this paper is to present a comprehensible and robust algorithms design strategy called “constructive induction” that enables high school students to discover solution methods for a large variety of algorithmic problems. The concept of constructive induction is based on searching for a universal method for solving any instance of an algorithmic problem when solutions of smaller problem instances are available.
In general, our approach strengthens learners in problem solving and their ability to use and develop abstract representations. Here we present a large collection of tasks that can be solved by constructive induction and show how to use this method to teach algorithm design. For some representative algorithmic tasks, we offer a detailed design of lessons in high school classes. We explain how our implementation of teaching in classrooms supports critical thinking, sustainability of acquired knowledge, problem solving, and the ability to abstract, and so contributes to reaching deep competences in algorithmic thinking.
The paper presents graduates results in computer science testing according to their dependence from students’ gender, family socioeconomic status, and the type of prosperity of the locality of the school in Lithuania. It was found that the gender of the graduate does not affect the results in computer science test. However, the girls who chooses to take the Computer Science Matura Exam make up only 1/5 of all graduates. Meanwhile, the socioeconomic status of the student’s family, the way of travel to and from school and the type of locality prosperity systematically does affect the results of computer science test of graduates. The entire population of Lithuanian general education school graduates (N = 2208) who chose to take the Computer Science Matura Exam in 2023 was investigated. Testing was administered centrally using a standardized test. As a hypothesis the insights were formulated on how to improve the computer science didactic system in the country’s general education sector. On the basis of empirical data, conclusions and specific recommendations were formulated to improve the system of didactics of informatics in the field of general education in the country.
Research on collaborative learning of computer science has been conducted primarily in programming. This paper extends this area by including short tasks (such as those used in contests like the Bebras Challenge) that cover many other computer science topics. The aim of this research is to explore how problem-solving in pairs differs from individual approaches when tackling contest tasks.
An observational study was conducted on tens of thousands of contestants aged 8–12 years. Statistical tests showed that, compared to individuals, pairs have a higher ratio of correct answers and solve slightly more tasks. They seem to be more successful in some components of computational thinking and are more confident in their answers. In tasks with instant feedback, pairs find the correct solution faster than individuals. As the age of the pupils increases, a trend of decreasing advantages of working in pairs can be observed. These results could be useful for curriculum makers who create computer science textbooks.
Learning programming has become increasingly popular, with learners from diverse backgrounds and experiences requiring different support. Programming-process analysis helps to identify solver types and needs for assistance. The study examined students’ behavior patterns in programming among beginners and non-beginners to identify solver types, assess midterm exam scores’ differences, and evaluate the types’ persistence. Data from Thonny logs were collected during introductory programming exams in 2022, with sample sizes of 301 and 275. Cluster analysis revealed four solver types: many runs and errors, a large proportion of syntax errors, balance in all features, and a late start with executions. Significant score differences were found in the second midterm exam. The late start of executions characterizes one group with lower performance, and types are impersistent during the first programming course. The findings underscore the importance of teaching debugging early and the need to teach how to program using regular executions.