CURRENT TRENDS IN TEACHING OF INTRODUCTORY PROGRAMMING: A LITERATURE REVIEW AND RESEARCH DIRECTIONS
Constantine the Philosopher University in Nitra (SLOVAKIA)
About this paper:
Conference name: 10th annual International Conference of Education, Research and Innovation
Dates: 16-18 November, 2017
Location: Seville, Spain
Abstract:
The article is aimed at providing an overview of current trends and innovations in teaching of introductory programming. It is focused mainly on teaching programming as an inseparable part of Informatics subject with secondary school students (15 - 19 years old) as a target group. Teaching of informatics and programming has an important role in the education to develop students' skills which are important for success in the 21st century, such as problem solving skills, computational thinking, or critical thinking. Therefore, learning fundamentals of informatics and programming is important not only for future programmers but for every person. Our aim is to increase the attractiveness of programming and also to increase students’ motivation to learn programming. The hypothesis is presented that one of the ways to realize modern and attractive teaching of programming is to use mobile devices in the teaching and to develop mobile applications for these devices. The article attempts to verify the hypothesis. Analysis of 37 articles about trends and innovations in teaching of programming is done too. The articles are collected from indexed scientific databases, i.e. Science Direct, SCOPUS, Web of Knowledge, Wiley Online Library, Knovel Library and ProQuest Central. Approximately 30% of examined scientific articles mention that programming is hard to learn. For this reason, the article is focused on the importance and challenges of teaching informatics and the used approaches in teaching programming. Approaches based on ‘learning by doing’ concept and constructivism are most often used, such as designing and developing games, teamwork, problem solving based approach, project based approach and inquiry-based learning. The programming environment and the programming language also play an important role in teaching of programming. They can be divided into textual (e.g. Python, Visual Basic, Pascal, Delphi) and visual (e.g. Scratch, Alice, MIT App Inventor). The visual programming environments are most frequently mentioned as programming environments for beginners. The article also provides an overview on the programming paradigms used in introductory programming. Object-oriented programming, event-driven programming and procedural programming are frequently used programming paradigms. A link between teaching and object of interest may have positive influence on students’ engagement. For this purpose, various programming environments have been developed to program mobile applications. On the basis of examined source studies, recommended features of programming environment suitable for teaching of introductory programming are presented in the article. Such programming environment might be helpful in developing an appropriate solution for the problem, simple in coding (simple syntax, “low floor and high ceiling”) and also in problem identification (calculation visualization, simple error messages). All the findings are used to design own solution of educational software, a visual programming environment based on Blockly library. The programming environment will be used to program mobile applications focused on geolocation-based games and the use of mobile device sensors.Keywords:
Teaching of programming, trends and innovations, visual programming, mobile applications, Blockly.