Computer science is just a fascinating subject. I enjoy the theoretical side of computer science and also the fact that computing has real applications. I'm a lecturer in computer science and I specialise in bioinformatics, or the application of computing to solve problems in the analysis of biological data.
Working in computing is akin to solving puzzles. When the task I'm trying to compute actually works, it's a great feeling. When I've decided on the data structures, chosen how to break down the problem into reasonable functions, thought about the efficiency, written some code and put it all together, then it's an exciting creation. When it doesn't work, it's a challenge that can stump you and your colleagues for days. When it's correct it can be beautiful.
I chose to study science subjects for A-level even though they were unpopular choices for girls at my school. I was the only girl in my maths, physics and chemistry A-level classes, and one of only two girls in my computing A-level class (though we were only five in total). It isn't easy being different as a teenager, but science A-levels were the right choice.
Science was just more fun than the other subjects. The puzzle solving in mathematics appealed to me so much that maths at university was an obvious choice, with some computing as well to keep my career options open. However, at uni, computing quickly became more interesting. Learning to program was hard but fun. It is still hard but fun, 20 years later.
It's easy to see that being technically literate is important in today's society. Most people need to manage email, backup a computer, speak to their broadband supplier, puzzle over a broken printer, browse the internet and interact with social media. That kind of IT knowledge is necessary, ever-changing and has drastic consequences when it goes wrong. It makes fools of all of us. That's not the kind of knowledge taught in computer science degrees. The techniques involved in programming, in problem solving, in algorithms and computational thinking, are all fundamental and span many decades of thought.
I often find myself fascinated and inspired by the history of computing and the people who have made contributions. Computing is a young field, with the first electromechanical computer built in the 1930s. Some of the pioneers are still alive today. However, the ideas that underpin the field have often been around longer. Computational ideas have appeared and reappeared, sometimes so far ahead of their time that they went unrecognised and had to be rediscovered.
Ada Lovelace documented the use of variables, loops, tracing computation and profiling the usage of values for efficiency gains way back in 1843. She also imagined aspects of artificial intelligence and the future capability of computing. How far can computing go? What will we be able to compute in the future? Universal Turing machines are a model that describes what is possible for a computer to compute. Lambda calculus is another equivalent but different model of computation.
General recursive functions are yet another representation of the same scope of computable expressions. I find it amazing that these three models were created independently at approximately the same time in history (Turing, Church, Gödel), and are three different ways to inspect the same questions: What can a computer produce? What is computing capable of? Where will it take us?
What would I advise for someone starting out? Study whichever subject you want to study, regardless of society's gender norms or feeling different. Don't give up or leave it because you feel out of place. Computing is a diverse subject, and there are many niches that fit many different people. It's not just about the fast moving social media world, or the practical business oriented IT world. It's also about long term elegant ideas. Whatever you prefer, there's a niche for you.
Amanda studied mathematics and computation degree at the University of Oxford, and an MSc in Artificial Intelligence at the University of Edinburgh. She had great fun building Lego robots at Edinburgh and thoroughly enjoyed the weirdness of Prolog for building grammars for languages. She then took a job in Canon Research Centre Europe, looking at ways to talk to photocopiers and retrieve captioned images from large image collections.
Canon had a bunch of great programmers from whom she learned about C++, software engineering and how to make practical programs in a functional language. After a couple of years Amanda started a PhD in Bioinformatics at Aberystwyth University. She fell in love with the seaside town of Aberystwyth and the subject matter of bioinformatics and is now a lecturer at the University, still enjoying both.