- En un experimento de aprendizaje de Python, la habilidad lingüística y la capacidad de resolución de problemas fueron los mejores predictores de la velocidad de aprendizaje, lo que sugiere que iniciarse en la programación podría parecerse más a aprender un idioma que a aprender matemáticas
- Los investigadores reclutaron a 42 personas para tomar 10 lecciones de Learn Python de Codecademy, y compararon pruebas previas, cuestionarios y tareas finales de los 36 participantes que completaron el estudio
- El logro de aprendizaje dependió principalmente de la resolución de problemas y la memoria de trabajo, pero en la velocidad de aprendizaje influyeron tanto las capacidades cognitivas generales como la aptitud lingüística
- La aptitud lingüística explicó casi el 20% de la diferencia en la velocidad de aprendizaje de Python, mientras que la prueba previa de matemáticas explicó solo el 2% de la diferencia en velocidad y no tuvo correlación con el logro
- Las oscilaciones beta en EEG en estado de reposo también se relacionaron con un aprendizaje más rápido y mayor conocimiento de programación, pero la causalidad y el mecanismo aún no están claros
Capacidades que predijeron el aprendizaje de Python
- Un estudio de investigadores de la University of Washington plantea que, en el aprendizaje de Python, la habilidad lingüística y la capacidad de resolución de problemas son los mejores predictores de la velocidad de aprendizaje
- El estudio se publicó en Scientific Reports y comparó qué tan rápido y qué tan bien aprendían programación los participantes mediante pruebas conductuales y mediciones de actividad cerebral
- El punto de partida fue la hipótesis de que aprender lenguajes de programación como Python o Java podría parecerse más de lo esperado a aprender idiomas naturales como francés, español o chino
Diseño del estudio y forma de medición
- Se reclutó a un total de 42 personas para realizar el curso online de programación “Learn Python” de Codecademy
- El curso constaba de 10 lecciones de 45 minutos
- Los participantes que completaron todo el estudio fueron 36
- Antes de las clases online, los participantes realizaron varias pruebas previas
- Habilidad matemática
- Memoria de trabajo
- Resolución de problemas
- Capacidad para aprender una segunda lengua
- Durante las clases, se hizo seguimiento de la velocidad de aprendizaje y del desempeño mediante los cuestionarios incluidos en el software online
- Al final del estudio se realizaron además un cuestionario y una tarea de programación para comprobar el conocimiento general de código
Factores que diferenciaron la velocidad y el logro de aprendizaje
- Los participantes mostraron resultados distintos en la velocidad con que aprendieron Python y en su habilidad final de programación
- Qué tan bien aprendieron Python dependió principalmente de capacidades cognitivas generales
- Capacidad de resolución de problemas
- Memoria de trabajo
- Qué tan rápido aprendieron Python se explica conjuntamente por las capacidades cognitivas generales y la aptitud lingüística
- La aptitud lingüística representó casi el 20% de la diferencia en la velocidad de aprendizaje de Python
- El desempeño en la prueba previa de matemáticas explicó solo el 2% de la diferencia en la velocidad de aprendizaje, y no tuvo ninguna correlación con qué tan bien aprendieron Python
- En estos resultados, aprender a programar depende más de la habilidad lingüística que de la capacidad matemática
Evidencia que aportó el EEG y sus límites
- Antes del aprendizaje online, a los participantes se les midió el EEG en estado de reposo
- El EEG es un método para medir la actividad cerebral a través de patrones eléctricos registrados mediante el cráneo
- La actividad eléctrica en estado de reposo presenta varios patrones, y uno de ellos es una actividad eléctrica lenta llamada oscilaciones beta
- Estudios anteriores habían vinculado niveles altos de oscilaciones beta en estado de reposo con la capacidad para aprender una segunda lengua
- En este estudio, los niveles altos de oscilaciones beta también se relacionaron con un aprendizaje más rápido y mayor conocimiento de programación
- Sin embargo, todavía no está claro cómo se conectan las oscilaciones beta con los resultados de aprendizaje, por lo que se necesita más investigación
Impacto en la educación de programación y en los prejuicios
- Los resultados respaldan la idea de que, en programación, o al menos en el aprendizaje de Python, la habilidad lingüística es un factor importante, y que la habilidad matemática no predice con fuerza ni la velocidad de aprendizaje ni el logro
- La programación suele considerarse un campo “intensivo en matemáticas”, pero este estudio obliga a revisar supuestos antiguos sobre los prerrequisitos para aprender a programar
- Algunas áreas exigen tanto matemáticas como habilidades de programación, pero no se puede afirmar que eso describa a la mayoría de los posibles trabajos de programación
- Exigir clases avanzadas de matemáticas a todos los estudiantes de ciencias de la computación parece innecesario a la luz de estos resultados, y flexibilizar los requisitos de matemáticas podría ayudar a reclutar y retener estudiantes
- En un contexto en el que la programación se vuelve prerrequisito para muchos trabajos, una persona puede encajar en ciencias de la computación aunque no sea “de mente matemática”
Comentarios sobre diversidad y métodos educativos
- Las mujeres a menudo sienten que no encajan con la imagen del “programador de computadoras típico”
- En promedio, las niñas tienden a tener mayores habilidades lingüísticas que los niños, y si la habilidad lingüística predice la capacidad para aprender programación, las mujeres también podrían ganar mayor reputación como buenas programadoras
- Conectar explícitamente la programación con las habilidades lingüísticas y ofrecer opciones educativas que no exijan matemáticas avanzadas podría ayudar a mejorar la diversidad
- Las opciones tipo bootcamp, que están ganando popularidad rápidamente, pueden conducir a una carrera en programación sin obligar a los participantes a cursar cálculo
- En un comentario complementario, se plantea que la educación en programación puede estar sesgada hacia tareas centradas en matemáticas, como calcular números de Fibonacci o implementar algoritmos de ordenamiento, y que tareas más creativas y orientadas al lenguaje podrían ayudar a más estudiantes a aprender
1 comentarios
Opiniones de Hacker News
Si uno lee el paper de verdad, el título se acerca bastante al clickbait, y los resultados de la investigación también están muy exagerados.
La muestra es muy pequeña: solo 36 personas completaron el estudio, y la capacidad matemática da alrededor de R²=.27, mientras que el lenguaje da R²=.31.
Luego calculan la contribución a la varianza mediante regresión por pasos, pero el resultado prácticamente ignora lo anterior y hace parecer que la contribución de la capacidad matemática es casi nula. La razón es que las dos variables tienen cerca de 10% de varianza compartida, y la regresión por pasos es voraz, así que la variable que entra primero se la queda.
Incluso si se agregara otra prueba de lenguaje similar, podría salir que su contribución de varianza única es casi nula.
Las mediciones también son muy ruidosas —evaluadores humanos, tiempo de finalización, etc.— y no hay ningún intento de tratar ese ruido.
Con los valores presentados, si se evalúa con una prueba de Steiger la afirmación de que “el aprendizaje de idiomas es más significativo que la capacidad matemática”, el p-value es 0.772, o sea, no es significativo en absoluto.
En definitiva, la capacidad matemática explica el 27% de la varianza y la habilidad lingüística el 31%, pero después de agregar una variable correlacionada, la contribución única de la capacidad matemática simplemente baja a 2%.
Que en la regresión salga una pendiente positiva parece estar muy influido por la ubicación de valores atípicos, y en el diagrama de dispersión de aptitud lingüística al menos se ve a simple vista una relación ascendente entre las dos variables.
Creo que el buen código no se limita a resolver el problema, sino que lo resuelve de una forma legible y modular.
La parte de resolución de problemas en programar requiere habilidad matemática, y la parte de estructurarlo requiere habilidad de escritura. El código desordenado después se vuelve difícil de releer o extender, y termina obstaculizando la propia resolución del problema.
Las demostraciones matemáticas largas también requieren capacidad de estructuración, pero en matemáticas parece haber más “grandes saltos” o conceptos intrínsecamente complejos a los que es difícil llegar solo escribiendo bien.
En cambio, en programación hay muchos “pasos pequeños”, así que aunque uno no sea muy inteligente, si persevera y construye componente por componente, sin demasiadas dependencias, puede crear programas impresionantes.
En la práctica, se pasa más tiempo leyendo esquemas de bases de datos e interfaces para entender el comportamiento que haciendo manipulaciones matemáticas.
Hay excepciones, como los motores de juegos, pero incluso en gráficos 3D muchas veces no se necesita más que los primeros temas de álgebra lineal.
Muchas veces el código no modular es más legible y más rápido, y en lenguajes de bajo nivel o con gestión manual de memoria, la mejor solución —o la correcta— a veces está lejos de ser legible.
La legibilidad depende de quién lo mire, y queda por detrás de los requisitos formales.
Personalmente prefiero funciones largas, bien organizadas y modularizadas solo lo mínimo. Los límites de archivo y los nuevos contextos de función, ese tipo de cambios de contexto, han sido para mí la mayor fuente de complejidad y bugs al mantener y extender código.
La modularización aumenta esos límites, oculta la complejidad y puede hacer que los problemas de organización sean más difíciles de razonar y corregir. Aunque una función larga sea menos legible al principio, creo que produce un modelo mental más claro y lleva a mejores soluciones.
A diferencia de algo cuyas interacciones con otras cosas son complejas, un concepto complejo en sí mismo parece más una herramienta hecha a medida dentro de una demostración que un objeto de uso general.
La frase “la programación tiene muchos pasos pequeños” está bien expresada. A menudo pienso que, para un programador que escribe código mantenible, una memoria de trabajo promedio quizá incluso ayude.
Porque si no recuerdas lo que escribiste hace 3 minutos, no puedes producir código espagueti que funcione. Claro que es una hipótesis bastante autojustificatoria.
Lo mismo aplica a evitar dependencias innecesarias entre componentes y a analizar el problema para encontrar partes separables.
Lo frustrante al enseñar programación es la presión de tener que mantener siempre la actitud de que “cualquiera puede aprender a programar”.
Muchas personas que quieren aprender a programar ya están confundidas o equivocadas desde su motivación, y puede ser mucho más eficiente que desarrollen otras habilidades. No es una cuestión de elitismo, sino que yo también puedo no ser capaz de hacer cosas que a otros les salen naturalmente.
El esfuerzo de hacer divisiones largas mentalmente se parece al esfuerzo de seguir código espagueti difícil de entender.
Uno puede volverse rápido y bueno en divisiones mentales, pero quizá nunca entender el teorema fundamental del cálculo.
Hay gente que se mueve muy bien entre código basura y, como les pagan, no les queda otra que volverse buenos en eso, pero no queda claro en qué parte de la programación se volvieron buenos.
Si en el trabajo siento que solo estoy practicando algo como divisiones largas mentales, siempre busco un nuevo empleo. Por mucho dinero que haya, no vale la pena si el costo es quedarse atrás.
Aunque el estudio de Prat et al. (2020) sugiere que la aptitud lingüística es un mejor predictor que la habilidad numérica para aprender Python, hay que leerlo con cuidado porque se puede simplificar con facilidad.
Lo que midió el estudio fue la competencia numérica funcional para resolver problemas cotidianos con números. Eso es bastante distinto de las matemáticas avanzadas que suelen asociarse con la programación, como la lógica formal, la abstracción simbólica y los lenguajes formales.
Lo importante para entender la recursión, la inferencia de tipos y el diseño de algoritmos no es la aritmética básica, sino esas capacidades más abstractas. Por lo tanto, que en este estudio la competencia numérica funcional tenga poco poder predictivo no significa que el razonamiento matemático profundo no tenga relación con la programación.
Además, el lenguaje estudiado fue Python, diseñado para ser legible y cercano al lenguaje natural. Eso puede favorecer a quienes tienen fuertes habilidades lingüísticas, pero quizá no se pueda generalizar a C, Lisp o Haskell, que tienen mayor densidad simbólica y lógica.
El lenguaje y las matemáticas no son dominios opuestos, sino que comparten bases cognitivas como la memoria de trabajo, la atención ejecutiva y el procesamiento de estructuras jerárquicas. La clave no es cuál de los dos “gana”, sino cómo interactúan y se complementan en distintos contextos de programación.
La academia lleva décadas intentando formalizar muchos aspectos de la programación, pero todavía parece no entender la baja correlación entre los graduados en ciencias de la computación y los programadores innovadores.
En la práctica, muchas personas que logran resultados aprenden la recursión al llegar a un punto en que otros métodos chocan contra una pared y tener ese momento de “ah, por eso existe la recursión”. No estudiando abstracción simbólica, semántica denotacional ni teoría de tipos.
La verdad incómoda es que casi todo en la programación profesional e innovadora no usa las matemáticas avanzadas obligatorias de los programas universitarios.
Creo que la dureza de esa educación se sostiene en gran medida por el “yo lo hice, así que tú también debes hacerlo” y por el gatekeeping académico.
Cuando uno se vuelve muy bueno programando y entra en la etapa más productiva de su vida, se siente como un lenguaje. Simplemente puedes expresarte como si estuvieras hablando.
Estos resultados me parecen bastante convincentes. Siempre he leído muy bien y muy rápido, y esa capacidad me fue enormemente útil en mi carrera como programador.
En la sección de matemáticas del SAT saqué 710, que está bien, pero a fines de los 90 obtuve 800 sobre 800 en la sección verbal del SAT.
Cuando empecé mi proyecto de maestría sobre redes de sensores inalámbricos, mi asesor imprimió el código fuente de TinyOS y me dijo que lo estudiara durante una semana y volviera cuando creyera haberlo entendido lo suficiente.
Esa experiencia fue formativa, y desde entonces, cada vez que me sumo a un proyecto nuevo, me tomo el tiempo de leer el código y entender cómo encaja todo.
Ahora soy desarrollador web senior y sigo sin manejar mucha matemática más allá de la básica necesaria para la vida diaria. Eso sí, gracias a 18 años en servicios de comida, calculo porcentajes aproximados bastante rápido.
Los mejores programadores con los que trabajé seguían teniendo un fuerte pensamiento lingüístico. Manejaban varios idiomas aunque no lo necesitaran, o tenían un largo historial de lectura de literatura difícil.
Como mínimo tenían un ingenio particular, metacognitivo y metalingüístico.
Creo que eso sigue siendo así, pero con la masificación de los títulos y las trayectorias profesionales se volvió más difícil reconocerlo en la naturaleza. Además, aunque en la práctica se necesitan mucho más seguido el buen diseño y la capacidad de explicación que crear algoritmos desde cero, optimizar para LeetCode naturalmente favorece a los cerebros más matemáticos.
Pero soy pésimo en matemáticas y las odio. Leer la mayoría de los textos matemáticos me hace sentir como si tuviera dislexia.
Me iba bien en la primaria, pero cuando el foco pasó a ser más las ecuaciones, las abstracciones y cosas sin una aplicación clara, en vez de algoritmos, me frustré rápidamente.
En cambio, la programación se me dio de forma natural y la aprendí con facilidad. Cuando aprendía temas “difíciles” como punteros o recursión, en realidad me parecían tan fáciles que tardaba más en convencerme de que “no puede ser tan simple, seguro me estoy perdiendo algo”.
En cada trabajo terminaba siendo la persona que tomaba los problemas “difíciles” o de “bajo nivel”.
Cuando tengo que leer matemáticas, solo logro entender si convierto todo en pasos y hago que valores de ejemplo pasen por esos pasos y se afecten entre sí. Tengo que convertirlo todo en algoritmos.
Los intentos de expresar significado con ecuaciones y demostraciones no encajan conmigo; solo entiendo a duras penas cuando convierto una por una las fronteras entre todos los símbolos en pasos y las recorro.
Creo que la programación me encajó porque normalmente se presenta y se aprende de forma centrada en algoritmos, con muchas menos de las otras formas de expresión matemática. El contexto sobre lo que significan las variables y las rutinas también es muchísimo más rico que una masa de símbolos.
Si a Perl le dicen write-only, entonces no sé qué será la escritura matemática. Comparado con el puro delirio de un cultista de Cthulhu con la mente rota, Perl es lo más claro del mundo.
El problema son los lenguajes con sintaxis matemática. El estilo idiomático de resolver cosas con variables de una sola letra y declaraciones de igualdad es difícil de leer, y Haskell simplemente no lo puedo leer.
Conceptos igual de complicados, como mónadas o clases de tipos, me resultan fáciles cuando los veo en lenguajes más comunes, pero si intento aprenderlos en Haskell no avanzo nada. Incluso un programa de nivel fizzbuzz escrito en Haskell me toma mucho tiempo entenderlo.
Mi puntaje verbal era mucho más alto, y he construido una gran carrera en ingeniería de software, usando muchos lenguajes en grandes proyectos profesionales de una megacorporación que todos conocerían.
Lo de “cerebro lingüístico” o “cerebro matemático” no se sostiene a menos que se demuestre experimentalmente que esas neuronas están divididas en dos regiones no superpuestas, dedicadas respectivamente al lenguaje y a las matemáticas
Las matemáticas en sí también son un lenguaje formal creado por humanos, y aunque parten de definiciones y axiomas de la lógica y la teoría de conjuntos, esas definiciones y axiomas también tienen que darse primero en lenguaje humano
Los matemáticos expertos leen los teoremas escritos con letras griegas en el pizarrón como si fueran inglés común, lo que sugiere que piensan en ellos como en inglés común
Por supuesto, si quisieran, también podrían imaginar en su mente una representación visual isomorfa a ese lenguaje
“Cerebro lingüístico” y “cerebro matemático” no son más que ficciones útiles, y no importa si en realidad son trozos de carne distintos
Aun así, la mayoría estaría de acuerdo en que resolver problemas, expresar ideas con palabras y expresar ideas con matemáticas son habilidades muy distintas
Como dijo Henri Poincaré, “la poesía es el arte de dar nombres distintos a la misma cosa, y las matemáticas son el arte de dar el mismo nombre a cosas distintas”; al final creo que se parece más a la capacidad de poner buenos nombres, sobre todo a las abstracciones
Aunque, en mi experiencia, el SAT de hace 20 años también trataba muchas abstracciones como analogías en la sección verbal, y matemáticas era parecido. En una prueba que rendí una vez saqué 660 en verbal y 650 en matemáticas, casi igual
Oliver Sacks escribió sobre los efectos secundarios extraños de los traumatismos cerebrales
También se podría experimentar provocando traumatismos en varias partes del cerebro de matemáticos o escritores, pero la estimulación neural o la anestesia de regiones cerebrales quizá también muestren algo
Esta afirmación es rara en varios sentidos. Aunque no creo que existan entidades como “cerebro lingüístico” o “cerebro matemático”, al mismo tiempo mucha gente no sabe qué son las matemáticas, y esa evidencia podría verse más bien como apoyo a la idea de un “cerebro matemático”
Las matemáticas no tratan de cálculo, sino de patrones. Cuando entras en álgebra piensas “¿por qué hay letras en matemáticas?”, pero al avanzar más terminas pensando “¿por qué hay números en matemáticas?”
La gran tragedia de la educación matemática es que se enfoca demasiado en el cálculo. Temas útiles como teoría de grupos, combinatoria, grafos, teoría de conjuntos y teoría de categorías tienen bases que incluso los niños pueden entender, pero recién se enseñan en una licenciatura de matemáticas o en posgrado
Estos temas tienen una profundidad enorme, pero muchas de las partes que formalizan formas de pensar pueden entenderlas los niños. Como ejemplo recomiendo Visual Group Theory[0]
Las matemáticas tratan de abstracción, pero curiosamente las reservamos hasta el “final del juego”
Puedo decir con seguridad que entender estas cosas acelera el aprendizaje e influye profundamente en la forma de pensar. Eso sí, hay que tomarse en serio esa abstracción y no limitarse a verla como una herramienta que solo sirve para aplicaciones específicas
A mucha gente le cuestan los problemas de enunciado, pero incluso si la situación absurda es que tu primo Throckmorton quiere comprar 500 sandías, al final eso también es parte de conectar las matemáticas con la realidad
La razón por la que las matemáticas “avanzadas” aceleraron mi aprendizaje es que ese nivel de matemáticas enseña abstracción, es decir, una forma de pensar. Ayuda muchísimo aunque no uses ecuaciones
En realidad, las matemáticas no consisten en escribir ecuaciones, pero cuando las cosas se vuelven complejas las ecuaciones ayudan mucho, y por eso se usan
[0] https://www.youtube.com/watch?v=UwTQdOop-nU&list=PLwV-9DG53N...
Por ejemplo, nunca había oído decir que las matrices son una abstracción útil, o una notación abreviada, para representar ecuaciones lineales
Lo mismo con los números imaginarios, que son una abstracción inventada para facilitar ciertos cálculos
Me habría gustado aprender desde la perspectiva de cómo surgieron esas abstracciones y por qué son útiles
“En la clase de música sacamos el pentagrama, y cuando el profesor escribe notas en el pizarrón nosotros las copiamos o las transponemos a otra tonalidad. Hay que escribir bien las claves y las armaduras, y el profesor se fija con mucho detalle en si rellenamos por completo las negras. Una vez acerté un problema de escala cromática, pero no me dieron puntos porque la dirección de las plicas estaba mal.”
https://en.m.wikipedia.org/wiki/A_Mathematician%27s_Lament
Yo también experimenté una aceleración en mi capacidad de aprender y razonar al estudiar álgebra abstracta por mi cuenta
Básicamente había cuatro trayectorias: una terminaba Álgebra 1 en el último año, otra hacía trigonometría en el último año, otra también llegaba hasta trigonometría pero sin precálculo, y solo la última llegaba hasta trigonometría y precálculo
Esa última clase también estaba más subdividida: algunos veían solo precálculo, otros veían Cálculo 1 y AP Calculus AB o IB Math SL, y un grupo más pequeño veía AP Calculus BC o IB Math HL
En mi generación, de 500 a 600 egresados, unos 20 estudiantes rindieron el examen AP Calculus AB
La expresión “habilidad lingüística y capacidad para resolver problemas” ya es la primera señal de alerta. El título lo convirtió en un asunto exclusivamente de lenguaje
Es bastante evidente que la capacidad para resolver problemas está relacionada, pero lo del lenguaje es menos claro
He programado la mayor parte de mi vida, pero no me considero alguien que hable bien. Mi habilidad lingüística es más o menos, y no espero aprender nuevos idiomas naturales con facilidad
Por eso soy escéptico y, al ver el estudio, para empezar “matemáticas” se convirtió en numeracidad. Creo que la programación se parece más al álgebra, aunque incluso eso es menos estricto y más fácil de depurar
La medición de numeracidad del estudio era una escala basada en Rasch: evaluaron 18 ítems de numeracidad de varias escalas y luego eligieron los 8 con mayor capacidad predictiva
Además, este estudio ya usa datos de hace 5 años
Si alguien puede resolver un problema pero no puede explicar cuál es el problema ni por qué su solución lo resuelve, es difícil llamarlo buen solucionador de problemas
Alguien que explica bien el problema pero no se le ocurre una solución ya es mejor que muchos programadores del mundo, y preferiría trabajar con esa persona antes que con alguien que solo arroja la solución sin el “proceso de resolución”
De hecho, sin esa capacidad de expresión, es difícil captar qué es resolver problemas en un sentido primitivo
En este contexto, la creatividad podría ser la capacidad de replantear un problema de una forma más accesible. En muchos casos, ese encuadre sugiere una solución obvia o un conjunto de soluciones con compromisos claros
He visto una correlación bastante interesante entre quienes aprenden bien programación y quienes son buenos en los concursos de deletreo en inglés
Parece similar en que realizan un proceso algorítmico, pero también mantienen en la cabeza muchas anécdotas y excepciones a reglas difíciles
Mi cerebro parece estar adaptado para almacenar y recuperar este tipo de datos, y eso también tiene una alta correlación con cosas como las interfaces CLI y estructuras de comandos peculiares
Creo firmemente que definir un “cerebro lingüístico” y un “cerebro matemático” es una falsa dicotomía y mala neurociencia
Las matemáticas son, en sí mismas, un conjunto de símbolos creado para expresar conceptos; es decir, un lenguaje
Este estudio da la impresión de esforzarse por decir algo que la mayoría ya sabe: que con interés, empuje y oportunidades, cualquiera puede convertirse en buen programador, matemático o lo que sea
Un libro interesante que muestra el cambio en la percepción social de los matemáticos, y por extensión de los científicos de la computación, es “Duel at Dawn”
La imagen moderna, relativamente reciente, es la de un genio recluido con capacidades innatas, alienígenas y sobrehumanas para procesar números e información, a veces incluso con insinuaciones de autismo. Es el estereotipo de “Sheldon Cooper” en la serie de TV “the big bang theory”
Pero eso es falso
Nadie nace con la capacidad sobrehumana de ser excelente en algo. Quien es muy bueno en algo, independientemente de cómo se lo perciba, es alguien que trabajó muy duro para ser bueno en eso
Al principio critiqué el estudio basándome solo en el artículo, pero después de hojear el paper citado corregí mis críticas específicas. Aun así, el paper en sí no me parece mucho más que un débil argumento eugenésico envuelto en terminología de psicología y estadística
El artículo es extremadamente engañoso, y casi diría que malicioso
El estudio en sí dice que el razonamiento fluido y la capacidad de memoria de trabajo explican el 34%, la aptitud lingüística el 17%, la potencia en las bandas beta y gamma baja del EEG en estado de reposo el 10%, y la numeracidad el 2%
Pero aquí equiparan la habilidad matemática con la numeracidad. El propio estudio también lo insinúa, pero estoy fundamentalmente en desacuerdo
Creo que la habilidad matemática está mucho más cerca del razonamiento fluido que de la numeracidad