¿Cuáles son las mejores universidades / facultad para un doctorado en informática teórica?

Puede notar que las otras respuestas están por todas partes en términos de respuestas mencionadas. Esto se debe a que Theory es bastante amplio, y hay bastantes escuelas que son fuertes en alguna área de Theory.

Pero muy pocas escuelas son fuertes en todas o incluso en la mayoría de las áreas de Teoría. Por ejemplo, no muchas escuelas son igual de fuertes en Algoritmos y Complejidad Computacional.

Esto probablemente se deba a que la Teoría no aporta una tonelada de dinero, por lo que la mayoría de las escuelas tienen un Grupo Teórico bastante pequeño. Incluso en buenas escuelas, trabajando con la famosa facultad de Teoría, no es raro tener algunos problemas para obtener fondos.

En los Estados Unidos, las escuelas que tienen grupos de teoría conocidos más grandes son:

MIT, Princeton, Berkeley, CMU y Stanford.

Tenga en cuenta que, con la excepción de Princeton, las cuatro escuelas son las mejores escuelas de CS en general. Princeton y Berkeley tienen las ventajas adicionales de ser grandes escuelas de matemáticas, por lo que ambos lugares tienen una cultura matemática muy fuerte y muchos recursos. El MIT probablemente tiene el Grupo Teórico más grande, en términos de número de estudiantes que trabajan en áreas teóricas. El Grupo de Teoría de Stanford solía estar desequilibrado, porque tenían principalmente algoritmos, pero en la última década agregaron a Tim Roughgarden, experto en teoría de juegos algorítmicos, y a Ryan Williams, una estrella en ascenso en la complejidad computacional. CMU tiene buenas personas tanto en algoritmos de aproximación como en complejidad computacional, pero he oído que es un poco como una fábrica de papel …

Y esa es probablemente una de las cosas principales que deberá considerar cuando decida en qué escuela realiza su doctorado y quién será su asesor. Cuando estás haciendo un doctorado en teoría, una opción es elegir un área donde debes profundizar matemáticamente y puede tomar mucho tiempo antes de que puedas publicar resultados significativos. Esos doctorados se parecen un poco más a los doctorados matemáticos en estructura. La otra opción es trabajar en un área donde publica resultados muy rápidamente, utilizando técnicas e ideas comunes, y luego el juego se convierte en cuántos documentos puede enviar antes de graduarse.

En términos generales, el asesor que elija tendrá mucho que ver con cuál de esas dos opciones tendrá, así que elija con cuidado.

Fuera de las cinco grandes escuelas que mencioné, hay que mencionar escuelas como Georgia Tech y la Universidad de Toronto .

Georgia Tech ha estado construyendo una potencia en Theory durante la última década más o menos. Yo diría que ahora están más o menos en la misma liga que los otros 5. Estaban un poco más al lado de los algoritmos, pero contrataron a Lance Fortnow no hace mucho, lo que también les da credibilidad en la complejidad computacional.

Toronto tiene un Grupo Teórico bien conocido, pero están un poco desequilibrados en términos de áreas de investigación en las que trabajan. La mayor fortaleza es la complejidad computacional, particularmente la complejidad de la prueba, que es un área bastante específica. Puede que no coincida demasiado bien con tus intereses expresados.

Si está interesado en la complejidad computacional, creo que UCSD y Rutgers y la Universidad de Washington y UMass-Amherst también deberían mencionarse. Estas son escuelas que tienen grupos de teoría más pequeños, pero se sabe que son fuertes en complejidad computacional específicamente. No voy a enumerar todas las escuelas que son buenas en algoritmos u otras áreas de Teoría, porque francamente hay demasiadas para considerar.

En lo que respecta a la India, responderé por:

1) Instituto Tata de Investigación Fundamental
2) Instituto Indio de Ciencia, Bangalore
3) El Instituto de Ciencias Matemáticas
4) Instituto de Matemáticas de Chennai
5) IIT Kanpur, http://www.iitk.ac.in/ & nbsp ;
6) IIT Bombay | IIT Bombay
7) Instituto Indio de Tecnología Madras
8) Instituto Indio de Tecnología de Delhi

En ningún orden en particular.

En USA :

Además de MIT, Princeton, UCBerkeley, CMU, Stanford, UIUC, UT Austin, Georgia Tech; Creo que el trabajo de investigación en estos lugares también es interesante (si está interesado en algoritmos y complejidad) en ningún orden en particular:

UMD College Park

TTIC y Universidad de Chicago

Duque

