Voy a comenzar mi maestría en ECE en CMU en otoño de 2014. ¿Qué debo saber / aprender (idiomas, etc.) antes de comenzar el curso?

Bueno, depende bastante de los cursos que tomará, pero aquí hay algunos consejos.

1. C y sistemas.

CMU es sistemas pesados. CMU tiene algunos de los mejores cursos de sistemas que encontrará, como 213, 410, etc. Así que repase sus sistemas y conocimientos de C. Y asegúrate de tomar esos cursos.

2. Aprendizaje automático / Estadística / Matemática discreta

CMU es una de las mejores escuelas, si no la mejor, cuando se trata de ML. Así que repase sus conocimientos de Estadística / Matemática discreta si tiene la intención de tomarlos. ¡Tom Mitchell lleva 601 algunos semestres!

3. Java / Python

Java lo ayudaría a abordar muchos sistemas distribuidos, problemas de computación distribuida si está trabajando con Big Data, noSQL dbs, etc., porque la mayoría de las cosas ya están bien configuradas para los desarrolladores de Java. Lo mismo con Python.

4. Alguna cantidad de secuencias de comandos: cualquier lenguaje

Basando mi respuesta desde una perspectiva general sin sesgo en el campus, creo que la mejor manera de prepararme para un programa de EM exitoso y satisfactorio en CMU debe incluir lo siguiente:

  1. Fuerte control sobre los sistemas: se espera que todos los estudiantes tengan un fuerte alcance teórico sobre los sistemas (computadora, redes, sistema de archivos, incrustado, distribuido …) y un enfoque práctico para abordar los problemas del mundo real.
  2. Fuertes habilidades de codificación: sentirse cómodo con la programación orientada a objetos y aspectos es una ventaja. El conocimiento de todas las características y conceptos relacionados con C y la evolución de C ++ es una herramienta imprescindible.
  3. Habilidades sólidas con la terminal: uno debe estar acostumbrado a usar la terminal y a abrirse camino a través de bases de código complejas, usar archivos make, escribir scripts para la automatización, etc.
  4. Enfoque analítico: cultivar un enfoque analítico para la resolución de problemas lo ayudará a disfrutar de cada uno de los cursos enseñados y lo ayudará a comprender mejor los conceptos.
  5. Innovando siempre: sus profesores y colegas lo apreciarán aún más si aporta innovación a la mesa con una pizca de aventurerismo y un montón de determinación y dedicación.

¡La mejor de las suertes!

Estas cosas son particularmente buenas para saber antes de comenzar en cualquier escuela de posgrado y no son algo muy específico para CMU.

1. C / C ++
Es importante conocer algunos de los conceptos de programación básica de nivel C / C ++. Incluso si va a programar en lenguajes de nivel superior, es importante conocer los fundamentos de C.

2. Bash / Python.
Siempre es útil conocer al menos un lenguaje de secuencias de comandos. Tendrás que tener esa habilidad inmensamente útil.

Dependiendo de si está buscando hacer hardware o software, será beneficioso saber verilog para hardware y Java o algún lenguaje orientado a objetos para el lado del software. Además, el conocimiento elemental de estructuras de datos y algoritmos debería ser suficiente para llevarlo a cabo.

Hay otras cosas como el control de versiones que son como una bonificación, pero se pueden aprender fácilmente mientras se está en la universidad. Espero que ayude.

¡Supongo que el inglés sería un buen comienzo!