I am an undergraduate student at the University of Oxford where I study Computer Science and philosophy and will admit unashamed that I am obsessed with both. When I was 9 years old, I learnt my first programming language, Microsoft Visual Basic. I will admit that this was in order to modify the client side of the since discontinued game Club Penguin, but we all have to start somewhere. Although my initial motivation was to show off my ‘cool, modded’ version of the game at school, the focus quickly moved away from Club Penguin and towards programming instead. I became fascinated by programming languages; the way that abstract and pure ideas could be expressed and then at super speed converted down the chain of abstraction into machine code and how thinking about the computer as a processor with resources could help program better high level code. But Club Penguin clearly stuck in my mind, as I learnt ActionScript 3 next.
This initial interest was luckily very broad and lead me down many rabbit holes. Firstly, the number of languages I learnt increased, teaching myself C, C++, Objective C and ARM Assembly, but also I became fascinated in computers at a hardware level, designing 3, working processors (although limited in functionality) using this tool at the age 14. Operating Systems were next on my list, breaking my second hand computer over and over again in pursuit of a satisfactory Linux experience.
In 6th form, the philosophy really took off. Although I didn’t do the A Level, I discovered the work of Bertrand Russell. Before this I had written philosophy off as interesting, but far more waving hands than actually working things out. Bertrand Russell taught me that philosophy was rigorous, often more so than maths, and for that I thank him. I ended up at the Oxford open day for no reason other than to miss the compulsory religious brainwashing that my school was so good at (in their defense, it was a CoE Academy) and next thing I knew, I was applying to do a MCompSciPhil at Oxford.
Between School and University, I worked for the company Enjoy Digital in Leeds, a digital marketing agency. It’s a fantastic place to work, but what I learn most of all is that I will not be looking for jobs in backend web development after graduation…
Luckily I got in, and this changed my view on both subjects radically. They taught me Haskell in the first term, a rabbit hole that I’m still falling down, as well as all the other classically Computer Sciency things you don’t really cover when you are self taught. On the Philosophy side, I have looked at general Philosophy from an analytical perspective, as well as the work for Alan Turing and huge amounts of logic.
During my first summer, I worked in the media group at ARM. More specifically, the Display SW Team, where my job was to construct a ‘shim’ that sat between a hardware composer module and the surfaceflinger of Android as well as analysis tools to look at the kind of requests android was making to the hardware so that arm could optimise their processors for the newest versions of Android.
I am now in my second year, taking modules in (finally) Compilers, Security, Models of Computation, Concurrent Programming, Lambda Calculus, Philosophic Logic and Philosophy of Logic and Language.