En CS, los estudiantes de pregrado simplemente aprenden lo suficiente sobre el campo para contribuir . Esto es más difícil en otros campos.
El truco con la informática es que es un campo nuevo y brillante con mucha amplitud pero poca profundidad requerida . No es matemática donde prácticamente necesita un doctorado para comprender incluso los problemas que las personas están resolviendo, y mucho menos contribuir.
Se pone al día en un área de investigación en particular de varias maneras:
- ¿Cómo se estructura una propuesta de investigación?
- ¿Qué palabras clave y temas debería investigar si quiero saber más sobre la condición actual de la Tierra?
- ¿Por qué los artículos de investigación de Asia son rechazados por Physical Review Letters?
- ¿Cuál es la principal diferencia entre una disertación y un trabajo de proyecto?
- ¿Cuáles son los nuevos temas del seminario técnico para ece final?
- Las clases, especialmente los seminarios de posgrado, son excelentes para obtener una amplia experiencia en un nicho específico.
- La tutoría individual de profesores, posdoctorados y estudiantes de posgrado superiores ayuda con detalles específicos de su proyecto de investigación.
- Así es como se transmite el “conocimiento institucional”: información crucial pero no publicable que lo aleja de los callejones sin salida y hace que las cosas realmente funcionen . Enfoques que no funcionaban en el pasado, optimizaciones de nicho que a veces ayudan, formas de resolver errores comunes, soluciones para problemas con herramientas existentes … etc.
Hay más de esto de lo que cualquiera quisiera, pero los documentos simplemente no son el lugar para detalles complicados. ¡Lástima que esos detalles puedan hacer o deshacer un proyecto real!
- Aprender solo llena el resto. Lees periódicos y ves conversaciones grabadas. Tendrá que aprender a leer documentos para obtener información relevante o cómo encontrar mejores explicaciones en otros lugares.
- A menudo puede encontrar mejores explicaciones de una idea en los documentos de revisión y en los documentos que citan el documento original que en el documento original en sí; Es más fácil explicar algo con el beneficio de la retrospectiva. Si tiene suerte, incluso podría haber una publicación de blog sobre el tema: las publicaciones de blog tienden a estar mejor escritas que otros documentos porque los académicos solo bloguean porque les gusta escribir.
Siempre que comience con fundamentos sólidos de CS, una combinación de estos métodos puede ponerlo al día en un área de investigación particular en cuestión de meses , lo que le permite realizar contribuciones de investigación reales rápidamente.
Esto refleja más o menos mi experiencia.
Hice una investigación de pregrado en síntesis de programas, y entré literalmente sin saber nada sobre el tema. De hecho, la primera vez que escuché sobre “síntesis de programas” fue cuando mi asesor me invitó a unirme a un proyecto que estaba comenzando. Y, sin embargo, pude implementar un sintetizador en aproximadamente un semestre, con más en los meses siguientes.
Estaba trabajando en un nuevo proyecto con otro estudiante de pregrado y un estudiante de primer año que también era nuevo en la síntesis de programas. Al llegar, tenía una buena experiencia en programación, fundamentos razonables de CS y un buen conocimiento de los temas generales del lenguaje de programación.
Todos comenzamos a aprender tomando un seminario sobre síntesis de programas. Así es como me familiaricé con las técnicas básicas en el campo, leí un montón de artículos y, por supuesto, me divertí mucho, fue fácilmente la clase mejor y más valiosa que tuve en la universidad.
También trabajamos directamente con el profesor para poner en marcha el proyecto. Nos reunimos con él una vez por semana durante unas horas para hablar sobre nuestro progreso, discutir el diseño de alto nivel del proyecto y obtener sugerencias generales. Definitivamente, trabajar en estrecha colaboración con el profesor es lo que nos permite crear algo que funcione en solo unos meses y estar en una etapa cómoda al final del seminario.
Finalmente, para contribuir realmente al proyecto, tuve que aprender un poco solo, profundizando en algunos documentos y la documentación técnica del chip con el que estábamos compilando. Aquí también es donde completé algunos antecedentes que me faltaba; por ejemplo, uno de los documentos que miré utilizaba MCMC, que no había encontrado antes (¡no juzguen: no es un tema muy PL-y!), así que tuve que aprender sobre él y el Metropolis- Algoritmo de Hastings. (También tuve la ayuda de un amigo de la escuela secundaria que estaba investigando la programación probabilística en ese momento, lo que definitivamente aceleró las cosas).
Aproximadamente un año y medio después del proyecto, pusimos nuestro trabajo en PLDI¹, uno de los principales lugares para la investigación del lenguaje de programación. Un buen resultado que solo fue posible gracias a los tres factores que mencioné: un seminario de posgrado, tutoría individual y algo de aprendizaje por mi cuenta.
notas al pie
¹ Puede ver el documento aquí si tiene curiosidad: “Clorofila: compilador asistido por síntesis para arquitecturas espaciales”