What is it like to study computer science at the University of Cambridge?
-
I am a 2nd year student at MIT, and I am considering a study abroad program - the Cambridge-MIT Exchange - which provides me the opportunity to spend my entire 3rd year in Cambridge (of course, admissions is competitive). What is it like to study Computer Science in Cambridge? Is it more focused on programming or theory? And if anyone has experience with both, how does it compare to American universities?
-
Answer:
Just like most of the world's top Universities, Cambridge is a very academic environment, and the Computer Science course is no exception to this. The course itself is a science course, which means it focusses very heavily on the underpinnings of all Science - mathematics. Unlike many other courses, it is not a place which attempts to cram programming languages - how such courses can be considered "Computer Science" is beyond me. As has explained, the coverage is exceptionally broad - many topics are covered in a lot of detail, which means you are very unlikely to understand all the topics to the level of detail you would like when considering the numerous pressures on your time. The full terms, the time during which teaching takes place, are only 8 weeks long.Many CS courses in the UK and elsewhere focus very heavily on teaching as many programming languages as possible and use this in their marketing and promotional material in an attempt to attract and excite potential applicants. The Cambridge course actively pushed back against this stereotype. Programming languages are taught to some extent - it would be hard to consider an undergraduate CS course which did not cover programming - but they are normally introduced as an example of a more general subject. For example, the first year Object Oriented Programming course uses Java as an exemplar of an OOP language, but it is not a course in Java itself. The concepts are taught in a fashion which is a more general study of OOP, allowing it to be applied to just about any OOP-style language. Similarly, Standard ML is introduced as the first lecture series for all CS undergraduates, but on a more general "Foundations of Computer Science" course, which covers the functional programming paradigm, a little bit on algorithms, simple data structures and so forth. There is a bit of condescension here: the courses teach the underlying principles in a very generic manner, with the application to a specific example of an OOP, functional, declarative etc programming language being merely an exercise in learning the language's syntax.The teaching in the Computer Laboratory is second-to-none. It can come as a bit of a surprise, and a sudden realisation, that the people teaching you and who provide small group supervisions to cover the topics in greater detail are the worldwide leaders in their fields, many of whom have written the recommended textbooks for similar courses across the UK and the World. This is to be expected of any top University, and MIT will be no exception to this rule.When it comes to the place itself, Cambridge is very different to most other UK universities and indeed most US locations too. The Cambridge collegiate system is one of three examples of its kind in the UK (the others being Oxford and, to some extent, Durham). At Cambridge, all students are members of one of the 31 colleges, which are independent entities (legally and financially) from the central University. It surprises many people that there is no central "campus" at Cambridge, and it would be strange to use that term to refer to a College or department's buildings or grounds - probably the most it would do is demonstrate a person's lack of understanding of the place! Nevertheless, the best way I have heard of describing the organisation is the phrase "the city is the campus", referring to the fact that departments and Colleges are spread all over the city and can spring up in strange archways or along side passages in places you would least expect. It can be quite a surreal experience for many people for a while. The colleges are the primary place of residence for their students and are normally able to provide accommodation for students for all three years of an undergraduate course. In addition, the Colleges are responsible for providing the support structures to aid students, such as tutors, Directors of Studies (colloquially known as "DoSes") and the unique-to-Oxbridge supervision system for small groups of one or two students to meet with specialists in a particular field to discuss the topics covered by the course. On the CS tripos, these seem to be covered by PhD students rather than University Lecturers or post-doc researchers, but that doesn't impact the teaching a great deal. Colleges are steeped in varying degrees of history and tradition, especially the older ones (500+ years old - the oldest College was founded in the 1200s). They are the unit of competition within the University - rivalry typically takes place between Colleges in sport and academic performance. I prefer the smaller nature, and the fact a College has fewer than 1000 students in most cases leads to a more homely and welcoming environment in which to work.By tradition, degrees at Cambridge - even those which are science-based - typically lead to a Bachelor of Arts (B.A.) degree being conferred, rather than a Bachelor of Science (http://B.Sc.) degree, which would be the norm at other UK universities. It is also possible for holders of Cambridge (and Oxford) B.A. degrees to obtain an M.A. by application a period of time after graduation; this requires no further work and is again a long-standing tradition. I cannot comment on how the awarding of the degree works on the Cambridge-MIT programme, but I do know students visiting MIT for a year from the Cambridge Computer Laboratory have to complete a fourth year of study in Cambridge on their return to obtain their Cambridge degree.On the whole, Cambridge can be a challenging place to get used to, but it is ultimately a very enjoyable and a very challenging environment within which to work. The facilities are excellent, especially for Computer Science, which has its own dedicated laboratory known as the William Gates Building. It is an enjoyable and very varied course which exposes you to many aspects of technology and indeed many different people and different styles of teaching. I would highly recommend it. Some staff and students of the Computer Lab have produced an excellent video, which provides a great overview:
Matthew Huxtable at Quora Visit the source
Other answers
I studied Part II Computer Science at Cambridge University around 6-8 years ago, so there would have no doubt have been some changes. However, looking at the syllabus, a lot of it seems to be in line with how it was back then. To me, there were 3 main observations about Computer Science at Cambridge. 1) Broad, not narrow Unlike some courses, CompSci's at Cambridge will learn about all aspects of Computer Science, and not just programming. What I found interesting was that courses would cover topics that looked at the history of computing, the way logic works in digital electronics, theoretical mathematics, practicalities of business, how graphics work (including biology of the eye), and so on. By the end of the course, you will see how a lot of different topics that link together, which will give you a broader appreciation of the industry. At the same time, as you can choose which questions to answer in your exams, you are expected to go into a lot of detail on over half the modules. This makes sure you leave with a good understanding of areas that you want to pursue. Personally, I found this great, as you learn about everything, then choose what you want to really be strong on. It will also help you with understanding where your strengths are, which is important for decisions after uni. 2) Thinking over programming When I went to the open day for Imperial College (one of the best for Computer Science in the UK), I remember them talking about all the programming languages I would be taught. Java in the first week, tests in the first month, C++, Python, etc, etc. They really wanted students to know how to program in different languages. When I went to Cambridge, I asked them which languages they teach. The response was surprising. My tutor told me they had no plans to really teach any language. They would give a 2 week intro to Java for the sake of understanding the concepts and doing practical exercises, but that was it. At first, I thought this was strange, but it all made sense once the course started. Cambridge doesn't teach languages, but it teaches how to think about your programming to make it more efficient. You learn how to solve programming problems that make your algorithms significantly more efficient than how most programmers would approach the problem. Essentially, programming languages change, problem solving does not. 3) Project experience Finally, there is a focus on working on projects. Throughout the course, you wil find individual projects where you have to manage your own time, as well as group projects where you have to learn to work together. The benefit here is that you really do work on skills that Computer Scientists are often accused of lacking. These are namely, team work, documentation, and presentation. Overall, the course aims to produce graduates who have a wider understanding about the subject, specialisms in key areas, a way of thinking they can apply to any programming language, and a few other skills that will help in the workplace. I can't say how that compares to US colleges, but I can say that Cambridge is different to most UK universities I've seen.
Ali Azeem
Here is a guy making plenty of videos (just visit his youtube channel) only on the topic: what's it like being at Cambridge to study CS. He covers everything from courses, assignments, extra-curricular activities,... to even accommodation, biking in the city,... And here is a portrait of someone who was "catapulted from a small American college into studies at Cambridge": http://www.independent.co.uk/student/student-life/whats-it-like-being-at-cambridge-as-an-american-student-8801600.html (The Independent)
Simon Souris
There are a few big differences between CS at Cambridge and CS at most other universities. Others have talked about the focus on theory rather than programming, so I won't repeat that. You are taught way more about digital electronics, up to and including labs where you get to build nontrivial circuits including FPGAs and embedded CPUs. Other schools will teach you to use compilers, whereas Cambridge will teach you how to write one. That said, the single biggest difference, particularly in comparison with US universities, is that there are no weed out courses. When you enrol you are in, and the system is built around keeping you in, resulting in a low single digit dropout rate. The supervision system means you have small group (usually 2 or 3) teaching in every subject with a real expert, quite possibly THE expert, sufficiently frequently that it is impossible to get behind without being noticed. Generally, if this happens, you get help. If you are completely lost by a lecture or a lab, your supervisor's job is to explain it and keep you on track. I will say that it is a pressure cooker, so you should expect your brains to be leaking out of your ears by the end of term! I did a PhD there, graduating in 2006. I did a lot of supervision, particularly in electronics and compiler theory. I loved it there. This got me a job at NASA -- I'm still there, 8 years later, but I still miss teaching at the Computer Lab!
Sarah Thompson
Cambridge was a pioneer of computer science and continues to lead its development. There are more than 1,000 specialist computing and advanced technology companies and commercial laboratories in the area (known as âSilicon Fenâ), and many support our teaching and employ our students. Their course is broad and deep â giving skills to create future technology. All aspects of modern computer science are covered, along with the underlying theory and foundations in economics, law and business. You also develop practical skills, such as programming (in various languages, eg ML, Java, C/C++, Prolog) and hardware systems (eg chip design using Verilog). Their students benefit from the Computer Laboratoryâs cutting-edge research and extensive facilities. The purpose-built Computer Laboratory is packed with the latest technology, advanced lecture theatres, dedicated practical rooms, a well-stocked library, and even a café. Group projects during the course, where small teams of students deliver a product to an external client, ensure relevant industrial experience. Projects often lead to commercialisation, licensing or employment. For full details, just check it out here http://www.undergraduate.study.cam.ac.uk/courses/computer-science and here http://www.schoolinks.com/schools/3782/university-of-cambridge
Anonymous
Related Q & A:
- What is the difference between a Computer science (A.S.) and Computer Information Systems (A.S?Best solution by Yahoo! Answers
- What should I do with my Computer Science degree?Best solution by Quora
- What can I do with a computer science degree besides web development or IT?Best solution by worldwidelearn.com
- Should I study computer science or software engineering?Best solution by eng.buffalo.edu
- What to major in: biotech or computer science?Best solution by xconomy.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.