Memorizando un lenguaje de programacion usando software de repeticion espaciada
06-01-2013
He estado haciendo esto por un año, y es la técnica más útil de aprendizaje que he encontrado en 14 años de programación de computadoras.
Antecedentes
Soy un programador intermedio. No fui a la escuela por esto. Simplemente aprendí por necesidad debido a que comencé un pequeño sitio web llamado CD Baby que solo siguió creciendo y creciendo, y yo no podíapermitirme contratar a un programador, de manera que seleccioné algunos libros de $25 sobre PHP, SQL, Linux y Apache, y aprendí justo lo suficiente para hacerlo funcionar. Entonces utilicé ese pequeño conocimiento por años.
Pero luego, cuando trabajé al lado de un VERDADERO programador, ¡me quedé asombrado por su vocabulario! Todos esos comandos y funciones fluyendo simplemente sin esfuerzo de sus dedos. Estuvimos usando el mismo lenguaje, pero ellos han memorizado tanto de él, que me sentí como de unos 3 años al lado de un profesor universitario. Yo realmente queria obtener ese tipo de fluidez
Esto me hizo pensar sobre cuanto he aprendido luego inmediatamente olvidado , durante los años. Yo leo libros o articulos sobre cuan caracteristica util , y tratarla una vez, pero luego me distraigo, la olvido y regreso a mi manera normal de hacer las cosas.
Quería memorizar profundamente los comandos y tecnicas del lenguaje, y no olvidarlos, de modo que queden en el primer palno de mi mente cuando los necesite.
Repetición espaciada.
Cuando oyes un nuevo hecho, es olvidado muy rápidamente si no se traiga a la primer plano de la mente repetidamente.
Puedes hacer esto caprichosamente para sumergirte en un idioma, por ejemplo, cuando las nuevas palabras que aprendes serán mencionadas por casualidad ocasionalmente
Pero investigaciones sobre la memoria muestran que el momento mas eficaz y eficiente para ser recordado un nuevo hecho, es justo antes de olvidarlo.
Digo que aprendes una nueva palabra de un idioma extranjero, quererias practicarlo otra vez en unos pocos minutos despues de escucharlo, luego de unas pocas horas, luego el siguiente dia, luego en dos dias, luego en 5 dias, luego 10 dias , tres semanas, 6 semanas, 3 meses , 8 meses, etc. Despues mientras es memorizado basica y permanentemente con un raro recordatorio.
El Software de Repeticon espaciada hace esto para ti, asi que puedes justo darle un monton de hechos que quieres recordar , luego hacerle un examen rapido una vez al dia , y manejar los espacios basados en tus retroalimentaciones. Despues de alcanzar la pregunta rapida, si tu dices que una fue facil, no sera introducida para un largo tiempo, pero si no fueras eliminado , entonces preguntara otra vez en unos pocos minutos hasta que lo tengas.
Ve a y baja Anki - el programa, libre, de código abierto y mas popular para repetición espaciada. Está disponible para Mac, Windows, iPhone, Androind, etc. Escrito en Python.
En cuanto a lo programado, voy a llegar con esto.
¿Y si pudieras aprender todo acerca del lenguaje de programación de tu elección? Cada comando, cada parámetro, cada función. Cada solución de los cientos de problemas mas comunes, todo completamente memorizado y al alcance de tu mano. Imagina pasar a través de la documentación o un libro y permanentemente recordar cada simple cosa en el?
Suficiente de introducción, vamos al como:
Primero, aprende!
Primero, voy a poner algunas cosas realmente claras.
Las Flash cards, son para recordar lo que has aprendido.
Antes de crear una Flash card, necesitas el aprendizaje actual y entenderlo primero: Si aprendes a partir de libros, conferencias, vídeos, lectura, a través del código fuente, tutoriales en linea o cualquier otra cosa, crea la Flash card después de que hayas aprendido y entendido:
(Esto es por lo que no es de ayuda estudiar las tarjetas de alguien mas. Porque son solo recordatorios.)
Convierta el conocimiento en pequeños hechos:
Vas a estar haciendo un montón de Flash Cards. La pregunta en el frente. La respuesta en el dorso.
Si ya estabas usando esto para memorizar vocabulario de idiomas extranjeros, entonces el formato seria fácil. El frente tendría un palabra o frase y el dorso tendría su traducción y viceversa.
Pero si tu estas aprendiendo todo lo demás,Vas a tener que poner un poco de trabajo y creatividad en hacer tus propias tarjetas rápidamente.
Tomate un esfuerzo para leer a través de párrafos de cosas que quieres recordar, toma los hechos clave, separalos en su forma mas pequeña, y conviértelos en preguntas de un examen, para examinarte a ti mismo en el futuro.
Aquí están mis mejores consejos para ahorrar tiempo, basado en un año de hacer esto:
Transforma la prosa en código
Si estás aprendiendo JavaScript, Te encuentras con esta información.
Pruebas esto tú mismo, juegas un rato con él, y al fin descubres que 1 + '1' es '11'. Así que tú haces una tarjeta de memoria flash para recordar este hecho:
var a = 5 +'5'; //¿que es a?
'55' Si un lado de + es una cadena, el otro se convierte en otra cadena antes de ser añadido como cadena.
Algunas veces yo escribo una explicación. Otras veces eso no es necesario, porque la respuesta en si misma es suficiente para recordar su razón.
Intenta engañar a tu yo futuro
He aquí otro hecho de JavaScript:
Usted prueba esto por usted mismo, jugando con él, haga dos tarjetas de memoria flash para probar a engañar a su yo futuro:
var a = new Array('5'); // ¿que es a?
Una matriz de un elemento, la cadena '5': ['5'];
... y entonces una pregunat casi identica ...
var a = new Array(5); // ¿que es a?
Una matriz vacia de cinco elementos.
Cuando el programa te interoga, barajaré las tarjetas de memoria. ¡Ojalá estes ejemplos te sorprendan a propósito!
También puedes tratar de confundirte a tí mismo con ejemplos más complejos para mantener claras las detalles:
var a = [20, 10, 5, 1]; // ¿qué es a.sort()?
[1, 10, 20, 5] // sort trata todos los valores como cadenas
También no olvide introgarte sobre la respuesta:
var a = [20, 10, 5, 1]; // pon estos en orden númerica
función de comparación (v1, v2) {return (v1 - v2); } A.sort (comparar);
Guarda los trucos copados
Cuando encuentras un método listo que quieres recordar, convirtelo en la respuesta a un desafío pequeño.
var albums = [ {name; 'Beatles', title: 'White Album', price: 15}, {name 'Zepplin', title: 'II', price: 7} ] // haz funccionar esto: albums.sort(by('name')); albums.sort(by('title')); albums.sort(by('price'));
función (propName) {función de retorno (obj1, obj2) {v1 = obj1 [propName]; v2 = obj2 [propName]; si (v2 v1) {return 1; } Else {return 0; }}; }
Haz la respuesta requerir múltiples soluciones.
Si hay mas de una manera de hacer algo, y tu quieres recordar ambas, haz para ti mismo más de una solución, entonces podrás mantener ambas alternativas en mente. (Nota, estoy cambiando de ejemplos de Javascript a ejemplos de Ruby, ahora)
s = 'string like this' #Muestra dos métodos para convertirla en 'String Like This'
s.split.map (Y: capitalizar) .join ('') s.gsub (/ b S /) {| x | x.upcase}
Convirte conceptos generales en ejemplos sucintos
Por ejemplo, ya acabas de pasar 20 minutos en aprender algo que trata más de concepto y menos de funcciones espcificas. A veces solamente necesitas un ejemplo sucinto para acordarte del concepto.
/(a(b)((c)d))/.match('abcd ') # ¿Qué será $ 1, $ 2, $ 3, $ 4?
1 dólar = 'abcd' $ 2 = 'b' $ 3 = 'cd' $ 4 = 'c'
Otro ejemplo:
clase C da fin a clase D
clase D
Lee "20 Rules of Formulating Knowledge" ("20 reglas sobre la formulación del conocimiento") (Inglés) por Piotr Wozniak.
El consejo mejor sobre esto es un artículo que se llama "20 Rules of Formulating Knowledge" by Piotr Wozniak a . Así que lee eso.
Repásalo cada día
Para los resultados más eficaz, utiliza tu software de repitición espaciada una vez por día. Si permites pasar demasiado tiempo sin utilizarlo, interrumpes el ritmo y tienes que apreder de nuevo cosas que habrías recordado.
Puedes recordar de memoria miles de estos hechos en sólo 20 minutos al día. Lo convierto justo en una rutina de la mañana. Haz un vaso de té hirviendo. Repasa mi Anki. Toma mi té.
Se diverte añadir un poco de adrenalina cuando tú te interrogas por responder tan rápido como puedes.
Esto es como una visita mental al gimnasio. Unos 20 minutos intensos por día valen tanto por los resultados e inmediatos y permanentes.
Añade nuevas tarjetas siempre cuando sea posible, y vas sorprendido que todo que aguardes se mantiene disponible en tu mente.
Conclusión
He estado haciéndolo durante un año, y ha sido una gran ayuda para mi fluidez. Lo recomiendo ampliamente, tal como puedes decir.
Si te interesa, también puedes usar este método para aprender cualquier tipo de cosas. Mira este libro elemental y esta entrevista con Piotr Wozniak para más inspiración.
No duda en enviarme por correo electrónico en cualquier momento (derek@sivers.org) para poner cualquier pregunta o simplemente para decirme como te va.
Actualización:
Después de escribí esto, alguno me mostró un gran artículo sobre un enfoque similar - me parece este artículo lo explica aun mejor que hice aquí. Lee esto también por favor.
También muchas personas me pidieron compartir mi Anki tarjetas de memoria de Ruby y de Javascript. No me parece muy útil, porque las tarjetas no son la fuete de conocimiento - las tarjetas son más un recuerdo futuro que te das a tí mismo sobre algo ya aprendido El aprender mismo requiere más contexto. Pero a pesar de esto, si quieres, aquí tienes mis tarjetas del 7. enero 2013 de JavaScript y de Ruby . Tendrás que usar la función "File → Import" de Anki para importarlas.
Cubierta Rubí Anki
Yapa:
Info, videos, software y grupos de facebook para aprender a memorizar, estudiar y leer mas rápido
Si querés mejorar la traducción tenés este link. Saludos!
06-01-2013
He estado haciendo esto por un año, y es la técnica más útil de aprendizaje que he encontrado en 14 años de programación de computadoras.
Antecedentes
Soy un programador intermedio. No fui a la escuela por esto. Simplemente aprendí por necesidad debido a que comencé un pequeño sitio web llamado CD Baby que solo siguió creciendo y creciendo, y yo no podíapermitirme contratar a un programador, de manera que seleccioné algunos libros de $25 sobre PHP, SQL, Linux y Apache, y aprendí justo lo suficiente para hacerlo funcionar. Entonces utilicé ese pequeño conocimiento por años.
Pero luego, cuando trabajé al lado de un VERDADERO programador, ¡me quedé asombrado por su vocabulario! Todos esos comandos y funciones fluyendo simplemente sin esfuerzo de sus dedos. Estuvimos usando el mismo lenguaje, pero ellos han memorizado tanto de él, que me sentí como de unos 3 años al lado de un profesor universitario. Yo realmente queria obtener ese tipo de fluidez
Esto me hizo pensar sobre cuanto he aprendido luego inmediatamente olvidado , durante los años. Yo leo libros o articulos sobre cuan caracteristica util , y tratarla una vez, pero luego me distraigo, la olvido y regreso a mi manera normal de hacer las cosas.
Quería memorizar profundamente los comandos y tecnicas del lenguaje, y no olvidarlos, de modo que queden en el primer palno de mi mente cuando los necesite.
Repetición espaciada.
Cuando oyes un nuevo hecho, es olvidado muy rápidamente si no se traiga a la primer plano de la mente repetidamente.
Puedes hacer esto caprichosamente para sumergirte en un idioma, por ejemplo, cuando las nuevas palabras que aprendes serán mencionadas por casualidad ocasionalmente
Pero investigaciones sobre la memoria muestran que el momento mas eficaz y eficiente para ser recordado un nuevo hecho, es justo antes de olvidarlo.

