En agosto, anunciamos nuestra alianza con James Evans y Gary Lupyan para llevar a cabo una investigación sobre cómo la experiencia 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 logramos algunos de sus objetivos de investigación más amplios junto con el rediseño de los tracks de Exercism que comenté en la publicación anterior. Quedó claro que hay muchas áreas en las que Exercism podrá ayudar a su investigación, pero que esas tal vez no encajen directamente en el producto central de Exercism. Por eso decidimos 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 reunir datos sobre un objetivo de investigación específico. Los experimentos también tendrán el beneficio adicional de permitirnos probar tecnología nueva en un área menos crítica del sitio.
El primer experimento, que esperamos lanzar en la primera semana de enero, estará centrado en investigar cómo la experiencia previa en programación de una persona influye en la reutilización del código que produce en distintos lenguajes. El experimento tendrá la siguiente estructura:
- 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 nivel de fluidez en cada uno).
- Luego se le presentará al usuario una selección de X lenguajes en los que participar. No importa qué tan bien conozca el usuario el lenguaje o los lenguajes que elija: una variedad de conocimientos previos ayudará a la amplitud de los datos recolectados.
- Al usuario se le dará un ejercicio para completar, que debería tomar entre 10 y 15 minutos.
- Luego se le dará al usuario la solución de otra persona a un ejercicio diferente y se le pedirá que la extienda de cierta manera. Esto también debería tomar entre 10 y 15 minutos. Después de cada paso, le haremos preguntas al usuario sobre qué tan difícil le pareció el ejercicio o la extensión.
Luego los equipos de Gary y James analizarán los datos, investigando en qué se diferencia el código enviado según los distintos antecedentes, y cómo cambiaron las extensiones según los antecedentes de quien envió la solución inicial y los de quien la extendió.
Este experimento será el primer banco de pruebas para nuestra nueva funcionalidad de programación directamente 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, un track 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.