Thinking of learning a second language? Coding might be your best bet. The world of computing, rather than being dull and overly-complicated, is like learning how to compose a beautiful symphony but instead of writing notes, you write code.
The ability to program a computer is one of the most useful skills in the modern world. Yet, when compared to life sciences, it has less uptake - especially among young women. Many of us imagine computer science to be a complex and highly mathematical endeavour, with years of experience necessary from a young age to become a programmer.
We are going to demystify some of these myths.
1. It’s not all maths and wizardry
The very core of how computers carry out calculations is indeed a lot of maths and obscure computer instructions that aren’t very human-friendly.
However, like a language, most of the words needed to talk to computers have already been invented. Most of the sentences and chapters have even been established; much of programming lies in the art of weaving these together and, importantly, working out when things don’t fit.
Much of the day-to-day work of a bioinformatician (someone who investigates biological data with computers) is less hard-core mathematics and more well thought-out logic.
So, you don’t have to be a mathematician to understand how to code, and you don’t have to be a biologist to become a bioinformatician. Yes, both of these are useful in understanding the process but really, computing is a field open to anybody with the interest and the opportunity.
Most of the time, the dark mathematical insides of computer programs are completely hidden away. Photo: Shutterstock/Inga Nielsen.
Just ask Rob Davey, leader of the Data Infrastructure and Algorithms Group at the Earlham Institute:
“I got a B in Maths for my GCSEs and that’s where I left it – I never felt maths was a good fit for me, and I quit whilst I was ahead! I had a much greater appreciation for music growing up, and specifically the theory of how music is put together to make it pleasing for the listener. Music has a firm rooting in maths – tempo, time signatures, intervals, chord progressions – but you don’t need to be a maths expert to appreciate music.
“I realised that the way music can be constructed is very similar to learning a spoken language, and later, how computer languages are organised. For me, programming is all about logic – it’s like building with Lego. You don’t have to know the exact dimensions of the individual bricks – just how to assemble them into a working model. If they don’t fit the first time around, break the bricks up and improve your design. That’s essentially what most modern programming is about.”
2. You can already think like a computer does
Imagine it’s a Monday morning. You might have to get up and go to school, college, university, work, or elsewhere. What instructions would you give yourself in order to make that happen?
Sit up (1), reach for water (2), drink water (3), step out of bed (4), walk to bathroom (5), go to the toilet (6), have a shower (7), brush teeth (8), get changed (9), walk downstairs (10), make breakfast (11), read the newspaper (12), have a coffee (13), put shoes and coat on (14), step outside (15), lock the door (16), walk to the car (17), drive to work (18).
This is essentially what we are doing with coding. We’re telling a computer to carry out actions in some kind of order, sometimes making checks along the way (are you still holding on to the water you picked up in step 3?), to get an expected result.
much of programming lies in the art of weaving these together and, importantly, working out when things don’t fit.
When you think of it like this, the process of writing a program suddenly seems far less complicated.
A lot of programmers work in pseudocode first – they don’t write down the exact code needed to build a fully working program, but simply the steps that the program needs to do; like we did to describe our morning routine. And, as we’ve discussed, when we do want to start coding for real, many of the instructions needed to run a program have already been written – it’s the weaving them together so that they fit which is the trick.
So, as in the morning when you don’t physically have to think about all of the muscle movements required to get out of bed, walk to the bathroom and step into the shower, nor do you have to necessarily specify every single aspect of a computer program.
The beauty of computer science is that you can start at the very core, learning about the fine-grained and incredibly technical areas; or start on the environs, learning about how people interact with computers through the web, games, or even virtual reality.
3. It’s easier to get into than you think
Getting into computing is not as difficult a task as it might seem. It’s like taking evening classes to learn German or Mandarin – there are now many introductory courses and hands-on workshops available for all levels and abilities.
We can even start right at the beginning without typing a single line of code. Resources such as Scratch on the MIT website enable anyone to program fun games using a simple set of instructions, whatever their age.
If we want to get a bit more advanced, then there are affordable pieces of equipment such as the Raspberry Pi and Raspberry Zero that make learning coding fun, using powerful languages such as Python.
These diminutive machines were originally designed to be a versatile and cost-effective teaching tool, but the community has embraced these amazing tiny computers way beyond this humble goal of the project to make them the biggest selling UK computer in history in only three years! People have built everything from supercomputers, to in-car entertainment systems, to microwaves – and even a working mobile phone!
Just as you don’t have to start your language lessons with complex phrases in various tenses, you don’t have to start with more advanced programming languages running on expensive computers. You can start small, gain confidence in using simple code to carry out simple tasks, and then build up over time.
There’s nothing quite like working out how to wrap up computing and programming into one of your favourite hobbies!
4. It’s definitely not just for boys
Did you know that the first computer programmer was a woman?
Her name was Ada Lovelace. Many people are aware of Charles Babbage and his Analytical Engine, but not the significant role that Ada Lovelace played in its theoretical advancement.
Considering that, in addition to her formidable mathematical talents, she was the daughter of Lord Byron – you’d have thought she might be more famous.
Although Babbage pioneered the Analytical Engine in 1837, what we consider to be modern electronic computers were not actually made until the 1930s and 1940s. However, if built, his machine would have worked – and in 1843 Ada Lovelace was the first person to offer a way it might be used; a method for calculating Bernoulli numbers.
Her work hailed her as the first computer programmer and her legacy remains an important example for all girls and women interested in coding.
According to girlswhocode.com, although 57% of bachelor’s degrees (in the USA) are awarded to women, for computer science this figure is only 12%. This has worsened in the last thirty years; in 1984, 37% of all computer science graduates were women.
So, now that women finally, rightfully make up half of our workforce, we all need to foster the environments to make sure women are equally represented as computing professionals.
5. It’s fun and can lead to all sorts of careers
Computer programming doesn’t limit you to a one track career path – far from it. Learning even the simple principles of programming can put you in a better position for future jobs.
Almost every conceivable profession in modern society benefits from modern computing: from building spaceships, robots, and programming bigger and better supercomputers to understand climate change, to building websites, developing games, and empowering global communication. Mobile phones are no longer just able to let us call each other – we’re all holding miniature computers in our hands, and there’s a huge industry in developing software for mobile computing.
One field that has seen a surge in the importance in computing is the life sciences. Our ever-increasing capacity to produce tremendously large data sets, particularly the entire genomes of organisms from Salmonella to wheat and naked mole rats, needs powerful computers to process and store the data – and the essential computer algorithms to help analyse it.
Similarly, with millions of researchers around the world producing trillions of gigabytes of data – requiring more mathematical calculations than the universe has atoms – we need open source software and open access tools in order to share this data and allow collaborations on an international scale.
This is an incredibly exciting time to work in biological sciences, and the perfect time to be able to embrace and enjoy the pleasure that comes with being able to code in a world where, increasingly, computers and computer scientists will help to solve many of the pressing issues facing humanity today.
Finally, some inspiration from Girls Who Code: “The U.S. Department of Labor projects that by 2020, there will be 1.4 million computer specialist job openings. Yet U.S. universities are expected to produce only enough qualified graduates to fill 29% of these jobs.”
So get coding!