Digo que aprendes una nueva palabra de un idioma extranjero, quererias practicarlo otra vez en unos pocos minutos despues de escucharlo, luego de unas pocas horas, luego el siguiente dia, luego en dos dias, luego en 5 dias, luego 10 dias , tres semanas, 6 semanas, 3 meses , 8 meses, etc. Despues mientras es memorizado basica y permanentemente con un raro recordatorio.
El Software de Repeticon espaciada hace esto para ti, asi que puedes justo darle un monton de hechos que quieres recordar , luego hacerle un examen rapido una vez al dia , y manejar los espacios basados en tus retroalimentaciones. Despues de alcanzar la pregunta rapida, si tu dices que una fue facil, no sera introducida para un largo tiempo, pero si no fueras eliminado , entonces preguntara otra vez en unos pocos minutos hasta que lo tengas.
Ve a y baja Anki - el programa, libre, de código abierto y mas popular para repetición espaciada. Está disponible para Mac, Windows, iPhone, Androind, etc. Escrito en Python.
En cuanto a lo programado, voy a llegar con esto.
¿Y si pudieras aprender todo acerca del lenguaje de programación de tu elección? Cada comando, cada parámetro, cada función. Cada solución de los cientos de problemas mas comunes, todo completamente memorizado y al alcance de tu mano. Imagina pasar a través de la documentación o un libro y permanentemente recordar cada simple cosa en el?
Suficiente de introducción, vamos al como:
Primero, aprende!
Primero, voy a poner algunas cosas realmente claras.
Las Flash cards, son para recordar lo que has aprendido.
Antes de crear una Flash card, necesitas el aprendizaje actual y entenderlo primero: Si aprendes a partir de libros, conferencias, vídeos, lectura, a través del código fuente, tutoriales en linea o cualquier otra cosa, crea la Flash card después de que hayas aprendido y entendido:
(Esto es por lo que no es de ayuda estudiar las tarjetas de alguien mas. Porque son solo recordatorios.)
Convierta el conocimiento en pequeños hechos:
Vas a estar haciendo un montón de Flash Cards. La pregunta en el frente. La respuesta en el dorso.
Si ya estabas usando esto para memorizar vocabulario de idiomas extranjeros, entonces el formato seria fácil. El frente tendría un palabra o frase y el dorso tendría su traducción y viceversa.




