There’s a lot of buzz around this topic in New Zealand and elsewhere right now. Here’s my take based on 25 years’ experience teaching Computer Science to School students.
There is much more to Computer Science than being able to program in high level languages. Much more significant is the ability to think in abstract terms (objects, patterns) and to think through problems to solutions. Also important are the abilities to scope a problem, test a solution and provide well-written documentation.
The typical Level 2 and 3 NCEA programming projects tend to focus almost exclusively on such things as writing the correct Python syntax for a pre-determined problem which is tightly specified.
This kind of skill is currently available elsewhere in the world for, perhaps, $10.00 per hour. Therefore it offers very little benefit to companies like Orion Health which are providing resources and desperate for more computer scientists.
Taking this down to lower ages in school is a completely pointless task which may well put off students who could be interested later on. What younger students need is a gentle introduction to the general principles which are useful to computer scientists. This is exemplified by the kind of activities available on Tim Bell’s Computer Science Unplugged website.
In addition one should question whether schools should be entirely dedicated to any business agenda. If this were the case we would all be busy training people to use Office 365, producing plumbers and any other trades which are currently in short supply. The business of schools, by and large, is education rather than training.
On the teaching front, large numbers of other subject teachers are entering into computer science departments in schools, willingly or unwillingly. Often there is insufficient professional development for such teachers. Some Principals will give as the reason that students are already adept at using computers and won’t require much assistance.
Anyone who has taught computer science in a school will tell you that this belief is sadly mistaken – certainly as regards most students.
In any given segment of the New Zealand population there are, perhaps, 10-15% of people who have a natural aptitude for the sort of abstract thinking required of working computer scientists. There are perhaps another 35% who can be taught many of the skills required. In other cultures, based on personal experience of teaching in international schools, the percentages can be higher.
For most students the true value of a computer science program resides in the problem-solving and planning skills that such a course requires (a well-planned and coherent computer science course not a collection of bits and pieces). This type of course requires that students be working on a topic of interest to them that they have scoped. They should not be given a prescription. Estimating the complexity and time required to solve a problem using a computer is a useful transferable skill.
Writing the solution is relatively easy if the project is planned well. It does not have to be a solution that requires a tailor-made solution requiring a coding solution. Some problems of scale can be solved using typical office software. It may be that MS Access has a dreadful reputation among serious database designers. Nevertheless the skills learned on such a project are the important ones to focus on.
Testing and documenting solutions are tedious processes which can teach the need for persistence.
The problems that industry and the New Zealand economy face will not be solved by teaching purely coding skills.