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.
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.
C++ is the most commonly used language in introductory and intermediate programming courses in Bulgarian universities. In recent years this language has developed greatly. Its abstractions are more flexible and affordable than ever before. Such great number of changes are related to the launch of the new standard (known as C++11) that we have grounds to consider it even a new language. It is inevitable to reflect all these changes in training courses and this prompted us to consider not only some updating of academic curricula but also a comprehensive reorganization of our programming courses. So, in this article we share our successes and difficulties in this direction.
This paper discusses some difficulties in teaching introductory courses to programming, paying particular attention to their mathematical nature. We consider some aspects, which have not been commented in detail in textbooks and often neglected by course outlines and schedules. Some of these are constructing complex conditions, exceeding array bound, calculating infinite series in conjunction with recursion, etc. We believe that those topics and accompanying notes along with appropriate teaching methodology could be and should be incorporated into introductory programming courses.
In this article we report about a study to assess Dutch teachers' Pedagogical Content Knowledge (\small PCK), with special focus on programming as a topic in secondary school Informatics education. For this research, we developed an online research instrument: the Online Teacher \small PCK Analyser (OTPA). The results show that Dutch teachers' \small PCK scores between low and medium. Also we enquired whether there is any relation between teachers' \small PCK and the textbooks they use by comparing the results of this study with those of a previous one in which the \small PCK of textbooks was assessed. The results show that there is no strong relation. Finally, we looked for trends between teachers' \small PCK and their educational backgrounds, as most of the Dutch teachers have a different background than Informatics. The results show that also in this case there is no strong relation.
The goal of this literature study is to give some preliminary answers to the questions that aim to uncover the Pedagogical Content Knowledge (PCK) of Informatics Education, with focus on Programming. PCK has been defined as the knowledge that allows teachers to transform their knowledge of the subject into something accessible for their students. The core questions to uncover this knowledge are: what are the reasons to teach programming; what are the concepts we need to teach programming; what are the most common difficulties/misconceptions students encounter while learning to program; and how to teach this topic. Some of the answers found are, respectively: enhancing students' problem solving skills; programming knowledge and programming strategies; general problems of orientation; and possible ideal chains for learning computer programming. Because answers to the four questions are in a way not connected with each other, PCK being an unexplored field in Informatics Education, we need research based efforts to study this field.
Program visualization (PV) is potentially a useful method for teaching programming basics to novice programmers. However, there are very few studies on the effects of PV. We have developed a PV tool called ViLLE at the University of Turku. In this paper, multiple studies on the effects of the tool are presented. In addition, new qualitative data about students' feedback of using the tool is presented. Both, the results of our studies and the feedback indicate that ViLLE can be used effectively in teaching basic programming concepts to novice programmers.