When I was a kid I told everybody that I wanted to be an inventor, so when I was first introduced to computers, there was no question what I wanted to study. The thing that I enjoy most about Computer Science is that the subject actually has almost nothing to do with computers, and it isn’t even a science in the conventional sense (Nobody said naming things was easy). This might just be our best-kept secret, but the concepts learnt in this degree are applicable to so many other fields. The best experience I’ve had studying here is the sense of community surrounding our subject. In many secondary schools, computer science is not a very popular subject, but here, you will be surrounded by like-minded people.
I've always been interested in how computers work, and in the first year, all those studying straight Computer Science study Digital Systems, taking you from the logic gates and their construction all the way up to how the internet works. A lot of the courses have clear, logical links, meaning that you may see several different approaches to the same problem, from a variety of lecturers, meaning that if you didn't get the problem the first time, you may see it in another light and really "get it". There’s also an emphasis on solving practical problems, meaning you not only get the satisfaction of getting the correct answer, but being able to see it elegantly applied to a real-world problem.
My favourite module in the first year was functional programming, a style that few have studied before, giving a level playing field. The language is inherently mathematical, with a beauty and elegance that you wouldn't expect to see in a programming language.
It can be hard to explain what Computer Science (CS) is. It's not about using computer software (or being IT support). It's not (normally) about computer hardware. Part of the course is about programming software - though you don't just write code that works, you also prove that it works. The first year is roughly half maths, which provides the foundation for later years when you get much more choice.
You'll spent around ten hours per week in lectures and an afternoon or two programming in the lab. But most of your time is spent preparing for tutorials – the problem sheet questions don't just get you to perform routine calculations, but require careful thinking to answer!
Oxford has a particularly theoretical and mathematical approach to CS so you won't be taught whatever programming language is currently fashionable, but you'll learn the unchanging foundations, so you can pick up new languages in a day. Oxford places less emphasise on hardware than some universities, and assessment is by written exams at the end of each year.
I found the book The Pattern on the Stone fascinating, particular memorable was how there's nothing special about electrical circuits – computers could theoretically do exactly the same if implemented with mechanical joints or water pressure instead.
Though you don't need to have programmed before applying, it can be helpful to check it's something you enjoy! I found the Project Euler problems a good place to stretch my programming.
Something else I found interesting during sixth form was taking online CS courses from other universities free through Coursera – I tried courses in cryptography, algorithms and machine learning (mostly after I'd already applied to Oxford).
I have always loved Structure and Interpretation of Computer Programs which is a great book that introduces a wealth of interesting ideas. I’m still learning new things from it every read through. But honestly, the thing that made me really want to study at Oxford was seeing a lecture here for the first time, at the open day.
Make sure you read the official prospectus entry for the course which contains entry requirements, full course structure, additional interesting resources and full details of the application process.
If you're going to apply, you'll want to check which Oxford colleges offer this course.