Pero si tu estas aprendiendo todo lo demás,Vas a tener que poner un poco de trabajo y creatividad en hacer tus propias tarjetas rápidamente.
Tomate un esfuerzo para leer a través de párrafos de cosas que quieres recordar, toma los hechos clave, separalos en su forma mas pequeña, y conviértelos en preguntas de un examen, para examinarte a ti mismo en el futuro.
Aquí están mis mejores consejos para ahorrar tiempo, basado en un año de hacer esto:
Transforma la prosa en código
Si estás aprendiendo JavaScript, Te encuentras con esta información.
"La suma (+) operador... aunque sólo un operador es una cadena, el otro operador se transforma en otra cadena y el resultado es la concatenación de las dos cadenas."
Pruebas esto tú mismo, juegas un rato con él, y al fin descubres que 1 + '1' es '11'. Así que tú haces una tarjeta de memoria flash para recordar este hecho:
var a = 5 +'5'; //¿que es a?
'55' Si un lado de + es una cadena, el otro se convierte en otra cadena antes de ser añadido como cadena.
Algunas veces yo escribo una explicación. Otras veces eso no es necesario, porque la respuesta en si misma es suficiente para recordar su razón.
Intenta engañar a tu yo futuro
He aquí otro hecho de JavaScript:
Si se pasa un simple número al constructor de una nueva Matriz , se crea una Matriz vacía de la longitud de ese número. Cualquier otra combinación de argumentos crea una Matriz de esos argumentos."
Usted prueba esto por usted mismo, jugando con él, haga dos tarjetas de memoria flash para probar a engañar a su yo futuro:
var a = new Array('5'); // ¿que es a?
Una matriz de un elemento, la cadena '5': ['5'];
... y entonces una pregunat casi identica ...
var a = new Array(5); // ¿que es a?
Una matriz vacia de cinco elementos.
Cuando el programa te interoga, barajaré las tarjetas de memoria. ¡Ojalá estes ejemplos te sorprendan a propósito!
También puedes tratar de confundirte a tí mismo con ejemplos más complejos para mantener claras las detalles:
var a = [20, 10, 5, 1]; // ¿qué es a.sort()?
[1, 10, 20, 5] // sort trata todos los valores como cadenas
También no olvide introgarte sobre la respuesta:
var a = [20, 10, 5, 1]; // pon estos en orden númerica
función de comparación (v1, v2) {return (v1 - v2); } A.sort (comparar);
Guarda los trucos copados
Cuando encuentras un método listo que quieres recordar, convirtelo en la respuesta a un desafío pequeño.
var albums = [ {name; 'Beatles', title: 'White Album', price: 15}, {name 'Zepplin', title: 'II', price: 7} ] // haz funccionar esto: albums.sort(by('name')); albums.sort(by('title')); albums.sort(by('price'));
función (propName) {función de retorno (obj1, obj2) {v1 = obj1 [propName]; v2 = obj2 [propName]; si (v2 v1) {return 1; } Else {return 0; }}; }
Haz la respuesta requerir múltiples soluciones.
Si hay mas de una manera de hacer algo, y tu quieres recordar ambas, haz para ti mismo más de una solución, entonces podrás mantener ambas alternativas en mente. (Nota, estoy cambiando de ejemplos de Javascript a ejemplos de Ruby, ahora)
s = 'string like this' #Muestra dos métodos para convertirla en 'String Like This'
s.split.map (Y: capitalizar) .join ('') s.gsub (/ b S /) {| x | x.upcase}
Convirte conceptos generales en ejemplos sucintos
Por ejemplo, ya acabas de pasar 20 minutos en aprender algo que trata más de concepto y menos de funcciones espcificas. A veces solamente necesitas un ejemplo sucinto para acordarte del concepto.
/(a(b)((c)d))/.match('abcd ') # ¿Qué será $ 1, $ 2, $ 3, $ 4?
1 dólar = 'abcd' $ 2 = 'b' $ 3 = 'cd' $ 4 = 'c'
Otro ejemplo:
clase C da fin a clase D
clase D
Lee "20 Rules of Formulating Knowledge" ("20 reglas sobre la formulación del conocimiento") (Inglés) por Piotr Wozniak.
El consejo mejor sobre esto es un artículo que se llama "20 Rules of Formulating Knowledge" by Piotr Wozniak a . Así que lee eso.
Repásalo cada día
Para los resultados más eficaz, utiliza tu software de repitición espaciada una vez por día. Si permites pasar demasiado tiempo sin utilizarlo, interrumpes el ritmo y tienes que apreder de nuevo cosas que habrías recordado.
Puedes recordar de memoria miles de estos hechos en sólo 20 minutos al día. Lo convierto justo en una rutina de la mañana. Haz un vaso de té hirviendo. Repasa mi Anki. Toma mi té.
Se diverte añadir un poco de adrenalina cuando tú te interrogas por responder tan rápido como puedes.
Esto es como una visita mental al gimnasio. Unos 20 minutos intensos por día valen tanto por los resultados e inmediatos y permanentes.
Añade nuevas tarjetas siempre cuando sea posible, y vas sorprendido que todo que aguardes se mantiene disponible en tu mente.
Conclusión
He estado haciéndolo durante un año, y ha sido una gran ayuda para mi fluidez. Lo recomiendo ampliamente, tal como puedes decir.
Si te interesa, también puedes usar este método para aprender cualquier tipo de cosas. Mira este libro elemental y esta entrevista con Piotr Wozniak para más inspiración.
No duda en enviarme por correo electrónico en cualquier momento (derek@sivers.org) para poner cualquier pregunta o simplemente para decirme como te va.
Actualización:
Después de escribí esto, alguno me mostró un gran artículo sobre un enfoque similar - me parece este artículo lo explica aun mejor que hice aquí. Lee esto también por favor.
También muchas personas me pidieron compartir mi Anki tarjetas de memoria de Ruby y de Javascript. No me parece muy útil, porque las tarjetas no son la fuete de conocimiento - las tarjetas son más un recuerdo futuro que te das a tí mismo sobre algo ya aprendido El aprender mismo requiere más contexto. Pero a pesar de esto, si quieres, aquí tienes mis tarjetas del 7. enero 2013 de JavaScript y de Ruby . Tendrás que usar la función "File → Import" de Anki para importarlas.
Cubierta Rubí Anki
Yapa:
Info, videos, software y grupos de facebook para aprender a memorizar, estudiar y leer mas rápido
Si querés mejorar la traducción tenés este link. Saludos!

