Nowadays, few professionals understand the techniques and testing criteria to systematize the software testing activity in the software industry. Towards shedding some light on such problems and promoting software testing, professors in the area have established Massive Open Online Courses as educational initiatives. However, the main limitation is the professor’s lack of supervision of students. A conversation agent called TOB-STT has been defined in trying to avoid the problem. A previous study introduced TOB-STT; however, it did not analyze its efficacy. This article addresses a controlled experiment that analyzed its efficacy and revealed it was not expressive in its current version. Therefore, we conducted an in-depth analysis to find what caused this result and provided a detailed discussion. The findings contribute to the TOB-STT since the experimental results show that improvements need to be made in the conversational agent before we use it in Massive Open Online Courses.
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 focuses on the analysis of Bebras Challenge tasks to find Informatics tasks that develop abstract thinking. Our study seeks to find which Bebras tasks develop abstraction and in what way. We analysed hundreds of tasks from the Czech contest to identify those tasks requiring participants to abstract directly or use abstract structures. Results show that an agreement among experts on stating which task is focused on abstraction is at a moderate level. We discovered that tasks focused on abstraction occur four to five times less frequently in sets of contest tasks than algorithmic tasks. Our findings proved that abstract tasks results compared with algorithmic ones did not differ in neither age nor gender group of contestants.
When we “think like a computer scientist,” we are able to systematically solve problems in different fields, create software applications that support various needs, and design artefacts that model complex systems. Abstraction is a soft skill embedded in all those endeavours, being a main cornerstone of computational thinking. Our overview of abstraction is intended to be not so much systematic as thought provoking, inviting the reader to (re)think abstraction from different – and perhaps unusual – perspectives. After presenting a range of its characterisations, we will explore abstraction from a cognitive point of view. Then we will discuss the role of abstraction in a range of computer science areas, including whether and how abstraction is taught. Although it is impossible to capture the essence of abstraction in one sentence, one section or a single paper, we hope our insights into abstraction may help computer science educators to better understand, model and even dare to teach abstraction skills.
Object-oriented programming distinguishes between instance attributes and methods and class attributes and methods, annotated by the static modifier. Novices encounter difficulty understanding the means and implications of static attributes and methods. The paper has two outcomes: (a) a detailed classification of aspects of understanding static, and (b) a collection of questions designed to serve as a learning/practice/diagnostic tool to address those aspects. Providing answers requires learners to apply higher-order cognitive skills and, hence, to advance their understanding of the essential meaning of the concept. Each question is analyzed according to three characteristics: (a) the static aspects that the question examines according to a detailed classification the paper provides; (b) identification of the question according: to Bloom’s revised taxonomy, to the Structure of Observed Learning Outcome (SOLO) taxonomy; and to the problem-solving keywords used in the question's formulation. Several recommendations for teaching are presented.
This paper proposes and validates a short and simple Expectancy-Value-Cost scale, called EVC Light. The scale measures the motivation of students in computing courses, allowing the easy and weekly application across a course. One of the factors related directly to the high rate of failure and dropout in computing courses is student motivation. However, measuring motivation is complex, there are several scales already carried out to do that job, but only a few of them consider the longitudinal follow-up of motivation throughout the courses. The EVC Light was applied to 245 undergraduate students from four universities. The Omega coefficient, scale items intercorrelation, item-total correlation, and factor analysis are used to validate and measure the reliability of the instrument. Confirmatory and exploratory factor analyses supported the structure, consistency, and validity of the EVC Light scale. Moreover, a significant relationship between motivation and student results was identified, based mainly on the Expectancy and Cost factors.
Integrating computational thinking into K-12 Education has been a widely explored topic in recent years. Particularly, effective assessment of computational thinking can support the understanding of how learners develop computational concepts and practices. Aiming to help advance research on this topic, we propose a data-driven approach to assess computational thinking concepts, based on the automatic analysis of data from learners’ computational artifacts. As a proof of concept, the approach was applied to a Massive Open Online Course (MOOC) to investigate the course’s effectiveness as well as to identify points for improvement. The data analyzed consists of over 3300 projects from the course participants, using the Scratch programming language. From that sample, we found patterns in how computational thinking manifests in projects, which can be used as evidence to guide opportunities for improving course design, as well as insights to support further research on the assessment of computational thinking.
Source code plagiarism is an emerging issue in computer science education. As a result, a number of techniques have been proposed to handle this issue. However, comparing these techniques may be challenging, since they are evaluated with their own private dataset(s). This paper contributes in providing a public dataset for comparing these techniques. Specifically, the dataset is designed for evaluation with an Information Retrieval (IR) perspective. The dataset consists of 467 source code files, covering seven introductory programming assessment tasks. Unique to this dataset, both intention to plagiarise and advanced plagiarism attacks are considered in its construction. The dataset's characteristics were observed by comparing three IR-based detection techniques, and it is clear that most IR-based techniques are less effective than a baseline technique which relies on Running-Karp-Rabin Greedy-String-Tiling, even though some of them are far more time-efficient.
In this study, effectiveness of a computer science course at the secondary school level is investigated through a holistic approach addressing the dimensions of instructional content design, development, implementation and evaluation framed according to ADDIE instructional design model where evaluation part constituted the research process for the current study. The process has initiated when the computer science curriculum had major revisions in order to provide in-service teachers with necessary support and guidance. The study is carried through as a project, which lasted more than one year and both quantitative and qualitative measures were used through a sequential explanatory method approach. The intention was to investigate the whole process in detail in order to reveal the effectiveness of the process and the products. In this regard, not only teachers' perceptions but also students' developments in their perceptions of academic achievement and computational thinking, as well as correlations between the computational thinking sub-factors were investigated. The findings showed that the instructional materials and activities developed within the scope of the study, positively affected the computational thinking and academic achievement of students aged 10 and 12 years old. The teachers' weekly feedbacks regarding application structures and implementation processes were also supported the findings and revealed some more details that will be useful both for instructional designers and teachers.
In computer science education at school, computational thinking has been an emerging topic over the last decade. Even though, computational thinking is interpreted and integrated in classrooms in different ways, an identification process about what computational thinking is about has been in progress among computer science school-teachers and computer science education researchers since Wing's initial paper on the characteristics of computational thinking. On the other hand, the constructionist learning theory by Papert, based on constructivism and Piaget, has a long tradition in computer science education for describing the students' learning process by hands-on activities. Our contribution, in this paper, is to present a new mapping tool which can be used to review classroom activities in terms of both computational thinking and constructionist learning. For the tool, we have reused existing definitions of computer science concepts and computational thinking concepts and combined these with our new constructionism matrix. The matrix's most notable feature is its scale of learners' autonomy. This scale represents the degree of choices learners have at each stage of development of their artefact. To develop the scale definitions, we trialed the mapping tool, coding twenty-one popular international computing activities for pupils aged 5 to 11 (K-5). From our trial, we have shown that we can use the mapping tool, with a moderate to high degree of reliability across coders, to analyse classroom activities with regard to computational thinking and constructionism, however, further validation is needed to establish its usefulness. Despite a small number of activities (n = 21) being analysed with our mapping tool, our preliminary results showed several interesting findings. Firstly, that learner autonomy was low for defining the problem and developing their own design. Secondly that the activity type (such as lesson plan rather than online activity) or artefact created (such as physical artefact rather than onscreen activity or unplugged activity), rather than the computational thinking or computer science concept being taught was related to learner autonomy. This provides some tentative evidence, which may seem obvious, that the learning context rather than the learning content is related to degree of constructionism of an activity and that computational thinking per se may not be related to constructionism. However, further work is needed on a larger number of activities to verify and validate this suggestion.