CODING: a key for brain development, fun, gamification and gamecodization.













These days plenty of words are being uttered about the importance of computer programming teaching at school.





It is indeed important, but this post goes not about that, but about what choices we have as teachers to conduct it and about my conclusions on what programming languages should be used to teach coding in secondary school.





And these thoughts are mainly based on: 1st , my own experience as a Computer Scientist; 2nd , my experience as a teacher of LOGO; and, 3th , a throughout analysis of several programming languages.





That said, some good features a PL should have are:





An easy syntax , closer to the human language one (pro BASIC, con C). A loose variable declaration system (pro BASIC, con LOGO). An IDE (integrated developing environment, so you can have full control of the code, its execution and debugging). A rapid way to execute the code (avoiding compilations, assembling...). Lots of resources/libraries .





If you do a quick research on the Internet, you'll find that not many of the recommended languages fulfil those features. Python , Java , even Logo have complex syntaxes and the learning curve could be harsh, not to speak about the bad experience for students.





So, my nominees are:





Scratch : visual, doesn't need any previous programming skills, attractive, shareable, kid-oriented (#3, #4, #5). Logo : great for geometry and spacial intelligence, similar to robot controlling, but using its full potential can be difficult for the students (#1, #3, #4). Basic256 : really easy to learn language, it even has sprite control functions for game developing (#1, #2, #3, #4). Visual basic 6 : an old but still used language, the concept of “objects” can be worked, real application development, utilization of controls like windows, buttons, textboxes and so (#1, #2, #3, #4, #5).