Six Reasons Why Computer Science Education is Failing Students

by Arnaud on October 10, 2012 Comments Off on Six Reasons Why Computer Science Education is Failing Students

Six Reasons Why Computer Science Education is Failing StudentsComputer science education is under threat. Secondary school computer science courses in the USA have decreased in number by 17% since 2005, with advanced placement courses decreasing by a massive 33%. Here in Scotland it is a similar story. 8% of schools no longer have dedicated computing teachers, there is just one teacher training college available and those teachers that leave are often not being replaced. Computing is the only STEM subject (science, technology, engineering and mathematics) that has seen a decline in student numbers over the past 20 years.

This might all make perfect sense if the tech sector was doing badly. But computers, smartphones and tablets are not exactly on their way out. The industry is thriving. It is the shining light in an otherwise challenging economy. In almost every field of endeavor, from healthcare to aerospace to finance, computers play a pivotal role. And it is set to continue shining: the sector is projected to grow faster than all but five industries by 2020. It has the highest average salary of any growing industry. In the USA we will add 800,000 new tech sector jobs by 2018, a growth rate of 21% which is more than double that of all occupations in the USA. The mobile apps market is due to grow to $101 billon USD by 2017.

Decline in Computer Science Uptake

Here at RunRev we work with teachers from around the globe to help them teach computer science effectively.  I’ve spoken to dozens of teachers over the past few weeks alone.  And I personally started this business after having the right inspiration in high school, something that included exposure to a wide range of tools, teaching and opportunities.  So I know from personal experience what the potential upside can be when we do get this right.  And how important it is that we do.

Here are 6 reasons I think computer science education is failing our students:

1. Parents don’t value the subject.

There is a widespread misperception that computer science education is about learning how to use a computer.  Today’s generation of students has of course learned how to use a computer, smartphone or tablet from a very young age.  By the time they get to school they are often more fluent in using technology than their parents.  With this perception of the subject, it’s hardly surprising then that some parents don’t push their children to take computer studies.  But of course good computer science education should be about understanding how computers work, how to create software and how to apply critical thinking skills in the context of technology.  Using Facebook is not the same as creating a new social network, any more than learning how to turn the microwave on is the same as understanding how to construct a meal from scratch.  Going below the surface is what education is all about.

2. Head teachers don’t promote the subject.

Head teachers often misunderstand the value of computing.  They have a similar perception as parents, that the subject is about teaching students how to use a computer.  Given that this is not a popular subject, they prioritize resources for those subjects that are more popular.  Computing gets squeezed from the schedules.  It often has significantly less time allocated to it than other sciences (“pure” science courses get 4x as much time in many schools here in Scotland).  It also gets squeezed when it comes to ensuring there are sufficiently flexible IT arrangements to allow the subject to be taught correctly.  In one school I spoke to, the computing infrastructure is locked down so that teachers are unable to install their own software, yet installing software is an actual part of the curriculum.

Six Reasons Why Computer Science Education is Failing Students 3a

3. There is a lack of investment.

Unlike subjects like maths, the tech industry moves fast and in order to keep teaching relevant, departments need to move with the times.  That means upgrading computers and software on a regular basis.  It also extends to training (CPD).  Some of the teachers I spoke to here in Scotland told me they have had only one day of CPD since 2004.  Computing departments struggle to get access to enough machines to teach with, let alone the latest kit.  Some departments have a total budget per year of £300 ($500).  That’s barely enough for photocopying,
let alone any relevant new technology.

4. Teachers lack the skills to create exciting courses.

The natural consequence of not investing in training is that teachers know little about programming.  Yet they are being asked to teach programming.  This can result in worksheet teaching: dry, boring and inflexible lessons.  Worksheets may not get updated very often and often teach using a tool that is 10 or even 20 years out of date.  They lack the skills and therefore the confidence to update their lessons or go beyond the worksheet.  Even if they do get updated, it is unlikely they teach programming for the devices that are so relevant to today’s generation: tablets and smartphones.  This all adds up to teaching that is not engaging and simply results in students dropping the subject.

5. It’s a victim of its own success.

The difference in average salary between a computing teacher and a computer programmer working in industry is substantial.  A computing teacher gets just over half as much on average.  So teaching salaries are in competition with those available for working directly in industry.  Of course this gap isn’t unique to computing, but the software industry is perhaps more accessible for those that want to make that leap and has such a demand for jobs that it is easier to jump ship in this industry than in some others.  Strong investment in teaching and training would go a long way to making the profession more attractive.

Six Reasons Why Computer Science Education is Failing Students 46. Poor tools get chosen.

Up to about age 13 there are some excellent tools in widespread use, most notable among them being the free and popular Scratch from MIT and MIT App Investor  However students outgrow Scratch by around age 13 and schools often don’t make a good choice of language for the next phase in a child’s education.  Many traditional programing languages such as JavaScript or C++ are completely inappropriate for this age group.  Students struggle to understand what they are learning and often spend their lessons searching for a missing symbol.  The current generation of students use smartphones and so selecting a tool that allows them to create their own apps is another great opportunity to make learning directly relevant to them.  Our own LiveCode platform provides a handy solution to these issues by allowing students to create their own mobile apps using a programming language that is close to English.

I firmly believe that a strengthening computer science education program has to be one of the most obvious and cost effective things we can do to ensure future economic prosperity.  Israel has the highest rate of startup per capita anywhere and that in part stems from its strong computer science education program.  Estonia, another country with both a strong tech sector and economy, recently announced a plan to expand teaching of computer science to all primary school children.  Do we want to be left in the dust by these countries, or left unable to compete with the growing economies of India and China?  What is it going to take to get computer science education moved up the agenda in the USA and here in the UK?

Here in Scotland we have a new curriculum coming in, the Curriculum for Excellence (CfE).  This represents a big opportunity to teach computing in a new and exciting way.  Unfortunately the feedback I’ve received from teachers so far has been that it is being rushed in, with the minimum of resources and a great deal of confusion as to what exactly is going to be required.  In England and Wales, the education secretary has torn up the curriculum and so teachers who have never taught programming before are now being asked to teach it.  This represents both opportunity and the risk that we will get more of the same.  In the USA initiatives such as Computing in the Core and Girls who Code are both working to promote better computer science education.  Let’s all work together to ensure that history does not repeat itself and that we create the outstanding computer science education programs our students deserve.

I’d welcome your comments on how we can improve computer science education.  Thanks for reading.  Stay tuned for more on this subject soon.

RunRev are the makers of the LiveCode platform. LiveCode doubles engagement and uptake of computer science courses in those schools that have adopted it.

ArnaudSix Reasons Why Computer Science Education is Failing Students