Los estudiantes se desempeñan mejor cuando espacian sus sesiones de estudio en lugar de cuando intentan meter todo en sus noggins durante una sesión.
¿Por qué? Lo más probable debido al efecto de posición de serie:
El efecto de posición en serie es la tendencia de una persona a recordar los elementos primero y último de una serie, y los elementos intermedios peores.
En otras palabras: en cualquier sesión de estudio dada, es más probable que retenga la información que aprendió cerca del principio y al final de la sesión y más probable que olvide la información que se encuentra en la mitad de la sesión.
- ¿Fumar marihuana después de estudiar afecta el recuerdo?
- ¿Si entendemos los conceptos es fácil de recordar?
- ¿Qué herramientas utiliza para recordar el contenido de presentaciones / talleres individuales cuando asiste a conferencias?
- Tengo 38 años de edad. ¿Cómo puedo mejorar mis habilidades de memorización?
- ¿Qué pasaría si pudiera recordar todo perfectamente?
Quieres maximizar el número de inicios y finales. Por eso es mejor tener varias sesiones cortas en lugar de unas pocas sesiones largas para aprender y absorber material nuevo.
La próxima vez que se siente a aprender el código, tome un tema a la vez y tome un breve descanso entre cada tema. (¡Solo asegúrese de evitar que sus descansos se conviertan en dilación!)
Revisión, Revisión, Revisión
Otra razón por la que la acumulación de información es antitética a la retención de conocimientos 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 relacionados con la emoción.
Existe cierto debate sobre si la memoria en sí se descompone debido al tiempo (teoría de la descomposición) o si simplemente es expulsada y reemplazada por nuevas memorias con el tiempo (teoría de la interferencia). Cualquiera que sea la teoría a la que se suscriba, el resultado es que es más probable que los recuerdos más antiguos se desvanezcan.
Aquí es donde entra en juego la revisión.
Piense en ello como caminar a través de un bosque de recuerdos. Cada vez que desee acceder a una memoria, debe rastrear la ruta neuronal para encontrarla. Cada vez que recorres esa memoria, el camino se graba un poco más, al igual que la forma en que un camino de tierra se forma naturalmente cuando las personas recorren el mismo camino una y otra vez. Si dejas de caminar por el sendero, puede desaparecer y la memoria termina perdida en algún lugar del bosque.
Dejando a un lado toda la psicología pop, aquí está la conclusión: cuando se trata de programación, no es suficiente aprender un tema solo una o dos veces. Tienes que revisarlo 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 crammer natural, pero te sorprenderá lo rápido que comienzas a retener el material una vez que te esfuerzas por revisarlo regularmente.
Usa 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, estarás en un estado perpetuo de rascarte la cabeza.
Dependiendo del 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 lugar. Todo esto puede ser confuso si no tiene experiencia previa en codificación.
Sin mencionar toda la información conceptual que trasciende los lenguajes individuales. Los temas como la programación orientada a objetos, los sistemas de componentes de entidad y los patrones de observadores realmente pueden hacer que su cabeza gire la primera vez que intente aprenderlos.
He compartido esta ilustración antes, pero es tan conmovedora que vale la pena repetirla:
Supongamos que alguien te muestra una fotografía de una estatua. Puede proporcionar suficiente imagen para que tengas una idea adecuada de la estatua, pero no obtendrás la imagen completa. Una foto alejada perdería detalles intrincados, mientras que una foto alejada perdería un sentido de perspectiva.
Sin embargo, con cada fotografía adicional, realmente puede comenzar a ver la plenitud de la estatua en textura, en tamaño, en 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 usted. Tal vez todos odien el Recurso B, pero echa un vistazo y ¡tiene mucho sentido! En cuanto a otra persona, tal vez se aparten cuando estudian los recursos A y B, pero se benefician enormemente del recurso C.
Por eso es tan importante que esté dispuesto a consumir todo tipo de recursos. Todos aprenden de una manera diferente. Si tiene problemas con un tema en particular, busque otro recurso. Tal vez ese sea el 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 tu mente para siempre. Nunca se sabe, ¿por qué no consumir tantos recursos como puedas?
Enseña conceptos mientras los aprendes
Hay un hermoso concepto en la programación llamado depuración de pato de goma, 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 se rompe un segmento particular de código, pero no hay una razón obvia para ello.
Por extraño que parezca, la mayoría de los programadores tienen un momento de “¡Eureka!” En el medio de explicar el código, ya que ven de repente dónde se produce el error en la lógica de codificación. La verbalización activa 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 nuevo material. 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 tratan con conocimientos teóricos avanzados, este dicho se mantiene. 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 entenderlo.
Lo opuesto a esto también es cierto. A medida que intenta enseñar un tema, se encontrará con ciertos conceptos que parece que no puede explicar de manera clara. Esta no solo es una forma asombrosa de diagnosticar debilidades en su conocimiento, sino que el proceso real de encontrar la explicación adecuada puede ayudar a consolidar el concepto en su mente.
Se llama aprender enseñando y es básicamente un giro en la depuración del pato de goma.
Ahora, no estoy diciendo que en realidad debas enseñar a otros; más bien, cada nuevo tema de programación que aprendas, trata de enseñárselo a un pato de goma (o un amigo invisible). Puede parecer tonto al principio, pero puede que te resulte increíblemente fructífero cuando se trata de una retención memorable.
La práctica deliberada hace perfecto
La noción de talento es una completa basura. Nadie sale del útero como un violinista, luchador o programador de clase mundial. Claro, algunas personas podrían estar más inclinadas a ciertas disciplinas, pero el talento sin experiencia es inútil. Del mismo modo, el trabajo duro es siempre más valioso que el talento.
Dicho esto, 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. Si bien el sentimiento puede ser cierto, muchas personas malinterpretan lo que él 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 perfecto. La práctica perfecta hace perfecta. ”Para que tenga sentido, la práctica debe ser intencional. El dominio solo se puede alcanzar a través de 10,000 horas de práctica deliberada.
Cómo practicar importa mucho más que cuánto tiempo pasas practicando.
La lectura es pasiva. Ver las lecciones de YouTube es pasivo. Escuchar los podcasts es pasivo. Como programador novato, puede tener la tentación de pasar de tutorial a tutorial, abordando tema tras tema sin aplicar realmente ninguno de esos conocimientos de una 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 que importa al final.
Experimentar con proyectos personales
Para mí, la tarea era la peor parte de la escuela. Simplemente parecía una estrategia elaborada para matar la diversión y mantener a los estudiantes ocupados, lo cual, 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 los conocimientos recién adquiridos de forma activa.
Si está inscrito en una clase de programación, no subestime la eficacia de la tarea. Tómelo en serio, tratándolo siempre como una oportunidad para consolidar aún más lo que ha aprendido en la memoria a largo plazo.
Pero muchas veces, la tarea todavía no es suficiente. (Y si está aprendiendo a programar por su cuenta sin un instructor real, es probable que no tenga ninguna tarea para empezar).
¿Cual es la solución? ¡Crea un par de proyectos laterales desechables!
Piense en algunas ideas de proyectos que le gustaría implementar. Para los novatos absolutos, podrías 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 o un juego web simple. Mientras te interese a nivel personal, ¡adelante!
La belleza de este enfoque es doble.
En primer lugar, es más probable que mantenga su atención. Los estudios han demostrado que los estudiantes aprenden mejor cuando pueden seguir temas que les interesan. Eso es exactamente lo que ofrece un proyecto personal. Tiene un objetivo final que realmente desea alcanzar, por lo que es más probable que retenga la información que lo llevará 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. Es inevitable que tengas problemas, pero es más como jugar con Lego que con la tarea. Es más divertido y no tan estresante.
Relájate y marca todo
La verdad es que ningún programador recuerda todo lo que han aprendido. Incluso después de haber estado trabajando con una biblioteca o un marco en particular por un tiempo, no es raro que no puedas recordar cada función o variable de la parte superior de tu cabeza.
De hecho, tratar de memorizar todo podría acabar siendo una enorme pérdida de tiempo y esfuerzo. Las hojas de referencia existen por una razón. ¿Por qué guardar una enciclopedia completa en la memoria cuando puedes abrirla cuando la necesites? Lo mismo es cierto para las API de programación.
Entonces, ¿cuándo memorizar y cuándo referir?
Cuando se trata de material conceptual, siempre internalícelo lo mejor que pueda. Con eso me refiero a entender la teoría incluso si no puedes convertirla en código real (y la teoría debería ser lo suficientemente clara para que puedas enseñarla con claridad).
Para todo lo demás, como nombres de funciones específicas, listas de parámetros o incluso peculiaridades del idioma, no me preocuparía comprometerme con la memoria . Siéntase libre de diferir a una hoja de referencia. A veces, harás referencia a algo tan a menudo que acabarás memorizándolo. Si eso sucede, bien. Si no, eso 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 caminos, podría hacer referencia a una guía que me ayude a codificarlo antes de olvidarme de nuevo. Ayuda a comprender los conceptos subyacentes, pero trato de no preocuparme por los detalles de la implementación.
Pensamientos finales
Lo repetiré un millón de veces si tengo que hacerlo: la programación es difícil y está bien si luchas con ella. He estado programando como un pasatiempo durante más de una década y todavía me siento intimidado cuando tengo nuevos conceptos que aprender.
No te castigues si no puedes recordar todo de inmediato. Es de esperar que los consejos anteriores le sean útiles, e incluso si no lo son, siempre puede confiar en las referencias marcadas como último recurso.
¿Encuentras la programación difícil? ¿Qué tipo de trucos y consejos sabe que podrían ser útiles para los programadores novatos? ¡Comparte tu sabiduría con nosotros en los comentarios a continuación!