Computer Science in Plain English

Computer science is a subject dear to my heart and I feel constantly aggrieved by how misunderstood and misreported the discipline is by the media, programmers and everyone inbetween (see my complaint with University Challenge). I decided therefore to write a short series of blog posts that explains computer science from the very basics, the most fundamental principles. I want everyone to know that computer science has nothing to do with technology and everything to do with, well, I’m about to explain exactly what…

 

The difference between Computer Science and Technology

 

I love the British sitcom The IT Crowd which concerns the misadventures of an IT support team housed in the basement of a large London corporation. The show’s oft used first line of support, “Have you tried turning it off and on again?” is firmly tongue-in-cheek but it’s amazing how many rules and structures are recreated afresh and in perfect order by performing such a simple task. To quote Arthur C. Clarke, “Any sufficiently advanced technology is indistinguishable from magic.” Is that how we perceive computers?

 

There’s nothing magical about them physically, they’re just pieces of plastic, metal and silicon. But is there something magical in how we treat them? Something almost superstitious? Part of the joke in The IT Crowd’s above catchphrase is that the gag is partially aimed at the inquisitor – even the expert doesn’t know what is wrong with the device in question.

 

Every year, however, society drifts into a greater and greater dependence on computers in the way we access and interact with them in almost all aspects of our lives. Can we really trust in these tools to remain as magical boxes that work in ways we cannot possibly fathom? I say no.

 

The solution I’m suggesting isn’t that we should all become IT experts – that would be horrific. In a similar fashion, I don’t think the populace should all be trained pharmacologists.

 

Just because we use computers on a daily basis in society does not mean that all individuals should spend hours learning complex technical skills to diagnose and understand various software and operating system problems. Computers are indeed important, but the average person’s understanding of pharmacology is not in knowing the chemical structure of ibuprofen, nor understanding how enzymes within prescription drugs affect the body. We just need to know how to ask a trained professional for advice.

 

Ibuprofen

 

The real problem with the wider lack of knowledge about computers is that most people don’t understand the comparable difference between pharmacology and chemistry. Pharmacology is a colossal consumer facing industry providing medication that benefits the health of humankind. This is but one application of the more fundamental science of chemistry.

 

Dig deeper and we see more than just the chemical compound in a small sugar coated shell. There are lengthy medical trials (biology) with the results of many double-blind experiments rigorously poured over (statistics) to ensure safety and effectiveness.

 

Whether you studied chemistry long enough at school to reach organic chemistry and the concept of elements of the periodic table binding together, it is taught to teenagers as part of the national curriculum. That yields a level of awareness in the wider populace cementing the notion that the pristine cardboard boxes stocked in pharmacies are not magic, but rather the application of a series of scientific disciplines. Fully understanding all of them isn’t the crucial detail – it’s knowing they exist.

 

The analogy thus far is that the mystery of other fundamental facets of daily life – like over-the-counter drugs – have been dispelled because we were taught their origin at a young age. You may point out that, today, we learn about computers too, and from an even younger age than we see a burette or pipette. Quite possibly, but I strongly believe that we teach – and learn – practically nothing about how computers actually operate.

 

The following question is taken from a 2009 A Level paper – sat by 18 year old students – for a course entitled Software and System Development:

 

“Many people, including children, benefit from using the Internet to make new friends in chat rooms as well as exchanging ideas in forums.”
Discuss the benefits and drawbacks of using the Internet for these purposes.

 

The importance of the social aspects of computer technology notwithstanding, the entirety of the paper leaves a great deal to be desired from a technical standpoint. The range of understanding implied by the questions suggests individuals who are nowhere near ready to begin developing any kind of software or system.

 

The root of all technology; of all hardware devices whether they be smartphones, ebooks, laptops or tablets; all websites, apps and programs; every electronic document from music and videos to pictures and text files; each connection to another device across the world via the internet: all of it is built upon Computer Science.

 

For those who grew up to become people who understand Computer Science, they were unlikely to have it sold to them as such. Not all found the invitation welcoming, or were even invited to take part in the first place. Those lucky enough to have a natural curiosity for technology – and more crucially, how it works – may have stumbled upon a desire path to Computer Science. But most of us have been failed by education systems that shy away from Computer Science and its perceived opaqueness.

 

“Why do we have to learn this?” is a standard rallying cry from bored, uninterested students. Perhaps the source material is dry, perhaps they prefer other lessons in which they excel further, but attacking the motivation behind learning a subject is an early and instinctive strike made against those attempting to impart knowledge.

 

However unlikely it may be that a child struggling to factor a quadratic equation could one day be an eminent structural engineer, the curriculum rolls on. It may well be easier to say, “You’re learning this because you have to,” without justifying the topic further. A less cynical teacher will know why society’s fundamental subjects are taught and would happily evangelise given the right occasion and platform.

 

But Computer Science crept up on society quickly. For every advancement, it brought with it another shiny toy, a faster, sleeker gadget – something that distracted and made life easier, and yet at the same time more complicated. For many, the trick wasn’t keeping up with Computer Science, it was keeping up with the equally complicated technological by-products it produced.

 

As computers entered the home in the 1980s, they were to be used by computer programmers as a matter of course. A decade later they were a frustrating puzzle to the non-technical user that promised much and delivered little. Now though, the entire developed world has been ensnared into online technological interaction. Functional ease and simplicity are at long last commodities that have value and are routinely tackled by hardware and software manufacturers alike. Most in society now have a sporting chance in the battle to master the use of computers.

 

All this time though, we were fighting the wrong enemy. Technologies will come and go – always evolving, always growing, always changing. Their fundamentals i.e. Computer Science, will always be there, and will always stay the same.

 

I said before that your education system failed you. It chose to teach you technology rather than Computer Science because it seemed the easier approach, or it looked like the more sensible thing for the future. Most likely, teachers and students all nodded in agreement that it was the more interesting choice.

 

I am here to tell you today that they were wrong. Computer Science is more important to understand, the more sensible choice to learn, and – if presented the correct way – much more exciting. Once you slay the Computer Science beast, that’s it. That knowledge will stay with you forever and help you compartmentalise and process future technological concepts forever after.

 

More to follow…

 

Hopefully this has motivated those who aren’t familiar with Computer Science to learn some more. If so, follow the “CompSci in Plain English” tag here on Life Beyond Fife for future posts where I’ll ease you into the subject and slowly the lights will switch on one by one about so many of your technology experiences that perhaps before felt so alien and confusing.