¿Un buen perfil en programación competitiva ayuda a obtener la admisión en los mejores programas de MS / Phd en las mejores universidades de EE. UU. Para Algoritmos / CS / Sistemas Teóricos? En caso afirmativo, ¿qué universidades específicas fomentan tales aplicaciones?

Estoy familiarizado con el proceso de admisión y trabajé con varios estudiantes que obtuvieron buenos resultados en topcoder (top 40 en los EE. UU.) Y ACM ICPC (medalla de oro en la final).

Los programas de maestría son muy diferentes de los programas de doctorado porque se espera que los estudiantes de MS tomen cursos, no necesariamente se involucren en la investigación. CS / CE Ph.D. Los comités de admisión de las principales universidades de EE. UU. están interesados ​​principalmente en tres metacalidades de futuros estudiantes. Son, en orden decreciente de importancia: (1) la capacidad de realizar investigaciones, (2) la capacidad de comunicar los resultados de la investigación, (3) la capacidad estimada para completar los requisitos formales de doctorado (que no sean los ítems 1 y 2). La interpretación del tercer elemento varía: algunos programas de CS requieren una gran carga de cursos y miran su GPA y las transcripciones cuidadosamente, otros no. Los puntajes de las pruebas y los materiales de su aplicación afectan la percepción de las habilidades de comunicación. Por supuesto, los hablantes no nativos de inglés no necesitan competir con los hablantes nativos en GRE Verbal y GRE Writing, pero todos los solicitantes deben evitar problemas gramaticales obvios en su escritura (guiño, guiño – arreglado ahora). En Michigan, recientemente hemos admitido a algunos de los mejores programadores con puntajes de GRE atroces, y les fue bien en el CS Ph.D. programa.

Un sólido historial de programación de la competencia da fe de (A) su capacidad para comprender un desafío difícil, (B) sus habilidades para resolver problemas, (C) su conocimiento integral de algoritmos “estándar” y análisis de algoritmos, (D) su experiencia en programación y habilidades de depuración, (E) su productividad y (F) su capacidad para trabajar de forma independiente (por ejemplo, para prepararse para las competiciones). Todo esto ayuda con los cursos de CS de nivel de doctorado, que generalmente requieren lectura, algoritmos y desarrollo de software (a excepción de la teoría). A, B, E y F deberían ser útiles para cualquier tipo de investigación. D es útil para la mayoría de los proyectos no teóricos (el término “sistemas” se interpreta de manera muy diferente en diferentes escuelas, así que tenga cuidado aquí). Muchos teóricos no están interesados ​​en las implementaciones de software (incluso de sus propios algoritmos), pero eso depende de la persona. C se valora menos porque en cada campo especializado los algoritmos son especializados, pero de todos modos se valora.

La experiencia de programación competitiva es claramente útil y altamente valorada (p. Ej., Si llegaste a los regionales en ACM ICPC, o ganaste algún concurso solo). Pero dice poco sobre su creatividad a largo plazo, sus habilidades de comunicación, habilidades de planificación estratégica y su interés en la investigación. Puede mejorar los materiales de su solicitud abordando estos problemas de alguna forma. Sin embargo, la forma principal de mejorar sus posibilidades, especialmente en los principales programas de CS, es tener una capacidad demostrada para hacer investigación. Esto es raro entre los solicitantes, y haber sido coautor de una publicación decente como estudiante universitario es un gran problema. Si participó en una investigación dirigida con un profesor de pregrado y puede obtener una carta sólida, eso también ayuda.

