Controlling complexity through the use of abstractions is a critical part of problem solving in programming. Thus, becoming proficient with procedural and data abstraction through the use of user-defined functions is important. Properly using functions for abstraction involves a number of other core concepts, such as parameter passing, scope and references, which are known to be difficult. Therefore, this paper aims to study students’ proficiency with these core concepts, and students’ ability to apply procedural and data abstraction to solve problems. We collected data from two years of an introductory Python course, both from a questionnaire and from two lab assignments. The data shows that students had difficulties with the core concepts, and a number of issues solving problems with abstraction. We also investigate the impact of using a visualization tool when teaching the core concepts.
This study reports the findings of a program that aims to develop pre-service science teachers’ computational problem-solving skills and views on using information and communications technology in science education. To this end, pre-service science teachers were trained on computational thinking, computational problem solving, designing an algorithm, and Python coding, and then they were asked to solve problem situations determined within the science education program using the computational problem-solving process. The study was conducted in a faculty of education in Turkey and carried out conducted in an elective course in the spring semester of the 2019 - 2020 academic year (in an online platform due to the Covid-19 Pandemic). 38 pre-service science teachers were included in the study. In this process, pre-service science teachers’ conceptual development levels regarding computational thinking and their views regarding the use of ICT in schools were collected quantitatively. The development of computational problem-solving skills of pre-service science teachers was scored by a rubric developed in this study. According to the analyzes, pre-service science teachers increased knowledge of computational thinking (t = -5,969, p = .000), enhanced views regarding the use of ICT in schools (t = -2,436, p = .020), and developed computational problem-solving skills (χ2(2) = 9.000, p = 0,011). These findings have the potential to provide evidence on how computational problem-solving skills can be integrated into science teacher education programs.