Ciertamente usaría esta oportunidad.
Primero, trataría de aprender algunos algoritmos en la escuela secundaria. Estaba haciendo competencias de programación en mis años de escuela secundaria, pero nunca aprendí ningún algoritmo más complicado que la fuerza bruta. La forma en que logré avanzar a niveles de competencia totalmente ucranianos sigue siendo un misterio para mí, pero allí me reí seriamente por tratar de resolver un problema de DP (¿o fue algo basado en gráficos?) Usando la fuerza bruta. Esto habría sido difícil, ya que mis años de escuela secundaria fueron antes de 2000 (¡TopCoder ni siquiera se había inventado todavía!), Tuve acceso a Internet durante aproximadamente una hora por semana (en el laboratorio de mi escuela) y no recuerdo haber tenido ningún libro sobre algoritmos Pero supongo que si me lo propongo, habría encontrado una fuente del conocimiento precioso. La escuela secundaria es el momento de aprender conceptos básicos de algoritmos.
Luego, pasaría menos tiempo en estudios que no sean CS / Matemáticas / Física durante los años de secundaria y universidad, y pasaría el tiempo resultante en competencias y temas de CS. Perdí muchísimo tiempo en historia, literatura, química, biología y cualquier otra cosa en nuestro plan de estudios tratando de hacer todo a la perfección. Me gradué con una medalla de plata de la escuela (lo que significa que obtuve las mejores calificaciones en todas las materias, excepto la historia) y con honores de la universidad (mejores calificaciones en todas las materias, excepto dos), y no es que me haya ayudado mucho en mi vida futura, o en programación de concursos. Al mismo tiempo, aprendí sobre Brainfuck solo después de la graduación y sobre la programación funcional, incluso más tarde. No es bueno para un programador profesional.
- ¿Cuál es el mejor algoritmo de programación que hayas creado?
- ¿Cuál es la complejidad del algoritmo criptográfico RSA?
- ¿Cuáles son las mejores rutinas que podemos adoptar para ser buenos en la programación / diseño de algoritmos?
- ¿Por qué es Introducción a los algoritmos una lectura obligada para convertirse en un mejor programador?
- ¿Cuál es la mejor manera de estudiar la estructura de datos de árbol?
Intentaría ingresar al equipo de ACM de nuestra universidad. Mi maestro de escuela secundaria creía que las competencias son buenas solo en la escuela secundaria para ingresar fácilmente a la universidad de su elección, y después de eso son completamente inútiles. Fue muy convincente, y durante mis primeros tres años en la universidad hice exactamente 0 horas de competencias de programación, un desperdicio increíble.
No tomaría el aburrido trabajo a tiempo parcial relacionado con la banca que tomé después del tercer año en la universidad; Tenía la opción de realizar un trabajo más relacionado con el algoritmo (y mucho más interesante) en el procesamiento de imágenes, y preferiría tomar esto en su lugar.