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.
Students' performances in introductory programming courses show large variation across students. There may be many reasons for these variations, such as methods of teaching, teacher competence in the subject, students' coding backgrounds and abilities, students' self-discipline, the teaching environment, and the resources available to students, all of which can affect student performance and outcomes. Our observations in teaching programming courses (at Al-Imam Muhammad Ibn Saud Islamic University in Riyadh) are that many students (up to 50% per course) drop out. There is a strong belief by many instructors that such a high dropout rate is due, at least in part, to students underestimating the effort needed to finish this course and not following instructions as recommended. This paper reviews the factors that affect student performance in an introductory programming course (CS1) and aims to discover correlations between various assessment methods, students' participation and their final performance measured. It analyses mark distributions across various assessment methods to identify which assessment method best predicts final exam marks and overall marks, and gives recommendations for assessment in introductory programming courses.
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.