In the 1980s the huge popularity of the Sinclair ZX range of computers and other home computer products created a whole generation of “coders” – computer programmers in the UK. Very soon Britain was a world leader in the field of programming and to some extent the effects have continued to be felt to the present day, as that particular generation matured and moved up the computing careers ladder. But that was the 1980s. In the intervening decades the easily programmable home computers of those days gradually gave way to more and more powerful computers, as the IBM PC and its derivatives became the norm, as well as the Apple Mac range and, more recently, the iPad, iPhone and similar products – computers for which what they are able to do has become more important to their owners than how to make them do it. And so fewer and fewer young people in the intervening years have learned programming, or “coding” as it became known, and the UK is no longer a world leader in this vitally important skill. Having been the world leader 30 years ago, we are now just one nation in this field, lagging behind many others. Yet coding is more important than ever, because just about every electronic product, and every service that uses automation in any way, has some type of computer software (a.k.a. “code”) to make it run.
Eventually becoming conscious of this decline in the UK’s coding skills, the government began to realise that something needed to be done to rectify this sad situation. As an article in the Guardian explains (by Stuart Dredge, September 4th 2014):
“Getting more kids to code has been a cause of concern for the technology industry for some time. Teaching programming skills to children is seen as a long-term solution to the ‘skills gap’ between the number of technology jobs and the people qualified to fill them. . . The shakeup of computer studies in schools has been trailed for a while, after criticism from ministers and technology companies of the existing ICT curriculum.”
And so the recognition of the importance of teaching coding is on the rise, supported by coding classes in many schools, coding clubs, and coding camps for the school holidays, amongst other initiatives.
The latest scheme to encourage and teach coding is called “Every Child Can Code”. It is free of charge and is being launched on this web site (www.EveryChildCanCode.org) for the start of the new school year. The scheme is sponsored by Retro Computers Ltd, a company founded by Sir Clive Sinclair of ZX Spectrum fame. The Spectrum was Sir Clive’s best selling computer product, exceeding 5 million sales in the 1980s. This new venture by Sir Clive and his team has recently launched a retro version of the Spectrum, called the ZX Vega, which comes with 1,000 games built in.
The idea behind “Every Child Can Code” is to make it not only possible but also easy and fun, for any child who can read and write to learn to code in BASIC, a highly popular programming language designed in the USA in the mid-1960’s. The design philosophy of BASIC was that it had to be easy to use (BASIC is an acronym for Beginners All-purpose Symbolic Instruction Code). During the mid-1970’s and 1980’s different versions of BASIC became popular for programming various microcomputers, to the point that many manufacturers would provide BASIC with every computer they shipped. As Wikipedia points out, “Having an easy-to-learn language on these early personal computers allowed small business owners, professionals, hobbyists, and consultants to develop custom software on computers they could afford.”
Since the 1980’s BASIC has remained a popular programming language, spawning many dialects and new languages whose design was influenced by BASIC, for example Microsoft’s Visual Basic. While many other coding languages have since appeared on the scene, each with its own advantages and its own peculiarities, BASIC has remained a leader in the world of educational programming languages. To quote Wikipedia:
“It became popular on mini computers during the 1960’s, and became the standard computing language for microcomputers during the late 1970’s and early 1980’s. The goals of BASIC were focused on the needs of learning to program easily: be easy for beginners to use, be interactive, provide clear and friendly error messages, respond quickly, do not require an understanding of computer hardware or operating systems. What made BASIC particularly useful for education was the small size of programs. Useful programs to illustrate a concept could be written in a dozen lines. At the same time BASIC did not require mathematical or computer science sophistication. BASIC continues to this day to be a language which is frequently self-taught with excellent tutorials and implementations.”
The “Every Child Can Code” scheme teaches a dialect known as Sinclair BASIC, so-called because it was originally developed to run on Sir Clive Sinclair’s range of ZX computers, especially the Spectrum. The scheme is designed to help teachers and parents to learn how to teach coding, to make it easy for children to teach themselves, and to empower children to create their own programs, written in Sinclair BASIC, and to run them on their parents or schools PC or any computer running current versions of Windows. Children are encouraged to learn coding by enabling them to design their own games, which is fun to do and which creates programs that are fun to play. Our web site provides a wealth of teaching material, as well as all the software tools necessary to learn coding quickly and to run the programs that the child develops during the learning process. All this is free of charge.
The Every Child Can Code scheme enables every child to learn to code at their own pace, according to their own abilities and their own level of enthusiasm. Partly because school curricula often change, the scheme is not constrained by any particular curriculum or by the age or school year of the child. Some children take to coding from an early age like a duck to water, and are able to make rapid progress with little or no help from their teachers or parents. Other children start coding at a later stage of their schooling, are slower learners, and need help from adults in order to make progress, but even they will be able to code their own simple programs once they have completed the very first lesson in the “Learn BASIC Fast!” course.
A key component of the scheme is a unique child-friendly software coding teacher called BASin, which monitors the child as they code their programs, it warns the child when they have made a coding error, and it assists the child in understanding what they have done wrong in their coding and how to put things right.
Our company’s motivation in launching “Every Child Can Code” is closely linked to our desire to reverse the decline in the UK’s coding skills referred to above. Sir Clive’s range of home computers created a whole generation of talented coders back in the 1980’s, and made the UK the world leader in this field. But later this effect dissipated and now we are an also-ran country in the field of software development. What we hope to achieve with Every Child Can Code is to make the UK one of the world leaders once again, to create a whole new generation of talented coders, and to sustain that effort in the years and decades to come. Our scheme does not have to be based on any particular computer or computing system. Eventually we plan to port it to other operating systems such as iOS, for Apple computers, the iPad and iPhone, etc., and to Android-based systems. The key is to teach children quickly and in a way that they enjoy. If they are having fun while they are learning to code, the learning process becomes a real pleasure rather than a chore. With our scheme they learn to create their own games programs. What could be more fun than that?
The core of the system is an online course that teaches BASIC in a series of 10 easy lessons. But the teaching is structured in such a way as to allow a child to write and run their first program during the very first lesson. Each lesson introduces five BASIC commands and explains what each one is for and how to use it in a program. There are example programs, replete with clearly written comments, to show the child exactly what each line of code achieves.
The free software tools provided as part of the scheme include an “emulator” called BASin which has been developed by Paul Dunn, one of the countries leading experts on Sinclair BASIC. This part of the schemes software emulates a Sinclair Spectrum computer, displaying on the PC screen an image just like that of a Spectrum, so when a child has developed some code they can see how it would look when run on a Spectrum computer. BASin comes with its own development environment, which includes a helpful and easy-to-understand debugging aid, known as a “trace debugger”, which warns the child about mistakes made in the coding, explains why they are mistakes, and enables the child to see their code operating, step by step, which is of great help in understanding what a piece of code actually does inside the computer.
Another part of the schemes software is a simple-to-use version of the “Arcade Game Designer” utility (AGD) developed by Jonathan Cauldwell, another leading expert in the UK’s still active Sinclair Spectrum community. AGD is capable of creating some excellent games with a small amount of effort. And just like BASin, it has been made suitable for young children by incorporating powerful diagnostic software tools to warn the child when they have made a mistake, and to explain why it is a mistake.
The learning process is promoted by the on-screen lessons, which can also be found in our collection of free books that can be downloaded as PDF files from the www.EveryChildCanCode.org web site. For those who prefer their teaching material in printed book form, each of these volumes will also be available for purchase as a printed bound book. There are three volumes in the series: “BASIC Coding or Beginners”, “BASIC coding for Animation and Games”, and “BASIC Coding for the More Advanced Pupil”. These texts will be edited so as to be child-friendly.
Yet another strand in the “Every Child Can Code” initiative is the ZX Vega British Schools Coding Championships, which we are launching for the start of the new school year. This competitive event is designed to stimulate interest in coding amongst the current generation of schoolchildren. We plan to make these championships an annual event, and we aim, eventually, to have the majority of UK schools taking part. We are confident that the event will be relatively easy to manage, with the inaugural Grand Finals taking place in the summer term of 2016.
The championships will cater for all schoolchildren who are able to code, and there will therefore be divisions both for primary/prep and for secondary/independent schools (including sixth-form colleges). Each school may submit one entry, which must be a game program written in BASIC. It can be an arcade game, an educational game, an adventure game, or any other type of game. There are no restrictions or guidelines for schools and their pupils are free to allow full rein to their creativity. Once completed, a game can be emailed from one child to another for playing on the PC or on the ZX Vega itself.
For each division in the championships there will be prizes and titles for school teams at the national, regional and county level. There will also be national individual prizes and titles for the best individual pupils whose solo-developed programs have been selected as their schools entries for the championships. Schools will have eight months during which to allow their pupils to develop their own games programs, and to choose which game will be their schools entry in the championships. Entries must be submitted to arrive not later than May 15th 2016, which allows pupils to complete their work on their programs during the Easter holidays.
Within each division the highest ranked school in each county will be awarded the title of County Champion School for its division, and will be presented with an appropriate certificate. And the highest ranked school in each region of the UK will be awarded the title of Regional Champion School for its division, and will be presented with both an appropriate certificate and a prize. The regions are: Scotland, Wales, Northern Ireland, Northern England, Central and Eastern England, South of England. All of the regional champion schools will be invited to the Grand Finals, where a panel of judges will be able to try out all the finalist programs in each division. In addition the best games will be shared on the www.EveryChildCanCode.org web site for everyone to enjoy.
Each school at the Grand Finals will be required to provide the judges with a 250 word description of their entry, pointing out the most important and interesting aspects of their game. Each school will also be invited to have one of its pupils make a 5-minute oral presentation to the judges, about their entry. After the completion of all these presentations the judges will be able to try out the programs themselves, with the pupils from the competing schools assisting them and answering the judges questions. The judges will then retire to consider their decisions as to which programs will be placed first, second and third in each division.
In addition to the various school championship titles, there are individual titles for the best programs developed by a single pupil, provided that the pupils program has been selected as their schools entry for the championship. This means that in order to be eligible for the individual title a pupil must develop a program that is judged by their own school to be the best program the school has to enter. The best such program in the country or region will earn the pupil the individual championship title for that county or region. And the highest ranked coder of all the programs by individual pupils will earn its developer the title of “British Individual Coding Champion” for the appropriate school division. Prizes and certificates will be awarded to the various individual champions.
For more information please contact us.