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.
This paper presents results of a questionnaire focused on investigating students' confidence and behavioral intention in the area of programming, particularly that of structures, problem solving, and programming commands (Conditional - Loop). Responses from 116 1st year students regarding informatics were used. The results indicate that the engagement with programming logic yields a positive impact on students' confidence and acceptance. In addition, all the measured factors are related relatively strongly. Our findings demonstrate that students' prior direction (at Lyceum) has a significant impact on their Confidence for using Programming Commands (CPC) and Confidence for using Data Structures (CDS); however, prior direction does not have any impact on learners Problem Solving Confidence (PSC) and Behavioral Intention (BI) for programming. In the conclusion, several issues regarding the courses of programming are discussed.
Mathematical logic is a discipline used in sciences and humanities with different point of view. Although in tertiary level computer science education it has a solid place, it does not hold also for secondary level education. We present a heterogeneous study both theoretical based and empirically based which points out the key role of logic in computer science, computer science education and knowledge representation. We focus on the key contrast of semantics and syntax, the resolution principle as a leading inference technique (giving also interesting non-clausal generalization of the rule). Further we discuss the possibilities of inclusion the non-classical (many-valued) logics in education together with the original generalization of the non-clausal resolution rule into fuzzy logic. The last part describes partial results of the research concerning the secondary education in the Czech Republic especially in the mathematical logic field. The generalization of the presented ideas entails the article.
Automatic assessment of programming exercises is typically based on testing approach. Most automatic assessment frameworks execute tests and evaluate test results automatically, but the test data generation is not automated. No matter that automatic test data generation techniques and tools are available.
We have researched how the Java PathFinder software model checker can be adopted to the specific needs of test data generation in automatic assessment. Practical problems considered are: how to derive test data directly from students' programs (i.e., without annotation) and how to visualize and how to abstract test data automatically for students? Interesting outcomes of our research are that with minor refinements generalized symbolic execution with lazy initialization (a test data generation algorithm implemented in PathFinder) can be used to construct test data directly from students' programs without annotation, and that intermediate results of the same algorithm can be used to provide novel visualizations of the test data.
This paper presents results from three interrelated studies focusing on introducing TRAKLA2 to students taking courses on data structures and algorithms at the University of Turku and \rAbo Akademi University in 2004. Using TRAKLA2 they got acquainted with a completely new system for solving exercises that provided them with automatic feedback and the possibility to resubmit their solutions. Besides comparing the students' learning results, a survey was made with 100 students on the changes in their attitudes towards web-based learning environments. In addition, a usability evaluation was conducted in a human-computer interaction laboratory.
Our results show that TRAKLA2 considerably increased the positive attitudes towards web-based learning. According to students' self-evaluations, the best learning results are achieved by combining traditional exercises with web-based ones. In addition, the numerical course statistics were clearly better than in 2003 when only pen-and-paper exercises in class were used. The results from the usability test were also very positive: no severe usability problems were revealed; in fact, the results indicate that the system is very easy to learn and user-friendly as a whole.