The principles of programming language design for learning and teaching have been described and discussed for several decades. Most influential was the work of NiklausWirth, describing principles such as simplicity, modularity, orthogonality, and readability. So why is this still an area of fundamental disagreement among educators? Why can teachers still not agree on suitable languages for novice programming? Why do we not have a programming language that is designed for education and in widespread use across the world? This paper enumerates and describes educational language design principles in the context of current systems and technologies and discusses why interpretation of these principles shifts as our discipline progresses. We evaluate what these principles mean in our current world, and why a common agreement has not developed. We discuss the relative benefits of pedagogical languages vs. industry languages and articulate why every generation of learners needs their own language.
Loops concept is one of the basic programming concepts. Students have difficulties in learning loops concept. Helping learners understand loops is an important task. Visualization is one of the ways to help students improve their understanding. The aim of the study was to construct and evaluate a visualization based instruction related to loops. A mixed method study was conducted. In the experimental phase of the study, the effect of visualization based instruction on pre-service teachers’ achievement, perceived learning and programming attitude was examined. In the qualitative phase of the study, the main purpose was to get more in depth data related to experimental phase. Visualization based instruction helped pre-service teachers improve their understanding of loops concept.
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.