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.
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.
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.
Games for learning are currently used in several disciplines for motivating students and enhancing their learning experience. This new approach of technology-enhanced learning has attracted researchers' and instructors' attention in the area of programming that is one of the most cognitively demanding fields in Computer Science. Several educational, or else serious, games for learning programming have been developed and the first results of their evaluation as a means of learning are quite positive. In this paper, we propose using arcade games as a means for learning programming. Based on this approach students first play a simple game, such as Snake or Tetris, study its code and then extend it. In a pilot study carried out in the context of an undergraduate programming course, students studied the source code of the well-known game Snake and extended it with new functionalities. The analysis of students' replies in a questionnaire showed that using arcade games as a means of learning programming concepts enhances students' motivation for learning programming, supports them in comprehending complex concepts and engages them in carrying out programming activities.