Saturday, June 14, 2014

Programming languages for secondary school

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:

  1. An easy syntax, closer to the human language one (pro BASIC, con C).
  2. A loose variable declaration system (pro BASIC, con LOGO).
  3. An IDE (integrated developing environment, so you can have full control of the code, its execution and debugging).
  4. A rapid way to execute the code (avoiding compilations, assembling...).
  5. 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:

  1. Scratch: visual, doesn't need any previous programming skills, attractive, shareable, kid-oriented (#3, #4, #5).
  2. 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).
  3. Basic256: really easy to learn language, it even has sprite control functions for game developing (#1, #2, #3, #4).
  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).

Now, the next stage should be to decide what concepts should be taught to your students. More on that in the next post.

Note: some interesting books to have a look on.

  1. So you want to learn to program? Basic 256: this is the official book, so nothing is left out.
  2. Help your kids with Computer Coding. Scratch: very visual and easy to follow; the book’s format is absolutely attractive. A-must!
  3. Logo programming language: I wrote this book, so feel free to use it for your lessons, but take in count it’s written in Basque.