In education, we have noticed a significant gap between the ability of students to program in an educational visual programming environment and the ability to write code in a professional programming environment. The aim of our research was to verify the methodology of transition from visual programming of mobile applications in MIT App Inventor 2 to textual programming in the Android Studio using the Java Bridge tool as a mediator of knowledge transfer. We have examined the extent, to which students will be able to independently program own mobile applications after completing the transition from visual to textual programming using the mediator. To evaluate the performance of students, we have analysed qualitative data from teaching during 1 school year and determined the degree of achievement of educational goals according to Bloom’s taxonomy. The results suggest that students in the secondary education can acquire advanced skills in programming mobile applications in a professional programming environment, when they have knowledge of visual programming in an educational programming environment, and a suitable mediator is used to transfer such knowledge into a new context.
In programming problem solving activities, sometimes, students need feedback to progress in the course, being positively affected by the received feedback. This paper presents an overview of the state of the art and practice of the feedback approaches on introductory programming. To this end, we have carried out a systematic literature mapping to understand and discuss the main approaches for providing and evaluating feedback used in the learning of novice programmers in the problem solving activity. Thus, according to a formal protocol, an automatic search was performed for papers from 2016 to 2021. As a result, 39 studies were selected for the final analysis. As a result, we propose three different categorizations: the main approaches to providing feedback, the main methods used in the evaluation and the main aspects and effects of the evaluated feedback.
Problem solving skills are considered an important component in learning to program in an introductory programming (IP) course for novices. This study introduced a PROSOLVE game to enhance problem solving skills of novice programmers in the introductory programming course. The game is based on pseudo-code technique. A survey was employed to collect students' feedback and semi-structured interviews were organized to collect instructors' opinion about the game. The results show that the game helped most of the students in understanding the programming concepts, structures and problem solving strategies. Moreover, the game supports students' cognitive engagement, gains, and affective engagement in the IP course. Instructors appreciated the game and considered it as an additional supporting teaching tool in the IP course. Moreover, they considered the game as good alternative of traditional pen and paper learning approach in attracting students' interest in the programming domain.
Authors of this paper carried out a broader international research aimed at assessing the computer science education at upper secondary level of education - ISCED 3A. The assessed school subjects were informatics and programming as the most common school subjects taught at secondary schools within computer sciences. The assessment was based on the students' evaluations, their points of view and opinions, what was a specific feature of the research. The paper presents main findings and results for the school subject programming obtained in Slovakia (SK) and the Czech Republic (CZ). As a weakness of teaching programming in both countries inadequate quality of textbooks or a lack of appropriate textbooks in general was identified. As strength of the programming teaching in the Czech Republic attractiveness of the content of the school subject programming (its curriculum) was identified and in Slovakia it was the clearness of teachers' presentations of teaching material.
The paper analyses the problems in selecting and integrating tools for delivering basic programming knowledge at the university level. Discussion and analysis of teaching the programming disciplines, the main principles of study programme design, requirements for teaching tools, methods and corresponding languages is presented, based on literature overview and author`s experience. A pressure from labor market, students and other sources to emphasize practical skills over deeper, long-term programming concepts is described. A model of teaching introductory programming disciplines at a higher logical level, using C#, is presented as a summary of the accomplished analysis, and also taking into account the recommendations of the ACM (Association for Computing Machinery) association for typical teaching programs. Also, design principles for building introductory programming courses, aligned with such teaching approach, are presented. This model has already been trialed at Vytautas Magnus University.