Cómo convertirse en un excelente estudiante universitario con excelentes habilidades de programación

La mejor / más rápida forma de mejorar como programador es escribir más código . Escribe el código por tu cuenta. Escriba el código en asociación con sus amigos y compañeros de estudios. Escribir código para proyectos de código abierto con extraños.

¡Elija un proyecto de programación que no sea parte de su trabajo escolar asignado! Identifique algún tipo de proyecto que le apasione y en el que DESEA trabajar. Si está entusiasmado con el proyecto, escribir código ya no es trabajo, y el aprendizaje es mucho más natural. Intenta resolver un problema por ti mismo. Crea la aplicación que siempre has querido. Crea una versión nueva y mejorada de una aplicación que te encante.

Y una vez que haya escrito mucho código, regrese y vuelva a visitar el código que escribió anteriormente. A veces, te parecerá extraño. A veces, verá errores y no podrá creer que fue responsable de escribir tal cosa. Ésto es una cosa buena. Aprende de tus errores. Comprenda lo que hizo mal, vuelva a escribir el código correctamente y use lo que aprendió la próxima vez que escriba el código .

Necesita obtener un equilibrio apropiado entre teoría y práctica. Parece que ya ha llevado la teoría bastante lejos con la exposición a temas avanzados como el aprendizaje automático, pero tiene algo de terreno para compensar la práctica.

Como los programadores más experimentados le dirán que tomará mucho tiempo y esfuerzo convertirse en un buen programador (y mucho menos sobresaliente). Intenta no sentirte intimidado por otros que están más lejos que tú, ya que pueden haber estado codificando durante años. Mientras sigas trabajando en ello, mejorarás con el tiempo.

No estoy seguro de si tiene acceso a una computadora en casa (no suponiendo que tenga, como mencionó, que solo comenzó a codificar hace unas semanas). De lo contrario, esto ayudaría enormemente, si el costo es un problema, considere algo como una Raspberry Pi, ya que son mucho menos costosos y serán suficientes para practicar los idiomas que mencionó, así como los lenguajes de script como Bash o Python.

En el trabajo que realiza en su propio tiempo, me enfocaría en proyectos / resolución de problemas con código en lugar de cursos adicionales como los ofrecidos por Coursera / Udacity / edX mientras recibe clases en la universidad. Comience con problemas simples y desarrolle complejidad a medida que avanza. Si tiene problemas para tratar de resolver los ‘ejercicios de programación’ de Google o algo similar, habrá cargas en línea. Una vez que tenga algo de exposición, puede pensar qué problemas del mundo real puede tratar de resolver.

Si se desanima con el tiempo que lleva aprender, eche un vistazo a este artículo: Enseñe a programar en diez años.

¡Estás de suerte! A diferencia de muchas disciplinas de ingeniería, el software es, con mucho, el más accesible (no necesita dinero ni ningún tipo de respaldo financiero), el deseo de aprender y una computadora con conexión a Internet es todo lo que realmente necesita.

Habrá toneladas de respuestas que le indicarán que debe ser persistente, trabajar en proyectos que le interesen y sobre la gran riqueza de recursos disponibles en línea. Así que no voy a cubrir eso. Lo que voy a cubrir es lo que va a apestar, pero tendrás que superarlo para convertirte en un programador competente.

  • La programación de aprendizaje va a ser frustrante. A diferencia de la escritura, el dibujo u otras habilidades “naturales” que las personas desarrollan, escribir código tiene reglas que no se pueden inferir de la observación. Su código no hará lo que quiere que haga, y no sabrá por qué. Obtendrás errores que no entiendes. Lo que debe hacer al respecto: Tómese un descanso. Aléjate un rato. Luego regrese y revise su código, línea por línea. Encontrarás el error o encontrarás algo que no entiendes. De cualquier manera, aprenderás algo.
  • Las personas a su alrededor tendrán fuertes opiniones sobre la ‘forma correcta’ de hacer las cosas. Tus compañeros de clase van a librar una guerra santa sobre idiomas, plataformas, incluso sobre lo que es y no es ingeniería real. Sus profesores a veces harán declaraciones categóricas como si fueran verdades absolutas. Lo que debes hacer al respecto: ignora a tus compañeros de clase, ellos no saben nada mejor. Escuche a sus profesores, pero pregúnteles por qué esto debe ser siempre cierto, y trate de encontrar contraejemplos. Discuta esto con sus profesores.
  • Algunas personas serán mucho mejores que tú. Algunos otros estudiantes ya tienen medallas de competencia de programación. Probablemente alguien va a demostrar un proyecto de clase que es mucho, MUCHO más allá de lo esperado. Algunos otros estudiantes probablemente estaban programando desde que tenían 9 años. Qué hacer al respecto: no te compares con ellos, compárate con donde estabas hace una semana, hace un mes, hace un año. Pero tampoco los ignore, encuentre aquellos de los que pueda aprender: a las personas más entusiastas en cualquier campo les encanta, AMAN hablar sobre lo que están haciendo y estarán muy felices de compartir. El resto lo está fingiendo.

¡Buena suerte!

Esperemos que alguien venga con una mejor respuesta, pero como cualquier cosa en la vida, uno se vuelve mejor en cualquier habilidad a través de la práctica y una repetición que examina el rendimiento buscando comprender dónde están mal las cosas y dónde y cómo se pueden mejorar. Así que encuentre proyectos interesantes para trabajar, lea el código, comprenda la guía de estilo y escriba el código que luego se comenta y mejora.

Una cosa que le insto a mirar y estudiar es el concepto de programación literaria, que el Dr. Donald Knuth considera que es el desarrollo informático más importante que ha realizado: la programación literaria.

Asistí a la universidad en China durante dos años (Universidad Remin de China). Le puedo garantizar dos cosas: convertirse en un estudiante exitoso en China es muy diferente de convertirse en un estudiante exitoso en una universidad estadounidense / canadiense.

Los estudiantes chinos pasan mucho más tiempo en clase que nosotros, a menudo más de 15 horas a la semana, mientras que 15 horas es la norma para un estudiante a tiempo completo en una universidad norteamericana (puede variar ligeramente).

Los estudiantes norteamericanos pasan mucho más tiempo estudiando solos , aprendiendo a través de notas de clase, libros de texto y otras fuentes. No tenemos tareas en clase en su mayor parte.

Lo único que tienen que hacer los estudiantes de las universidades chinas y norteamericanas es sobresalir académicamente. Como asiste a una escuela de buena reputación, probablemente sepa cómo hacerlo.

Ahora, si desea obtener una Maestría en los EE. UU., A menudo tendrá dos opciones: una maestría basada en tesis y una maestría basada en proyectos. Un maestro basado en tesis es el que investigas que eventualmente puede llevarte a una admisión de doctorado. Sin embargo, en ambos casos, grandes habilidades de programación no son un requisito previo para la admisión de graduados. Dudo que a su supervisor le importe si usted es un programador del tipo que Google y Microsoft desean contratar. Él / ella se preocupará por su aptitud para la investigación, su historial académico anterior y cómo contribuirá a su investigación.

Mi consejo para ti es:
1. Hazlo extremadamente bien en tus clases
2. A la manera china, hágale saber a un profesor que puede involucrarlo en su investigación y proporcionarle una excelente carta de recomendación cuando solicite el posgrado
3. Continúa programando, pero no dejes que supere tus prioridades académicas

Trabajar duro, comprometerse al 100% y esforzarse constantemente.

Pídale sugerencias a su maestro cuando no entienda o no tenga dificultades y busque nada más que excelencia.

No conozco ningún otro método “mágico”.