This paper presents the first experiences of the use of an online open-source repository with programming exercises. The repository is independent of any specific teaching approach. Students can search for and select an exercise that trains the programming concepts that they want to train and that only uses the programming concepts they already know. Then, they can submit their solutions and get automatic feedback from the system. We analyzed quantitatively how students used the system by inspecting the logged actions of the students using the system. We also did a qualitative analysis by interviews, to find out how the students appreciated the use of the repository and to get feedback for improvements. We focused on how students select exercises as finding the exercise that fulfills the training needs of a student is the innovative part of our repository.
Programming students need to be informed about plagiarism and collusion. Hence, we developed an assessment submission system to remind students about the matter. Each submission will be compared to others and any similarities that do not seem a result of coincidence will be reported along with their possible reasons. The system also employs gamification to promote early and unique submissions. Nevertheless, the system might put unnecessary pressure as coincidental similarities can still be reported. Further, it does not specifically cover self-plagiarism. We revisit the system and shift our focus to report simulated similarities from student own submission instead of reporting actual similarities across submissions. According to our evaluation with 390 students and five quasi-experiments, students with simulated similarities are slightly more aware of plagiarism and collusion, self-plagiarism in particular. Their awareness of the matter is somewhat acceptable (around 75%) and they see the benefits of our assessment submission system.
Massive Open Online Courses (MOOCs) have become hugely popular recently. MOOCs can offer high-quality education for anyone interested and equalize the whole education field. Still, there are different methodologies for running MOOCs. Coming up with the most suitable methodology benefits both students and teachers. In this study, we have limited the methodological focus to observing scheduled and unscheduled instances of similar MOOC courses. While unscheduled MOOC courses can provide flexibility, they also require self-regulated learning strategies for students to succeed. To observe this, we compare the effectiveness of scheduled and unscheduled programming MOOC courses to find the most effective methodology. For this, we compare the pass rates and grade averages of five instances (two unscheduled and three scheduled) of Python and Java programming MOOCs. The results show that while the attendance numbers are higher in the unscheduled versions, in the scheduled instances the pass rate is significantly better, and students’ progression is much swifter. It also seems that the higher proportion of university students enrolled in a MOOC course positively affects the retention rate. Moreover, the students in the recent unscheduled Python version seem to score significantly higher grades than in its scheduled counterpart. Based on our experiments, the scheduled and unscheduled versions complement each other. Hence, we suggest that, whenever feasible, the maximal benefits would be gained if both types of MOOCs are run simultaneously.
The article describes a study carried out on pupils aged 12-13 with no prior programming experience. The study examined how they learn to use loops with a fixed number of repetitions. Pupils were given a set of programming tasks to solve, without any preparatory or accompanying instruction or explanation, in a block-based visual programming environment. Pupils’ programs were analyzed to identify possible misconceptions and factors influencing them. Four misconceptions involving comprehension of the loop concept and repeat command were detected. Some of these misconceptions were found to have an impact on a pupil’s need to ask the computer to check the correctness of his/her program. Some of the changes made to tasks had an impact on the frequency of these misconceptions and could be the factors influencing them. Teachers and course book writers will be able to use the results of our research to create an appropriate curriculum. This will enable pupils to acquire and subsequently deal with misconceptions that could prevent the correct understanding of created concepts.
This study aims to explore how gamification elements influence the development of the Community of Inquiry (CoI) in an online project-based programming course conducted on Facebook. We formed student groups by using a quasi-experimental design from students studying in the computer science department. While both courses were project-based, the experimental group's project development process was enriched with gamification elements. We collected data from the CoI survey, transcript analysis of online discussions, and interviews with students. The results indicated that the use of gamification elements contributed significantly to students' social, cognitive, and teaching presence development. Besides, while a high level of CoI perception was created in both groups in the online project-based learning environment, the design and organization role of the instructor came to the fore in the gamified environment more.
The new Croatian Informatics curriculum, which introduces computational thinking concepts into learning outcomes has been put into practice. A computational thinking assessment model reflecting the learning outcomes of the Croatian curriculum was created using an evidence-centered design approach. The possibility of assessing the computational thinking concepts, abstraction, decomposition, and algorithmic thinking, in an actual classroom situation and examples of such assessment is increasingly coming to the forefront of computer science educational research. Precisely for that purpose, the research was conducted. Research data are collected through the test and questionnaire of 407 pupils (10 middle schools, age 12), analysed by exploratory factor analysis and non-parametric tests. Results showed that the presented model was suitable to assess the understanding of the concepts of abstraction and algorithmic thinking, independently of the previous experience with programming languages and pupil's gender, while assessment of decomposition needs more work and improvement, some recommendations are provided. Also, it received positive feedback from pupils and teachers what implicated that such an assessment model could help teachers in building a real-time measurement instrument.
Due to technological advancements, robotics is findings its way into the classroom. However, workload for teachers is high, and teachers sometimes lack the knowledge to implement robotics education. A key factor of robotics education is peer learning, and having students (near-)peers teach them robotics could diminish workload. Therefore, this study implemented near-peer teaching in robotics education. 4 K10-11 secondary school students were teachers to 83 K5-6 primary school students. The intervention included 4 3-hour robotics lessons in Dutch schools. Primary school students completed a pre- and post-intervention questionnaire on their STEM-attitudes and near-peer teaching experience, and a report on their learning outcomes. Interaction with near-peer teachers was observed. After the lessons, a paired-samples t-test showed that students had a more positive attitude towards engineering and technology. Students also reported a positive near-peer teaching experience. Conventional content analysis showed that students experienced a gain in programming and robotics skill after the lessons, and increased conceptual understanding of robotics. The role the near peer teachers most frequently fulfilled was formative assessor. Near-peer teachers could successfully fulfil a role as an engaging information provider. This study shows that near-peer teachers can effectively teach robotics, diminishing workload for teachers. Furthermore, near-peer robotics lessons could lead to increased STEM-attitudes.
Creativity has emerged as an important 21st-century competency. Although it is traditionally associated with arts and literature, it can also be developed as part of computing education. Therefore, this article -presents a systematic mapping of approaches for assessing creativity based on the analysis of computer programs created by the students. As result, only ten approaches reported in eleven articles have been encountered. These reveal the absence of a commonly accepted definition of product creativity customized to computer education, confirming only originality as one of the well-established characteristics. Several approaches seem to lack clearly defined criteria for effective, efficient and useful creativity assessment. Diverse techniques are used including rubrics, mathematical models and machine learning, supporting manual and automated approaches. Few performed a comprehensive evaluation of the proposed approach regarding their reliability and validity. These results can help instructors to choose and adopt assessment approaches and guide researchers by pointing out shortcomings.
Programming is one of the most important aspects of a Computing course. Teaching programming is a challenging task due to a number of factors, ranging from lack of student problem solving skills to different teaching methods. This paper focuses on Maltese Computing teachers’ perspectives about the difficulties encountered when teaching programming to secondary school students in order to determine whether introducing programming to secondary school students through creating mobile-based games is an effective method to teach programming constructs. A resource pack consisting of various activities using MIT App Inventor 2 was created which incorporated constructivist approaches to teaching. This resource pack was reviewed by the teachers and their feedback was collected by means of a case study. The teachers agreed that developing mobile-based games would be highly stimulating to their students but there were uncertainties how this would affect students with different learning abilities and due to a general lack of computational thinking and problem-solving skills by most students.
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.