Universidad de Michigan

Universidad Rutgers

Universidad de Massachussets Amherst

Universidad John Hopkins

Universidad de utah

NYU

USC

Universidad de Wisconsin-Madison

Northwestern University

No encuentro UC’s que no sean UCB, particularmente fuertes en algoritmos / complejidad. La mayoría de ellos son realmente buenos en criptografía teórica.

Algunos de los mejores, sin ningún orden en particular:

MIT, Princeton, CMU, Cornell, Harvard, Cambridge, Oxford, ETH Zürich, EPFL.

Probablemente me faltan algunos, y diferentes lugares tienen diferentes fortalezas (por ejemplo, Princeton actualmente es fuerte en teoría de la complejidad, y ETHZ es excelente para algoritmos combinatorios). Lo importante es encontrar un proyecto, o al menos un área específica, que le interese. Si lo tiene, no puede equivocarse demasiado con ninguno de los anteriores (o la mayoría de los otros 20 principales, realmente )

“Informática teórica” ​​en la práctica significa dos cosas muy diferentes:

  1. algoritmos y teoría de la complejidad, incluida la criptografía y la teoría de sistemas distribuidos
  2. trabajo teórico sobre lenguajes de programación, semántica y verificación (incluidos temas como álgebra de procesos)

Primero debe decidir en cuál de estos está realmente interesado, porque pocas escuelas están seriamente interesadas en ambas. En particular, (1) las escuelas están casi todas en los EE. UU., Mientras que (2) las escuelas se encuentran principalmente en Europa. En términos más generales, las escuelas europeas tienden a favorecer la lógica y sus aplicaciones, mientras que las escuelas estadounidenses tienden a favorecer los algoritmos / complejidad.

Esa no es la pregunta que deberías hacerte. Descubre quiénes son las buenas personas en el área que te interesa y luego ve a estudiar con ellos. Presentar a alguien como “recibió su doctorado del MIT” no es tan impresionante como “y fue un estudiante de tal y tal”.

Para el doctorado, realmente depende de su asesor y las clasificaciones son bastante inútiles.

Mi respuesta mal informada basada en admisiones de doctorado (Universidad A> Universidad B si conozco a una persona que ingresó a B pero no A):

  1. Princeton, Harvard
  2. MIT, Berkeley
  3. Stanford, CMU
  4. otros

Si una escuela tiene a alguien trabajando en su subdisciplina y quién es su asesor, es mucho más importante que la escuela individual. Aquí hay una lista de departamentos sólidos sin ningún orden en particular:

  • Berkeley
  • Princeton
  • MIT
  • Technion
  • Weizmann
  • Georgia Tech
  • UT-Austin
  • Oxford
  • Stanford
  • CMU
  • Columbia
  • Cornell
  • Chicago

Hay otros, pero estos son los que inmediatamente vienen a la mente, dados los temas que enumera.

More Interesting

¿Cuáles son algunas ideas geniales para una presentación del día pi?

¿Cuál sería la forma más eficiente de verificar si un número dado es un factorial de algún número o no?

¿Cuáles son los mejores momentos 'aha' que tiene cuando resuelve problemas de matemáticas / programación?

¿En qué circunstancias necesitaría un desarrollador web utilizar estructuras de datos como Listas vinculadas, BST y Gráficos?

¿Cuál es el enfoque más fácil para abordar los problemas de programación dinámica?

¿Cuáles son algunas historias menos conocidas sobre Alan Turing?

¿Cuál es la diferencia entre la lógica temporal y el cálculo del proceso?

¿De qué manera las matemáticas son similares a la codificación?

¿Es cierto que al menos uno de los dos términos en [math] Rad (p) - 1, Rad (p) + 1 [/ math] es un número primo, donde [math] Rad (p) [/ math] es el producto de todos los números primos menores o iguales que [math] p [/ math]?

¿Cuánto conocimiento de matemáticas se requiere para convertirse en un buen desarrollador de juegos?

¿Podría la funcionalidad de una computadora digital ser duplicada por una computadora mecánica (con engranajes, ruedas, palancas, etc.)?

¿Qué otras cosas debo probar aparte de programar o codificar?

¿Qué tan bien un título en matemáticas aplicadas prepararía a alguien para la ciencia de datos?

¿Cómo explicaría las diferencias subyacentes entre álgebra lineal, establecer álgebra teórica y álgebra relacional (especialmente desde una perspectiva CS / base de datos)?

Cómo escribir un programa en C para imprimir todas las permutaciones posibles de un número dado