Computer science concepts have an important part in other subjects and thinking computationally is being recognized as an important skill for everyone, which leads to the increasing interest in developing computational thinking (CT) as early as at the comprehensive school level. Therefore, research is needed to have a common understanding of CT skills and develop a model to describe the dimensions of CT. Through a systematic literature review, using the EBSCO Discovery Service and the ACM Digital Library search, this paper presents an overview of the dimensions of CT defined in scientific papers. A model for developing CT skills in three stages is proposed: i) defining the problem, ii) solving the problem, and iii) analyzing the solution. Those three stages consist of ten CT skills: problem formulation, abstraction, problem reformulation, decomposition, data collection and analysis, algorithmic design, parallelization and iteration, automation, generalization, and evaluation.
Context: concept Maps (CMs) enable the creation of a schematic representation of a domain knowledge. For this reason, CMs have been applied in different research areas, including Computer Science. Objective: the objective of this paper is to present the results of a systematic mapping study conducted to collect and evaluate existing research on CMs initiatives in Computer Science. Method: the mapping study was performed by searching five electronic databases. We also performed backward snowballing and manual search to find publications of researchers and research groups that accomplished these studies. Results: from the mapping study, we identified 108 studies addressing CMs initiatives in different subareas of Computer Science that were reviewed to extract relevant information to answer a set of research questions. The mapping shows an increasing interest in the topic in recent years and it has been extensively investigated due to support in teaching and learning. Conclusions: based on our results we conclude that the use of CMs as an educational tool has been widely accepted in Computer Science.
Research on the effectiveness of introductory programming environments often relies on post-test measures and attitudinal surveys to support its claims; but such instruments lack the ability to identify any explanatory mechanisms that can account for the results. This paper reports on a study designed to address this issue. Using Noss and Hoyles' constructs of webbing and situated abstractions, we analyze programming novices playing a program-to-play constructionist video game to identify how features of introductory programming languages, the environments in which they are situated, and the challenges learners work to accomplish, collectively affect novices' emerging understanding of programming concepts. Our analysis shows that novices develop the ability to use programming concepts by building on the suite of resources provided as they interact with the computational context of the learning environment. In taking this approach, we contribute to computer science education design literature by advancing our understanding of the relationship between rich, complex introductory programming environments and the learning experiences they promote.
We present an overview of the nature of academic dishonesty with respect to computer science coursework. We discuss the efficacy of various policies for collaboration with regard to student education, and we consider a number of strategies for mitigating dishonest behaviour on computer science coursework by addressing some common causes. Computer science coursework is somewhat unique, in that there often exist ideal solutions for problems, and work may be shared and copied with very little effort. We discuss the idiosyncratic nature of how collaboration, collusion and plagiarism are defined and perceived by students, instructors and administration. After considering some of the common reasons for dishonest behaviour among students, we look at some methods that have been suggested for mitigating them. Finally, we propose several ideas for improving computer science courses in this context. We suggest emphasizing the intended learning outcomes of each assignment, providing tutorial sessions to facilitate acceptable collaboration, delivering quizzes related to assignment content after each assignment is submitted, and clarifying the boundary between collaboration and collusion in the context of each course. While this discussion is directed at the computer science community, much may apply to other disciplines as well, particularly those with a similar nature such as engineering, other sciences, or mathematics.
The International Olympiad in Informatics (IOI) aspires to be a science olympiad alongside such international olympiads in mathematics, physics, chemistry, and biology. Informatics as a discipline is well suited to a scientific approach and it offers numerous possibilities for competitions with a high scientific standing. We argue that, in its current form, the IOI fails to be scientific in the way it evaluates the work of the contestants.
In this paper, we describe the major ingredients of the IOI to guide further discussions. By presenting the results of an extensive analysis of two IOI competition tasks, we hope to create an awareness of the urgency to address the shortcomings. We offer some suggestions to raise the scientific quality of the IOI.