Touchdevelop As the Tool for Novice Programmers
Total Page:16
File Type:pdf, Size:1020Kb
AASCIT Journal of Education 2017; 3(6): 54-60 http://www.aascit.org/journal/education ISSN: 2381-1293 (Print); ISSN: 2381-1307 (Online) Touchdevelop as the Tool for Novice Programmers Viktória Heizlerné Bakonyi Media & Educational Informatics Department, Eötvös Loránd University, Budapest, Hungary Email address [email protected] Citation Viktória Heizlerné Bakonyi. Touchdevelop as the Tool for Novice Programmers. AASCIT Journal of Education. Vol. 3, No. 6, 2017, pp. 54-60. Abstract Keywords Nowadays it is obvious that computational thinking must be part of general education due Computational Thinking, to our technical, computer oriented world. The task of schools are very important to give a Education, proper and adequate knowledge about informatics knowing that we have a very small First Programming Language, amount of teaching time for this enormous work. One of the most important questions is Touch Develop what kind of programming language should be the best to help understanding algorithms and modelling. There are lots of viewpoints that have to be taken to notice. The paper is going to analyse different possibilities and review their advantages and disadvantages. Although there are excellent and long standing programming tools, it is always interesting Received: April 29, 2017 to go through the newly appearing platforms, languages, teaching methods. Touch Develop Accepted: September 12, 2017 is one of these worthy of note possibilities which everyone has to evaluate in their practice. Published: November 13, 2017 1. Introduction In the last decades daily life changed very quickly due to the modern technology, since we are always surrounded by different kinds of computers, smart phones, smart TV-s, smart cars, smart homes that help us in almost everything. It is almost impossible to be able to take part in the life of a modern society without informatics knowledge. The youth was born into this new world (they are the so called digital natives), but usually the usage of technology and their working mechanism is not so evident for their parents and grandparents. Therefore the role of schools and education should be much more highly evaluated than in the case of other subjects. There are several solutions how education system could achieve this aim of giving an adequate informatics knowledge. In Hungary there are special informatics courses in different levels of public education, in other countries they integrate the knowledge into other subjects like mathematics etc. The next important question from our viewpoint is the content of the curricula. There are three main areas: a. application usage, as without it no one would join the e-world, computer science [1], b. computational thinking which helps us to understand the operation of computers and c. information technology. For a long time application usage was brought to the fore however now it is obvious that we should strengthen the other two fields as well. [2] In fact, there are very strict time-frames for informatics, therefore educators have to plan each step in advance, what to teach, which tools and which methods to achieve the best results with. 2. The Question of Choosing the FPL (First Programming Language) We state that the real aim is not to simply teach a programming language but to gain a 55 Viktória Heizlerné Bakonyi: Touchdevelop as the Tool for Novice Programmers tool to get to know the bases of informatics. Of course, the group and analyse the advantages and disadvantages of them. question of a good choice depends on lots of conditions. Some of them are: a. Motivation 3. The Type of First Programming 1 The topics (drawing, animation, robotics, simulation, Languages mobile platform etc.) 2 The easiness of first steps (syntax rules, the First we have to review what the main trends are nowadays. complexity of first programs, adequate editor) We can speak about three radically different possibilities [20]: b. Proceedings a. Picture/Image programming (e.g. Logo Imagine [12], 1 The features of general programming languages (data RoboMind [11]) structures, event-driven programming, modularity etc.) b. Block/Bubble/Visual programming (e.g. Scratch [12], 2 OOP possibilities (standard classes, inheritance, TurtleArt, MindStorm) levels of data access etc.) c. Regular programming languages (Pascal [14], Basic c. Support [27], JavaScript [10], C# [13], Python [28], Java [26], 1 Stability (several years old having a big online C++[25] etc.) community) The classification of them are decided by the mode how 2 Tutorials, books the user have to implement a program. In this paper we will 3 Forums, social network etc. give examples regarding to the popular languages. d. Teaching methods If we are speaking about text commanded Picture 1 Teacher (chalk, talk, demonstrate) programming (typically Logo) it is true that we have to 2 Learner (activity based, personalized, collaborative, remember some commands but they are executed expeditionary etc) based methods immediately and give visual feedbacks about the result just in First of all it is very important to lay down that the age and time. Seymour Papert (MIT= Massachusetts Institute of motivation of the actual students should be respected highly. Technology) implemented Logo just for children based on Students who prefer human sciences or those who like Piaget states about children thinking and problem solving. mathematics or natural sciences might be interested in Children have to control a small drawing robot. different programming environments. It is the responsibility of In case of a visual programming language like Scratch you the given teacher and school to make a decision knowing the have to concentrate only on the algorithm because you may given circumstances. (Of course, by choosing tasks the drag the required block-statement into the program and that educator may fine-tune this process.) At the end of the is all. Scratch was created at MIT also for the same purpose: secondary school 16-18 year old students’ abstraction ability is to teach programming to children. Nowadays Scratch is very quite different from that of a 6-8 year old child’s. Therefore the popular among them and their teachers. aim and the tool also differs – older students are preparing for In case of standard languages we need further graduation or to learn further in vocational training so it is classifications, as they may differ from each other greatly. more important for them to deal with languages which are Some of them are strongly typed languages, while some are well-known in university trainings and later in industry. [3] not. Some of them use classes for everything while some of But now we are talking about the first programming them hardly implement classes. Some of them are popular in language and we state that in the age of 8-10 each child is industry while some of them are mainly used by amateurs. already able to think logically according to Piaget Three features decide the popularity of a standard classifications (Stages of Cognitive Development programming language in education: the easy, consequence http://www.learningandteaching.info/learning/piaget.htm ). and understandable syntax, the programming platforms it can Therefore the introduction to computer science may be be used for and its industrial importance. Figure 1 and Figure 2. started. Our aim is to sketch the alternatives for this age- Figure 1. TIOBE rating 2012 [23]. AASCIT Journal of Education 2017; 3(6): 54-60 56 draw, a robot controlling which is very popular among children but it is not so easy with a standard programming language. These standard programming languages are mainly used later in secondary schools. Moreover children above 14 are not so engaged in drawing or story telling than before so the strength of motivation of these languages decrease. “…but for older adolescents and college students, I would strongly suggest teaching them using a language that's actually in widespread use in the real world. Psychologically, it's reassuring for students to know that they are learning something that's actually used by professionals in the Figure 2. Applicability of programming languages. [23]. working world rather than something that was invented by researchers just for pedagogy.” [17] Elder students may Pascal was used in almost everywhere in public education enjoy e.g. JavaScript with which they are able to create own for decades [22 3.3] and it is used frequently nowadays too web-pages. [10], or C# with which they are able to create because it was created as a teaching language for mobile applications as well [13] programming. Basic (Beginners All-purpose Symbolic Real world, working with sensors – information Instruction Code) was also popular for years due to the fact technology. Today almost every child plays on computers, that it was the base language of first personal computers and smart phones, tablets and have robots, speaking dolls, and users may create sprites, animations and music with simple controlled game-cars. These applications, devices are all able built in programming elements as well. C++ and later Java to handle events, to handle sensors. Children obviously like were in the focus of FPLs for decades because of their to create applications for these platforms. industrial importance, although C++ is not a really good Basic Scratch and Imagine handles the events like reaching choice because of its complexity. [17, 22] In the last decade the border or collision or clicking with the mouse. Moreover C# is also in the top 10, the reason of it is that it is easier than Scratch has got a module to use external sensors as well. C++ and in the same time it has an industrial role as well. Scratch Junior has got a special feature it is running on Nowadays for an introductory course in higher education mobile devices as well! Imagine Logo projects may run in Python is suggested mainly by the literature.