Learning to program
A PARENT ’S GUIDE TO PROGRAMMING
Mike Bedford investigates which languages to consider if you want to help your children get a head-start in coding.
L
et’s start with a history lesson. The first high-level languages – which made their debut in the 1950s and included the likes of FORTRAN, ALGOL and COBOL – were designed as down-to earth tools with little thought given to education. This changed in 1964 with the introduction of BASIC. The language’s acronym hints at its nature, and its full name, Beginners All-Purpose Symbolic Instruction Code further emphasises its educational credentials.
Indeed, BASIC was designed for use by students who had little appreciation of computers. It outlived many other languages of that era, having been adopted for use in the home computers of the late 70s and the 80s and, in so doing, helped another generation learn to code.
While BASIC remained largely unchallenged for several decades, if you want to help your children learn to code today then it’s not nearly as easy to choose a language. For a start, there are now several other languages that were designed exclusively, or almost so, for education. Furthermore, any discussion of beginners’ languages invariably brings up various languages which, although not originally intended for such, are considered to have a role in education.
We’re here to help parents to navigate their way through the language jungle to come to a view about which would be the best for their children to learn. First, we’ll introduce several languages that are normally considered as educational.
For each, we’ll provide an introduction, describing the main features, cover the language’s pros and cons giving, and give some thought to the age range for which it’s appropriate.
We’ll then move on to some of the general-purpose languages that are commonly used in an education setting. Here we’ll cover much the same ground, but with less introductory material because these languages will be much better understood than the specifically educational offerings. Throughout this article we consulted with Carrie Anne Philbin MBE, director of educator support at the Raspberry Pi Foundation, who also leads on the teach computing curriculum for the UK government-funded National Centre for Computing Education. Carrie Anne provided some useful insight into the various languages we consider here. Her opening remark is worthy of our attention. “I guess the most important information I can impart is that in education – both formal and nonformal – we do not start with a programming language”, she explained. “We always start with concepts, usually offline, before using tools that help learners make the concept more concrete in their minds.”