¿Cómo investigan los estudiantes universitarios cuando no son expertos en su campo?

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:

  • 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”

La investigación de pregrado no es tan avanzada como la investigación de maestría o doctorado. Se requiere que los estudiantes apliquen una perspectiva teórica sólida para resolver un problema de investigación de alcance limitado. Por ejemplo, x, y y z como variables independientes afectan la condición de A como variable dependiente. En cierto modo, la investigación de pregrado es un ejercicio de capacitación en investigación

en mi experiencia, se inscriben en un estudio independiente con un miembro de la facultad que los guiará. Esto generalmente consiste en leer documentos clave, aprender técnicas esenciales y luego asumir un pequeño proyecto que se puede completar en un tiempo razonable. Esto puede ser seguido por semestres adicionales (generalmente más productivos) y puede llevar a presentaciones en la conferencia e incluso publicación.

Para aquellos interesados ​​en el trabajo de posgrado, este es probablemente el paso más importante que puede tomar; Es el mejor indicador de que está listo para la transición.

Encuentran a alguien que es y ayudan con su investigación. Así es como la gente comienza a investigar.