As a technical SEO consultant who relies heavily on understanding HTML, CSS, Javascript, and PHP code to make a living, I feel quite envious of today’s primary school children who are taught computer coding/programming language basics.

I’m not so envious of the middle-aged primary school teachers who are trying to get to grips with teaching primary school children coding though: that must be quite daunting!

You have to tip your hat to the jack of all trades primary school teacher. It’s not an easy job, though there are some awesome visual programming language apps like Scratch and ScratchJr specifically designed for young children to make life a little easier.

ScratchJr Visual Programming Language App

ScratchJr Visual Programming Language App

Forty plus years ago when I was at primary school I didn’t even know what a computer was let alone anything about coding, I didn’t touch a computer until comprehensive school (at ~14 years of age: a BBC computer) and my first personal computer was a Commodore VIC-20 a few years later which sadly I ONLY used for games: such a wasted opportunity.

On my Vic-20 I once tried typing out what I believe was binary code for a small game from the pages of a computer magazine. I wasted days of typing computer code only for the program to fail: I guess due to typos.

There were huge barrier to to learning coding as a young person.

My first real experience of coding wasn’t until my thirties way after I left University (studied a Bsc in Genetics). I was creating an online business and couldn’t afford to pay a web designer to build an ecommerce shop. Had no choice but to learn basic HTML, CSS, and javascript or the business would fail before it even started. 15 plus years later and I have the coding skills to build websites from scratch (like this one), create WordPress themes (like the theme on this site) and plugins (I built some of the plugins), and even setup and manage servers (I setup and manage the server this site is hosted on).

It was not an easy journey, I didn’t find learning coding easy, almost everything I know about coding is self-taught.

How things have changed for today’s children, they even have thousands of free Code Clubs and CoderDojo Clubs staffed by a small army of volunteers spread throughout the country.

The Importance of Teaching Programming in Primary Schools

I can not over emphasize the importance of introducing children early to coding concepts to prime the next generation of programmers and software engineers.

The Importance of Teaching Coding to Young Children

The Importance of Teaching Coding to Young Children

There are so many careers which rely on software, when I studied genetics at University most of the data processing was still a semi-manual process. I spent ~9 months on my second year lab project genetically modifying the bacillus thermogenesis bacterium to create hybrid toxins which killed mosquito larvae and I never once touched a computer! Today it’s almost all handled by advanced software programs: someone is paid a lot of money to build AND maintain the software.

It’s difficult to think of a walk of life where software isn’t involved heavily and we need an army of software engineers to build and maintain millions of apps and tomorrows army of artificial intelligent (AI) machines that will power the UK future economy.

Teachers and parents should encourage young children to join their local Code Clubs and CoderDojo Clubs to foster an interest in coding.

How to Teach Coding to Primary School Students

When my wife and I home educated our children (adults now), we understood the importance of teaching children programming languages early and our kids had access to software which tried to teach the basic programming concepts.

Klik and Play Game Creator

Klik and Play Game Creator

For example we used a software program called Klik and Play Game Creator for the Windows PC, it wasn’t that good, no where near as good as Scratch/ScratchJr today (see below).

Windows software like Klik and Play seems to have sparked that vital interest in coding/programming as our eldest son studied Computer Science at University and works as a computer software engineer: builds educational software similar to ScratchJr for primary schools.

Visual Programming Languages like Scratch and ScratchJr Make Learning Coding Easier

Scratch Visual Programming Language for Children

Scratch Visual Programming Language for Children

Today there are mature/well supported visual programming languages like Scratch/ScratchJr specifically created to introduce young children (beginners) to coding concepts.

See the example ScratchJr video below of a simple visually programmed game (using blocks) introducing basic coding concepts without having to type or understand a single piece of computer code. Kids can build animations and stories without even realising they are discovering the fundamentals of coding.

I guess the best thing about visual languages like Scratch is the teacher doesn’t need to understand a programming language per se to teach kids the basic concepts of coding, Scratch is perfect for the school environment.

Programs like ScratchJr are the spark which gives kids an interest in going further, my first introduction as a teenager to a programming language was BBC Basic on a BBC computer at school and it involved a lot of typing to print things like Hello David over and over again!

It was REALLY dull and boring, put me off learning programming at the time. Yet today I’ll happily spend hours troubleshooting PHP code which looks like this in a text editor:

