Teaching algorithmic thinking enables students to use their knowledge in various contexts to reuse existing solutions to algorithmic problems. The aim of this study is to examine how students recognize which algorithmic concepts can be used in a new situation. We developed a card sorting task and investigated the ways in which secondary school students arranged algorithmic problems (Bebras tasks) into groups using algorithm as a criterion. Furthermore, we examined the students’ explanations for their groupings. The results of this qualitative study indicate that students may recognize underlying algorithmic concepts directly or by identifying similarities with a previously solved problem; however, the direct recognition was more successful. Our findings also include the factors that play a role in students’ recognition of algorithmic concepts, such as the degree of similarity to problems discussed during lessons. Our study highlights the significance of teaching students how to recognize the structure of algorithmic problems.
The teaching and learning of programming has proven to be a challenge for students of computer courses, since it presents challenges and requires complex skills for the good development of students. The traditional teaching model is not able to motivate students and arouse their interest in the topic. The tool proposed herein, the REA-LP, aims to facilitate the study and retention of content related to the discipline of programming logic at the technical level by presenting its content through various types of media, in addition to allowing students to actively participate in the construction of their knowledge, favoring engagement and motivation. From the results of an empirical study with 39 students, it can be concluded that the tool was very well accepted, being effective in facilitating and assisting participants in their learning, motivation, and interest in classes, mainly due to the way in which the content is presented by REA-LP.
Considerable effort has been invested in innovative practices about teaching programming. Although the usefulness of metacognition in learning process is acknowledged, evidence demonstrating how metacognitive strategies effect in the programming classrooms is still very scarce. Given the importance of metacognitive strategies, this study seeks to examine the effect of the strategies to students’ performances in programming courses. The qualitative techniques were used to determine the participants’ programming performances and explicate their experiences about the role of the strategies. The results indicated that while almost half of the students’ programming performances were multistructural the other half was prestructural and unistructural categories of Solo taxonomy. The quality of the programming problems is found to have an important role in the development of both cognitive knowledge and cognitive regulation strategies. Furthermore, the cognitive potentials and problem solving habits of the students were also found to be effective on their metacognitive development. The implications of notable findings and directions for future studies were also discussed.
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.
Interaction and feedback are key factors supporting the learning process. Therefore many automatic assessment and feedback systems have been developed for computer science courses during the past decade. In this paper we present a new framework, TRAKLA2, for building interactive algorithm simulation exercises. Exercises constructed in TRAKLA2 are viewed as learning objects in which students manipulate conceptual visualizations of data structures in order to simulate the working of given algorithms. The framework supports randomized input values for the assignments, as well as automatic feedback and grading of students' simulation sequences. Moreover, it supports automatic generation of model solutions as algorithm animations and the logging of statistical data about the interaction process resulting as students solve exercises. The system has been used in two universities in Finland for several courses involving over 1000 students. Student response has been very positive.