
Edmund Richardson
0
1333
45
La programación es difícil. Las únicas personas que dicen lo contrario son las que tienen años de experiencia en codificación bajo sus cinturones. ¡Está bien sentirse abrumado! Hay una mucho aprender y probablemente olvidarás las cosas tan rápido como las aprendas. Confía en mí: eso es normal.
Pero solo porque sea normal no significa que no sea frustrante. A decir verdad, aprender a codificar Cómo aprender a programar sin todo el estrés Cómo aprender a programar sin todo el estrés Tal vez hayas decidido seguir con la programación, ya sea para una carrera o simplemente como un pasatiempo. ¡Excelente! Pero tal vez estés empezando a sentirte abrumado. No muy bien. Aquí hay ayuda para facilitar su viaje. puede ser extremadamente estresante si no lo aborda con la mentalidad y actitud correctas.
¿Quieres aprender ese nuevo lenguaje, biblioteca o marco lo antes posible? Eso es comprensible. Afortunadamente, hay un puñado de consejos que pueden ayudarlo a retener mejor toda esa información de programación pesada que sigue volando en un oído y directamente en el otro.
No más sesiones de hacinamiento
Nadie quiere escucharlo, pero abarrotar es la peor forma de aprender a programar. Si eres como yo, abarrotar era tu modus operandi todo a lo largo de la escuela y la universidad. Es la única forma en que sabes estudiar.
Pero aprende de mis errores: cuanto más intentes meter, menos recordarás. Eso es bastante cierto para cualquier materia basada en el conocimiento, pero es especialmente cierto cuando se trata de programación.
La base de esta afirmación proviene de un estudio realizado en 2008 por la Universidad de California en San Diego:
“Los estudiantes se desempeñan mejor cuando espacian sus sesiones de estudio en lugar de cuando intentan meter todo en sus bordes durante una sesión.”
¿Por qué? Lo más probable debido al efecto de posición en serie:
“El efecto de posición en serie es la tendencia de una persona a recordar el primer y el último elemento de una serie mejor, y el elemento central peor.”
En otras palabras: en cualquier sesión de estudio dada, es más probable que retenga la información que aprendió cerca del comienzo y el final de la sesión y es más probable que olvide la información de la mitad de la sesión.
Desea maximizar el número de comienzos y finales. Es por eso que es mejor tener varias sesiones cortas en lugar de unas pocas sesiones largas cuando se trata de aprender y absorber material nuevo.
La próxima vez que se siente para aprender el código, tome un tema a la vez y tome un breve descanso entre cada tema. (¡Solo asegúrate de evitar que tus descansos se conviertan en dilación!)
Revisión, revisión, revisión
Otra razón por la cual el hacinamiento es antitético a la retención de conocimiento a largo plazo es porque la memoria se desvanece con el tiempo. Esto no siempre es cierto, estoy seguro de que todos tenemos algunos recuerdos de la infancia que nunca desaparecerán, pero parece ser el caso general de los recuerdos que no están vinculados a la emoción..
Existe cierto debate sobre si la memoria misma se descompone debido al tiempo (teoría de la descomposición) o si simplemente es expulsada y reemplazada por nuevos recuerdos a lo largo del tiempo (teoría de la interferencia). Cualquiera sea la teoría a la que se suscriba, el resultado es que los recuerdos más antiguos tienen más probabilidades de desvanecerse.
Aquí es donde entra en juego la revisión.
Piensa en ello como caminar por un bosque de recuerdos. Cada vez que desee acceder a una memoria, debe rastrear la vía neural para encontrarla. Cada vez que trazas ese recuerdo, el camino queda grabado en un poco más, al igual que se forma naturalmente un camino de tierra cuando las personas caminan el mismo camino una y otra vez. Si deja de caminar por el sendero, puede desvanecerse y la memoria termina perdida en algún lugar del bosque..
Dejando a un lado toda la psicología pop, esta es la conclusión: cuando se trata de programación, no es suficiente aprender un tema solo una o dos veces. Tienes que volver a visitarlo docenas o incluso cientos de veces. Cada revisión graba ese tema en tu cerebro un poco más profundo.
Sé lo difícil que puede ser esto si eres un abarrotador natural, pero te sorprenderá lo rápido que comienzas a retener el material una vez que te esfuerzas por revisarlo regularmente.
Use varios recursos diferentes
El aspecto más difícil de la programación, al menos para los codificadores nuevos, es la gran cantidad de detalles y matices que deben ser internalizados. Hasta que ocurra esa internalización, vas a estar en un perpetuo estado de rascarse la cabeza.
Según el idioma, deberá memorizar cientos de reglas de sintaxis (por ejemplo, palabras clave, punto y coma, espacios en blanco). Algunos lenguajes son más estrictos, otros lo son menos y otros tienen sus propios enfoques únicos de sintaxis que no se usan en ningún otro lado. Todo esto puede ser confuso si no tienes experiencia previa en codificación.
Sin mencionar toda la información conceptual que trasciende los idiomas individuales. Temas como la programación orientada a objetos, los sistemas de componentes de entidad y los patrones de observación realmente pueden hacer que su cabeza gire la primera vez que intente aprenderlos..
He compartido esta ilustración antes, pero es tan puntual que vale la pena repetir:
“Supongamos que alguien te muestra una fotografía de una estatua. Puede proporcionar una imagen suficiente para que pueda tener una idea adecuada de la estatua, pero no obtendría la imagen completa. Una foto alejada perdería detalles complejos mientras que una foto alejada perdería sentido de la perspectiva. Sin embargo, con fotografías adicionales tomadas desde otros ángulos, realmente puede comenzar a ver la plenitud de la estatua en textura, tamaño y detalle, de adelante hacia atrás, de lado a lado y de arriba a abajo.”
Aprender a programar puede ser sorprendentemente arbitrario. Todos pueden elogiar el Recurso A como la mejor manera de aprender el Idioma X, pero tal vez no tenga sentido para ti. ¡Tal vez todos odian el Recurso B, pero echas un vistazo y tiene mucho sentido! En cuanto a alguien más, tal vez se desconectan al estudiar los recursos A y B, pero se benefician enormemente del recurso C.
Por eso es tan importante que estés dispuesto a consumir todo tipo de recursos. Todos aprenden de manera diferente. Si tiene problemas con un tema en particular, busque otro recurso. Tal vez ese sea más adecuado para ti. Tal vez no.
Incluso si crees que entiendes ciertos temas, es posible que haya más para aprender al respecto. También es posible que la explicación de otra persona solidifique el concepto en su mente para siempre. Nunca se sabe, entonces ¿por qué no consumir tantos recursos como sea posible??
¡Tenga en cuenta que los juegos pueden ser un recurso críticamente útil! Echa un vistazo a estos divertidos y educativos juegos de codificación Los 9 mejores juegos de codificación para desarrollar tus habilidades de programación Los 9 mejores juegos de codificación para desarrollar tus habilidades de programación Los juegos de codificación te ayudan a aprender más rápido con práctica práctica y experiencia. Además, son una forma divertida de probar tus habilidades de programación! .
Enseñe conceptos a medida que los aprende
Hay un concepto hermoso en la programación llamado depuración del pato de goma. Los principios de programación más extraños que nunca ha oído hablar Los principios de programación más extraños que nunca ha oído hablar Los siguientes principios le enseñarán a ser sabio con su código. Algunos son extraños y muchos son humorísticos, pero todos son igualmente prácticos e importantes. ¡Cuidado! , que describe la técnica de explicar el código de uno, línea por línea, a un pato de goma inanimado. Se usa cuando un segmento particular de código está roto, pero no hay una razón obvia para ello..
Por extraño que parezca, la mayoría de los programadores tienen un “Eureka!” momento en el medio de explicar el código, ya que de repente ven dónde se produce el error en la lógica de codificación. La verbalización desencadena un área diferente del cerebro, lo que te obliga a ver el problema desde un nuevo ángulo.
Este concepto también se puede utilizar para ayudarlo a aprender material nuevo. Es posible que haya encontrado esta cita popular que a menudo se atribuye a Albert Einstein:
“Si no puedes explicarlo simplemente, no lo entiendes lo suficientemente bien.”
Con la excepción de algunos campos que se ocupan del conocimiento teórico avanzado, este dicho es válido. Cuanto más entienda un tema, mejor equipado estará para explicarlo de tal manera que alguien que no tenga conocimiento de dicho tema pueda llegar a comprenderlo..
Lo opuesto a esto también es cierto. A medida que intente enseñar un tema, se encontrará con ciertos conceptos que parece que no puede explicar de manera clara. No solo es una forma increíble de diagnosticar debilidades en su conocimiento, el proceso real de encontrar la explicación adecuada puede ayudar a solidificar el concepto en su mente.
Se llama aprendizaje por enseñanza y es básicamente un giro en la depuración del pato de goma.
Ahora, no digo que debas actualmente enseñar a otros; más bien, cada nuevo tema de programación que aprenda, intente enseñárselo a un pato de goma (o un amigo invisible). Al principio puede parecer una tontería, pero puede ser increíblemente fructífero cuando se trata de la retención de memoria.
La práctica deliberada hace al maestro
La noción de talento es una completa basura. Nadie sale del útero como violinista, luchador o programador de clase mundial. Claro, algunas personas pueden estar más inclinadas hacia ciertas disciplinas, pero el talento sin experiencia es inútil. No dejes que tus talentos ocultos mueran: 7 maneras de ir y encontrarlos de nuevo No dejes que tus talentos ocultos mueran: 7 formas de ir y encontrar Otra vez La mala noticia es que tienes que trabajar duro con la intención de pulir tus talentos ocultos. La buena noticia es que hay más oportunidades que nunca para hacer brillar tus talentos. . Del mismo modo, el trabajo duro siempre es más valioso que el talento..
Habiendo dicho eso, no todas las formas de trabajo duro son iguales. Malcolm Gladwell acuñó la infame Regla de las 10.000 horas, que dice que debes invertir al menos 10.000 horas en un tema para convertirte en un maestro en él. Si bien el sentimiento puede ser cierto, muchas personas malinterpretan lo que estaba tratando de decir.
En pocas palabras, un compromiso de 10,000 horas en realidad no garantiza el dominio. Ya sabes el dicho: “La práctica no hace la perfección. La práctica perfecta hace la perfección.” Para que sea significativo, la práctica debe ser intencional ¿Quieres convertirte en un experto en algo? Prueba la práctica deliberada ¿Quieres convertirte en un experto en algo? Pruebe la práctica deliberada Es demasiado fácil sentirse abatido cuando intenta arduamente mejorar una determinada habilidad. Usa el poder de la "práctica deliberada" para superar esas mesetas enfurecedoras. . El dominio solo se puede lograr a través de 10,000 horas de práctica deliberada.
Cómo practicas es mucho más importante que cuánto tiempo pasas practicando.
La lectura es pasiva. Mirar lecciones de YouTube es pasivo. Escuchar podcasts es pasivo. Como programador novato, es posible que tengas la tentación de pasar de un tutorial a otro, abordando tema tras tema sin aplicar ninguno de esos conocimientos de manera práctica. Resiste esta tentación.
Una cosa es entender un ejemplo antes que usted, pero otra es sintetizar una solución desde cero. Si desea acelerar el proceso de aprendizaje, debe estar dispuesto a ser activo en lugar de pasivo. La práctica activa es el único tipo que importa al final.
Experimentar con proyectos personales
Para mí, la tarea era la peor parte de la escuela. Parecía una estratagema elaborada para matar la diversión y mantener a los estudiantes ocupados, lo que, para ser justos, a veces era cierto. Pero ahora que miro hacia atrás, la importancia de la tarea finalmente tiene sentido. Me obligó a aplicar el conocimiento recién adquirido de manera activa.
Si está inscrito en cursos y clases de programación Los 11 mejores sitios para cursos gratuitos de programación informática en línea Los 11 mejores sitios para cursos gratuitos de programación informática en línea Con estos cursos gratuitos de programación informática en línea, puede convertirse en un excelente programador sin un título en informática. , no subestimes la eficacia de la tarea. Tómelo en serio, siempre trátelo como una oportunidad para consolidar aún más lo que ha aprendido en la memoria a largo plazo..
Pero muchas veces, la tarea aún no es suficiente. (Y si está aprendiendo a programar por su cuenta sin un instructor real, probablemente no tenga tarea para empezar).
¿Cual es la solución? Crea un par de proyectos secundarios desechables!
Piense en algunas ideas de proyectos 5 Ideas de proyectos para ayudarlo a aprender a programar más rápido 5 Ideas de proyectos para ayudarlo a aprender a programar más rápido Hay algunas maneras de facilitar la curva de aprendizaje para la programación. Ensúciate las manos y aprende más rápido con proyectos paralelos que puedes comenzar en cualquier momento. Juega un poco con estos cinco. que te gustaría implementar. Para los novatos absolutos, puede considerar un juego de Tic-Tac-Toe o Hangman. Para programadores experimentados que intentan aprender un nuevo marco, intente codificar una aplicación móvil simple o un juego web. Mientras te interese a nivel personal, hazlo!
La belleza de este enfoque es doble.
Primero, es más probable que atraiga su atención. Los estudios han demostrado que los estudiantes aprenden mejor cuando pueden buscar temas que les interesan. Eso es exactamente lo que ofrece un proyecto personal. Tienes un objetivo final que realmente quieres lograr, por lo que es más probable que retengas la información que te llevará hasta allí.
Segundo, no hay presión para que tengas éxito. Si bien el éxito sería bueno, la falta de formalidad te permite ser experimental y creativo. Inevitablemente te encontrarás con problemas, pero es más como jugar con Lego que como tarea. Es más divertido y no tan estresante..
Relájate y marca todo
La verdad es que ningún programador recuerda todo Ellos han aprendido. Incluso después de haber estado trabajando con una biblioteca o marco en particular durante un tiempo, no es raro que no pueda recordar todas las funciones o variables de la parte superior de su cabeza.
De hecho, tratar de memorizar todo podría terminar siendo una gran pérdida de tiempo y esfuerzo. Las hojas de referencia existen por una razón. ¿Por qué guardar toda una enciclopedia en la memoria cuando puede abrirla siempre que la necesite??
Entonces, cuándo memorizar y cuándo hacer referencia?
Cuando se trata de material conceptual, siempre interiorízalo lo mejor que puedas. Con eso me refiero a comprender la teoría incluso si no puede convertirla en código real (y la teoría debe ser lo suficientemente clara para que pueda enseñarla claramente).
Para todo lo demás, como nombres de funciones específicas, listas de parámetros o incluso peculiaridades del lenguaje - No me preocuparía comprometerme con la memoria. Siéntase libre de diferir a una hoja de referencia. A veces, hará referencia a algo con tanta frecuencia que terminará memorizándolo. Si eso sucede, bien. Si no, también está bien.
Personalmente, tengo cientos de marcadores de Internet para varias API, guías y tutoriales. Si necesito implementar algún tipo de algoritmo de búsqueda de ruta, podría hacer referencia a una guía para ayudarme a codificarlo antes de olvidarlo nuevamente. Ayuda a comprender los conceptos subyacentes, pero trato de no preocuparme por los detalles de implementación.
Pensamientos finales
Lo repetiré un millón de veces si tengo que: la programación es difícil y está bien si luchas con ella. He estado programando como pasatiempo durante más de una década y todavía me siento intimidado cuando tengo nuevos conceptos que aprender.
No se castigue si no puede recordar todo de inmediato. Esperamos que los consejos anteriores le resulten útiles, e incluso si no lo hacen, siempre puede confiar en las referencias marcadas como último recurso.
¿Le resulta difícil programar? ¿Qué tipo de trucos y consejos sabes que podrían ser útiles para los programadores novatos? Comparte tu sabiduría con nosotros en los comentarios a continuación!
Créditos de imagen: Programador binario a través de Shutterstock, borrador de memoria a través de Shutterstock, código ofuscado a través de Shutterstock, Ducky de goma a través de Shutterstock, mecanógrafo de teclado a través de Shutterstock, código fuente de PHP a través de Shutterstock, carpetas de archivos a través de Shutterstock