Cómo desarrollar buenas habilidades de CS por mi cuenta

Creo que el mejor consejo aquí es practicar. Numerosos programadores de varios caminos no llegan sin una gran cantidad de práctica. Desarrollar habilidades y antecedentes adecuados proviene de aplicar lo que está aprendiendo a un escenario del mundo real.

¡Encuentre un proyecto al que quiera contribuir, aprenda el idioma, aprenda el proyecto, y luego ¡adelante! También puedes crear el tuyo propio: cuando estaba aprendiendo código por primera vez, tuve una extraña necesidad de crear una aplicación de blackjack (no preguntes por qué, todavía no estoy seguro). ¡Así que construí uno en Java y creo que todavía está en mi biblioteca de códigos en alguna parte! Me ayudó a aprender muchas cosas que simplemente no se enseñan en un aula como:

  1. Planificación / Resumen: muchos de los problemas con los que me topé se debieron a que no planifiqué mi solicitud, simplemente la ejecuté.
  2. Diseño de algoritmo: sin saber cómo diseñar un algoritmo, lo hice mal muchas veces.
  3. Pruebas Pruebas Pruebas

También es un gran experimento tratar de armar algo y volver a ello unos meses después. Es posible que se sorprenda de lo que encuentra en términos de principios de codificación, estándares y diseño de código que se enseñarán, pero nunca haga clic hasta que vea lo que hizo antes de tener mucha experiencia.

En pocas palabras: encuentre algo para trabajar y hágalo. Gran parte de mi experiencia publicada ocurrió mientras estaba en la universidad, lo que fue útil para encontrar un trabajo directamente.

AHORA, todo esto supone que desea continuar con la programación; si no es así, los mismos principios se aplican simplemente no tan directamente. ¡Encuentre algo para construirlo, hágalo con la automatización del hogar o construya un pequeño robot! Todo puede enseñarte algo y determinar si tienes una mente para ello.

La informática es más bien un término amplio. No se trata solo de programar. Va mucho más allá de eso: tiene temas como sistemas operativos, DBMS, estructuras de datos, etc.

Pero para un principiante, sugeriría aprender los fundamentos de C, C ++ y Java. Comience a codificar en cualquier idioma con el que se sienta cómodo. Practica todo lo que puedas. Luego, aprenda sobre las estructuras de datos. Intente implementar DS como listas, colas, tress, etc.

No te detengas con solo programar. Continúa tu aprendizaje con DBMS y OS.

  1. ¿Ves algo que crees que puedes construir? Constrúyelo. No lo dejes a la mitad.
  2. ¿Puedes mejorarlo? Hacerlo mejor.
  3. Repita, en cualquier orden, cualquier cosa que haya hecho.

La práctica hace la perfección.

Como beneficio adicional, aprenda a usar herramientas que otros codificadores usan (seguramente aprenderá algo llamado Git) y colabore en un lugar llamado GitHub. O donde sea que estés cómodo.

Mi sugerencia para cualquiera que quiera comenzar a aprender sobre CS y programación es pasar por los ejercicios en Computer Science Unplugged. Está dirigido a estudiantes de secundaria y preparatoria, por lo que no es nada intimidante. También es una excelente introducción a los conceptos fundamentales de CS. (Y es gratis)

Entra en un pasatiempo que requiere habilidades de CS. Proyectos de Arduino, proyectos de frambuesa pi, comercio de bitcoins (a través de su API), etc., etc.

More Interesting

¿Cuál es la diferencia entre una combinación 'perfecta' y una combinación 'estable'?

¿Cuál es el principio de funcionamiento del subespacio aleatorio en el aprendizaje automático?

¿Cuáles son los hacks HTML / JS / DOM / CSS más interesantes que la mayoría de los desarrolladores web no conocen?

¿Cuál es el mayor y más grande blog de informática / tecnología en Internet?

¿Qué es mejor para la informática y el emprendimiento, Stanford, MIT, Harvard o UCB? ¿Por qué?

¿Unsigned int no garantiza un rango mayor de valores no negativos que su homólogo firmado?

¿Qué es la máquina de nebulización?

¿Cuáles son algunas de las mejores prácticas al desarrollar una aplicación Meteor para soportar más de un millón de usuarios?

Como estudiante universitario de CS, ¿cómo puedo aprender algo sobre ingeniería en lugar de investigación?

¿Puede una computadora ser lo suficientemente rápida como para detectar una bala en tiempo real? Imagine un círculo en el suelo y se dispara una bala desde fuera del círculo hacia él. ¿Sería una computadora lo suficientemente rápida como para detectar la bala dentro de un par de nanosegundos?

¿Cómo pueden contribuir los ingenieros informáticos o los informáticos en el campo agrícola en la India?

¿Qué es la criptografía y por qué es importante?

¿Cómo se utilizan los modelos de aprendizaje automático en datos con una escala media como 10 a 15 GB? ¿Alguien puede compartir el recurso para eso?

¿Cómo es que jugar GO contra 'la computadora' es diferente al Alpha Go de Google?

Con todas las novedades sobre la computación cuántica, ¿es real la exageración?