<?php
// Check Stallion thumbnail feature enabled : Code replaces Timthumb version...
if ( st_auto_thumbs_ors() != '0' ) {

  // Get image URL from Posts thumbnail meta, checking it exists
  if ( $image_url = get_image_path( get_post_meta( $id, 'thumb', true ) ) ) {

    // If an image id set (double check)...
    if ( $image_url != '' ) {

      // Strip out any image sizes (i.e. -250x250 is removed from URL) to get the full size image.
      $image_url = preg_replace( '/-[0-9]{1,4}x[0-9]{1,4}.(jpg|jpeg|png|gif|bmp)$/i', '.$1', $image_url );

      // Find attachment ID from Image URL using core WordPress function attachment_url_to_postid().
      $image_id = attachment_url_to_postid( $image_url );

      // Check if Rocket LazyLoad active and if we have an attachment ID
      // if so use it to output a clickable image to Post
      // ipq_get_theme_image() function relies on /image-processing-queue/ folder
      if ( function_exists( 'rocket_lazyload_get_option' ) && rocket_lazyload_get_option( 'images' ) && $image_id != '' ) {
        ?><a href="<?php the_permalink(); ?>"><?php
        echo apply_filters( 'post_thumbnail_html', ipq_get_theme_image( $image_id, array(
          array( st_auto_thumb_wid_ors(), st_auto_thumb_hei_ors(), true )
        ),
          array( 'class' => st_auto_thumb_align_ors() )
        )); ?></a><?php

      // If Rocket LazyLoad not active, check there's an image.
      } elseif ( $image_id != '' ) {
        ?><a href="<?php the_permalink(); ?>"><?php
        echo ipq_get_theme_image( $image_id, array(
          array( st_auto_thumb_wid_ors(), st_auto_thumb_hei_ors(), true )
        ),
          array( 'class' => st_auto_thumb_align_ors() )
        ); ?></a><?php
      }

    }
  }
}
?>

The above PHP code which I recently created for this website is really important, it creates the images on the fly on pages like PageSpeed SEO Tutorials: ALL the images are created with the above code in association with other code.

The above on the fly image feature didn’t exist in the precise form I use until I created it, it WAS completely unique (other WordPress developers might stumble on this page and copy it for their sites). Without the ability to understand PHP coding I wouldn’t have been able to create this feature to make this website run even faster.

Why Does it Matter?
Faster sites are more likely to rank higher in Google. With Google, time literally is money, slow websites are downgraded and less traffic means fewer sales!

Visitors are also annoyed by slow websites, they leave. Amazon for example found for every 100ms their site was slowed it resulted in a 1% loss in sales!

Some high traffic sites are losing millions of £s/$s in potential sales simply because they load slowly and lack the inhouse skills to fix the problems!

Without my current coding skills I’d have to hire a PHP coder who understands how WordPress works, plus the importance of page speed to Google ranking. I’d need a coder who was also an SEO expert: not many of those around and they charge a lot of money for their services!

Future Computer Software Engineers

The UK Economy Needs More Programmers and Software Developers

The UK Economy Needs More Programmers and Software Developers

The UK government is taking this seriously, in the UK Digital Strategy 2017 Policy Paper there’s multiple references to teaching children coding skills, a few select sections below:

Giving everyone access to the digital skills they need
We also need a strong pipeline of specialist skills – from coding to cyber – to support the tech industry and drive productivity improvements across the economy. We will deliver coding in the National Curriculum, from Key Stage One onwards, and we will take forward the recommendations of the Shadbolt Review to ensure computer science students have the real-world, up to date skills needed in the digital economy. To help more young people from a wider range of backgrounds consider a career in tech, we will support the National Citizen Service (NCS) in piloting new ways to include digital skills and careers in NCS programmes.

Digital skills embedded in education
We are already making progress to ensure that the next generation have the digital skills they need for work. In 2014, England was the first country in the world to mandate teaching coding to children at primary and secondary schools. The introduction of computing in the national curriculum means that our school children will be taught the knowledge and skills that employers will need.

For the computing curriculum to be successful teachers need to be well-equipped and supported to deliver it. That is why we have provided funding for the Computing at School Network of Teaching Excellence in Computer Science, whose network of over 350 Master Teachers can provide continuing professional development to teachers needing to further develop their computing expertise. We will also continue to encourage computing graduates into teaching, by providing generous bursaries of up to £25,000, and, in partnership with the British Computing Society, scholarships worth £27,500 for those training to be a teacher in 2017/18.

Outside the formal curriculum there has been a number of new innovative initiatives providing young people with opportunities to develop their digital skills. For example:

  • There are now over 5,000 Code Clubs, using volunteers and top quality online material to give young people the opportunity to learn how to code.
  • The Raspberry Pi Foundation is providing low-cost, high performance computers to learners alongside outreach and education to make more young people access computing and digital making.
  • The BBC Make it Digital programme partnered with over 25 organisations to provide the micro:bit (a pocket sized codeable computer) to every child in year 7 or equivalent across the UK to inspire them to develop their interest and digital creativity and get them creating technology and not just consuming it

The UK will need many more computer software engineers in the future and many of them are sat in primary school classes discovering the basics of coding with apps like Scratch and ScratchJr right now.

David Law

*
David Law : Technical SEO Expert with 20+ years Online Business, SEO, Search Engine Marketing and Social Media Marketing experience... Creator of multiple WordPress SEO Themes and SEO Plugins. Interests: wildlife, walking, environmental issues, politics, economics, journalism, consumer rights.

Website - SEO Gold Services