En agosto, anunciamos nuestra colaboración con James Evans y Gary Lupyan para llevar a cabo una investigación sobre cómo la experiencia previa en programación de las personas influye en cómo aprenden lenguajes.
A principios de este mes pasamos un tiempo reuniéndonos con James y Gary y planificando cómo lograr algunos de sus objetivos de investigación más amplios junto con el rediseño de las pistas de Exercism que comenté en la entrada anterior. Estaba claro que hay muchos ámbitos en los que Exercism podrá ayudar a su investigación, pero que puede que no encajen directamente en el producto principal de Exercism. Por lo tanto, hemos decidido crear una nueva área de Exercism centrada específicamente en la investigación, llamada (sin mucha imaginación) Exercism Research. Este subsitio albergará experimentos cuyo objetivo es recopilar datos sobre un objetivo de investigación concreto. Los experimentos también tendrán la ventaja añadida de permitirnos probar nuevas tecnologías en un área menos crítica del sitio.
El primer experimento, que pretendemos lanzar en la primera semana de enero, se centrará en investigar cómo la experiencia previa en programación de una persona afecta a la reutilización del código que produce en distintos lenguajes. El experimento se estructurará de la siguiente manera:
- Se pedirá a los usuarios que completen una breve encuesta sobre su experiencia en programación (por ejemplo, los lenguajes que conocen, el orden en que los aprendieron y su soltura con cada uno).
- Después, se ofrecerá a los usuarios una elección de X lenguajes en los que participar. No importa lo bien que conozca el usuario el lenguaje o los lenguajes que elija: una variedad de conocimientos previos ayudará a ampliar la diversidad de los datos recopilados.
- Se le dará al usuario un ejercicio que completar, que debería llevar entre 10 y 15 minutos.
- Después, se le dará al usuario la solución de otra persona a un ejercicio distinto y se le pedirá que la amplíe de una forma concreta. Esto también debería llevar entre 10 y 15 minutos. Tras cada paso, preguntaremos al usuario qué dificultad le ha parecido el ejercicio o la ampliación.
A continuación, los equipos de Gary y James analizarán los datos e investigarán en qué se diferencia el código enviado según los distintos perfiles, y cómo cambiaron las ampliaciones tanto en función del perfil de quien envió la solución inicial como del de quien la amplió.
Este experimento será el primer banco de pruebas de nuestro nuevo entorno de programación en el navegador antes de que se integre en el sitio principal en 2020. Esperamos contar con entre 5 y 10 lenguajes que participen en el experimento. Para participar, una pista necesitará tener un test-runner funcional y dos ejercicios para las dos partes, que ayudaremos a los mantenedores a crear. Si eres mantenedor y te interesa que tu lenguaje forme parte de esto, únete al canal #experiment-1 en Slack y avísanos.