¿Cómo es estudiar informática en la Universidad de Cambridge? ¿Se centra más en la programación o en la teoría? Soy un estudiante de segundo año en el MIT, y estoy considerando el intercambio Cambridge-MIT.

Estudié la Parte II de Ciencias de la Computación en la Universidad de Cambridge hace unos 6-8 años, por lo que sin duda habría habido algunos cambios. Sin embargo, mirando el programa de estudios, mucho parece estar en línea con cómo era entonces.

Para mí, había 3 observaciones principales sobre la Informática en Cambridge.

1) Amplia, no estrecha
A diferencia de algunos cursos, CompSci's en Cambridge aprenderá sobre todos los aspectos de la Informática, y no sólo la programación. Lo que me pareció interesante fue que los cursos abarcaran temas que analizaban la historia de la informática, el funcionamiento de la lógica en la electrónica digital, las matemáticas teóricas, los aspectos prácticos de los negocios, el funcionamiento de los gráficos (incluida la biología del ojo), etc.
Al final del curso, verás cómo muchos temas diferentes que se vinculan entre sí, lo que te dará una apreciación más amplia de la industria. Al mismo tiempo, como puedes elegir qué preguntas responder en tus exámenes, se espera que entres en mucho detalle en más de la mitad de los módulos. Esto asegura que salgas con un buen conocimiento de las áreas a las que quieres dedicarte.
Personalmente, encontré esto genial, ya que aprendes sobre todo, y luego eliges en qué quieres ser realmente fuerte. También te ayudará a entender dónde están tus puntos fuertes, lo cual es importante para tomar decisiones después de la uni.

2) Pensar en la programación
Cuando fui a la jornada de puertas abiertas del Imperial College (uno de los mejores para Ciencias de la Computación en el Reino Unido), recuerdo que me hablaron de todos los lenguajes de programación que me enseñarían. Java en la primera semana, pruebas en el primer mes, C++, Python, etc, etc. Realmente querían que los estudiantes supieran programar en diferentes lenguajes.
Cuando fui a Cambridge, les pregunté qué lenguajes enseñaban. La respuesta fue sorprendente. Mi tutor me dijo que no tenían planes de enseñar realmente ningún lenguaje. Que darían una introducción de 2 semanas a Java para que se entendieran los conceptos y se hicieran ejercicios prácticos, pero que eso era todo.
Al principio, esto me pareció extraño, pero todo cobró sentido una vez que empezó el curso. Cambridge no enseña lenguajes, sino que enseña a pensar en tu programación para hacerla más eficiente. Aprendes a resolver problemas de programación que hacen que tus algoritmos sean significativamente más eficientes que cómo la mayoría de los programadores abordarían el problema.
Esencialmente, los lenguajes de programación cambian, la resolución de problemas no.

3) Experiencia en proyectos
Por último, hay un enfoque en el trabajo en proyectos. A lo largo del curso, encontrarás proyectos individuales en los que tendrás que gestionar tu propio tiempo, así como proyectos de grupo en los que tendrás que aprender a trabajar juntos. La ventaja es que realmente se trabajan las habilidades de las que a menudo se acusa a los informáticos de carecer. En general, el curso tiene como objetivo producir graduados que tienen una comprensión más amplia sobre el tema, las especialidades en áreas clave, una forma de pensar que se puede aplicar a cualquier lenguaje de programación, y algunas otras habilidades que ayudarán en el lugar de trabajo. No puedo decir cómo se compara con las universidades de Estados Unidos, pero puedo decir que Cambridge es diferente a la mayoría de las universidades del Reino Unido que he visto.