La mayoría de las ofertas de admisión a CS Ph.D. los programas incluyen ayuda financiera, y la mayoría de las ofertas de MS no. Si está siendo considerado para una beca, sus puntajes GRE deben ser decentes y debe destacarse entre otros solicitantes. Para un asistente de investigación (RA), su patrocinador / asesor potencial querrá saber qué tan bien trabaja en un equipo (aquí la experiencia de ICPC puede ayudarlo). Para una ayudantía docente (TA), debe tener habilidades de personas. La experiencia docente es generalmente útil para la admisión a la escuela de posgrado, pero es rara. Es muy poco probable que los solicitantes de EM sean considerados para una beca. Es raro que a un estudiante entrante se le ofrezca una asistencia docente, pero ocurre en grandes universidades públicas con muchos puestos de asistencia técnica (el sistema UC y las grandes escuelas del medio oeste). En las universidades privadas más pequeñas, las ayudas de investigación son a veces la mayor parte del apoyo financiero en CS.

Su Declaración de Propósito debe expandir sus intereses de investigación: los estudiantes interesados ​​en las bases de datos son considerados por profesores de bases de datos, etc. Los estudiantes con materiales de aplicación sólidos, pero sin intereses claros y pasión por la investigación, pueden pasar desapercibidos. Si no obtiene una beca, es muy probable que un profesor con proyectos de investigación que requieran codificación le ofrezca una AR. Pero hay una gran diferencia entre (a) la investigación en teoría de la complejidad donde las habilidades de programación son en su mayoría irrelevantes, (b) la investigación teórica en algoritmos aislados, (c) la investigación aplicada en algoritmos aislados, y (d) la investigación que implica construir y optimizar sistemas de software . Fuertes habilidades de programación son más relevantes para (c) y (d).

En cuanto a los programas específicos de CS, revise la lista de finalistas de ICPC en los últimos 2-3 años y vea qué universidades estadounidenses aparecen allí. Esta es una buena indicación de que les importa la codificación competitiva (pero no al revés, pueden haber tenido fuertes competidores en las regiones). En general, cualquier comité de admisión de CS razonable le dará puntos de bonificación por un alto perfil en la programación competitiva.

De los codificadores competitivos que aconsejé, varios lo hicieron muy bien y aprovecharon sus habilidades en sus proyectos de disertación (luego lo hicieron bien en la industria). Algunos se aburrieron en dos años; de esos, algunos tuvieron éxito en la industria. Tenga en cuenta que tener éxito en un doctorado CS. El programa tiene una mentalidad muy diferente. Abandono de un doctorado. El programa no es un desastre: obtendrás un MS (basado en tu trabajo de curso) y serás bienvenido en las industrias financieras y de software.

Mucha suerte en tus aplicaciones,

Igor Markov

More Interesting

¿Hay otras empresas de tecnología que hayan adoptado un enfoque similar (o mejor) en la organización de I + D como Google?

¿Cuáles son las áreas de investigación más desafiantes en informática?

¿Cuáles son algunas áreas inexploradas en el campo de la informática?

¿Cómo puedo obtener una beca para presentar mi trabajo en una conferencia internacional de renombre?

¿Cuáles son algunas técnicas de segmentación de series temporales para la clasificación o indexación de bases de datos?

Soy un estudiante de ciencias de la computación en el segundo año y estoy obteniendo buenas calificaciones, pero aún no estoy satisfecho. Quiero ser parte de grandes organizaciones y quiero utilizar mi tiempo, pero no sé cómo hacerlo. ¿Cómo puedo utilizar mi tiempo en proyectos beneficiosos?

¿Cuáles son los principales problemas abiertos en la teoría de la complejidad computacional?

¿Cuáles son los temas más candentes para la investigación en simulación y modelado de yacimientos?

¿Sobre qué temas puede investigar un estudiante de informática?

¿Cuáles son los temas candentes en la investigación en nanomecánica?

¿Cuáles son algunos lenguajes dinámicos de grado de investigación?

¿Cómo compararías Google Research con Microsoft Research?

¿Cuáles son algunos temas de investigación en ingeniería informática?

¿Cuáles son los documentos fundamentales sobre la programación?

¿Qué estructuras de datos son más eficientes que las tablas hash?