9  Enseñar como un arte performativo

Segunda edición

Estás leyendo la segunda edición en progreso y en castellano de Enseñar Tecnología en Comunidad (Teaching Tech Together). Este capítulo está siendo objeto de una profunda reestructuración y puede resultar confuso o incompleto.

En Darwin entre las máquinas, George Dyson escribió, “En el juego de la vida y la evolución hay tres jugadores en la mesa: las personas, la naturaleza y las máquinas. Estoy firmemente del lado de la naturaleza. Pero la naturaleza, sospecho, está del lado de las máquinas…” De manera similar, ahora hay cuatro jugadores en el juego de la educación: los libros de texto y otros materiales de lectura, las clases en vivo, las clases en línea automatizadas y los large language models o LLMs (grandes modelos de lenguaje). Podrías darle a tus estudiantes clases escritas y alguna combinación de videos grabados y ejercicios para que realicen a su propio ritmo, pero si vas a enseñar de forma sincrónica, ya sea en persona o en linea, tienes que ofrecer algo diferente (y preferentemente mejor que) cualquiera de las opciones anteriores. Por lo tanto, este capítulo se enfoca en cómo enseñar a programar programando y como enseñar otras herramientas tecnológicas usándolas.

Los métodos que vamos a presentar se conocen como programacion participativa en vivo y demostracion participativa en vivo.

La codificación participativa en vivo es una técnica en la que la persona que enseña escribe y explica el código en frente de la clase mientras que sus estudiantes le siguen a la par, escribiendo y ejecutando el mismo código a medida que avanzan (Nederbragt (2020)).

La demostracion participativa en vivo tiene el mismo principio que la programacion participativa en vivo, pero se aplica a situaciones donde no se programa, si no que se muestra como usar una aplicacion o un sistema.

Este enfoque supone una mejora con respecto a enseñar a programar mostrando código estático, o haciendo una demostración en vivo donde la audicencia observa pasivamente, o donde se confía en que nuestros estudiantes lean un libro de texto (Nederbragt (2020)).

Estas tecnicas encarnan el enfoque “yo lo hago, nosotros lo hacemos, tú lo haces” de la transferencia de conocimientos, que se utiliza tanto en entornos educativos formales e informales para enseñar desde técnicas de laboratorio hasta la redacción de solicitudes de fondos (Nederbragt (2020)). Tambien se pueden considerar una implementación de la práctica guiada, la cual consiste en que quien enseña va presentando y resolviendo ejemplos de la habilidad o concepto que se está enseñando, junto con los estudiantes, paso a paso, mientras comprueba que ejecutan cada paso correctamente. (Hollingsworth and Ybarra (2009)).

Programacion en vivo

No hay acuerdo en lo que la comunidad de investigacion considera programacion en vivo. En la revision de literatura realizada por Selvaraj et al. (2021) encontraron las siguientes definiciones:

  1. Escribir codigo en vivo en una computadora enfrente de estudiantes durante una clase.

  2. Disenar e implementar un proyecto de programacion en frente de una clase durante una leccion.

Con las siguientes caracteristicas:

  1. Se debe usar un archivo en blanco, sin esqueleto de codigo.

  2. La pantalla de alguien que programa (docente o estudiante) se proyecta a toda la clase.

  3. La persona que programa en vivo debe pensar en vos alta durante la programacion en vivo.

  4. Ocurre en clases sincronicas o asincronicas. En esta ultima se graba la sesion de programacion en vivo para que sus estudiantes la vean a su conveniencia.

En ninguna de estas definiciones y caracteristicas se menciona que tus estudiantes tienen que programar junto contigo cuando estas ensenando con programacion en vivo. Esa es la principal diferencia con la tenica a la que nos referiremos en este capitulo: la programacion participatoria en vivo, donde tanto docentes como estudiantes escriben el codigo en un archivo en blanco en el mismo momento de forma sincronica.

9.1 Programacion participativa en vivo

La enseñanza es teatro, no cine.
Neal Davis

Esta es una estrategia eficaz para enseñar a programar (Rubin (2013),Haaranen (2017),Raj et al. (2018)), ya que:

  • Permite que les estudiantes vean el proceso de pensamiento de quien enseña y sus técnicas de resolución de problemas en tiempo real mientras programan, facilitando la transferencia de conocimiento: las personas aprenden más de lo que enseñamos conscientemente al observar cómo hacemos las cosas.

  • Posibilita una enseñanza activa al permitir a los y las docentes seguir los intereses, las preguntas y los comentarios de sus estudiantes.Una presentación de diapositivas es como una vía de ferrocarril: podrá ser un viaje suave, pero tienes que decidir hacia dónde vas con anticipación. Programar en vivo es como manejar un vehículo todo terreno: podrá ser más accidentado, pero es mucho más fácil cambiar de dirección e ir hacia donde la gente quiere.

  • Posibilita un aprendizaje activo al involucrar a tus estudiantes, lo que les ayuda a convertirse en practicantes activos en lugar de observadores pasivos del proceso de programación. Sus preguntas pueden responderse inmediatamente y los conceptos erróneos pueden corregirse programandolos. Los ejercicios permiten practicar en el momento el uso del material incluyendo diferentes alternativas.

  • Disminuye la velocidad de la persona que está enseñando: si tiene que escribir el programa a medida que avanza su velocidad es mucho menor a la que tendría usando diapositivas o un codigo pre-armado. Esto dismunuye la carga cognitiva de la memoria a corto plazo y le da mas tiempo a tus estudiantes para poder realizar las actividades y realizar preguntas antes de pasar al siguiente concepto.

  • Permite enseña cómo diagnosticar y corregir errores. Resolver errores es una tarea crucial de la programacion. La programacion en vivo nos permite cometer errores cuando programos (ya sean deliverados o no) permitiendonos explicar como es el proceso de resolucion. Ademas, les muestra a tus estudiantes que los errores son parte del proceso y que incluso quien ensena los puede cometer, dandoles lugar para que cometan errores y nos puedan hablar sobre ello.

  • Demuestra el orden en que se deben escribir los programas. Cuando Ihantola and Karavirta (2011) observaron cómo las personas resuelven problemas de Parson, encontraron que quienes tienen experiencia programando usualmente ubican la identificación del método al principio, luego agregan la mayor parte del control de flujo (es decir, bucles y condiciones), y solo después de eso, agregan detalles como la inicialización de variables y el manejo de casos especiales. Este método “fuera de orden” es ajeno para las personas novatas, que leen y escriben código en el orden en que se presenta en la página; ver el código les ayuda a descomponer los problemas en sub-metas que pueden abordar una a la vez. La programación en vivo además les da a quienes están enseñando la chance de enfatizar la importancia de los pequeños pasos con comentarios frecuentes (Blikstein et al. (2014)) y la importancia de definir un plan en vez de hacer cambios más o menos aleatorios y esperar que eso mejore las cosas (Spohrer, Soloway, and Pope (1985)).

Como toda tecnica de ensenanza, hablar mientras se escribe código en frente de un público requiere práctica. La mayoría de las personas indican que el nivel de dificultad rápidamente se vuelve igual que hablar con una presentación de diapositivas. Las secciones que siguen ofrecen consejos sobre cómo mejorar la manera de ensenar con programacion participativa en vivo.

9.1.1 Que te vean y te escuchen

A medida que tus estudiantes van codificando, deben ver y oír lo que estás haciendo con claridad.

9.1.1.1 En persona

Si eres físicamente capaz de pararte durante un par de horas, debes hacerlo mientras enseñas. Esto te permitira que te muevas, por ejemplo para acércate a la pantalla para señalar algo, dibuja algo en la pizarra, o simplemente aléjate de la computadora por un momento y háblale directamente a tu público. Hacer esto aleja la atención de tus estudiantes de sus pantallas y les proporciona un momento natural para hacer preguntas. Cuando te sientas, es más probable que mires tu pantalla en vez de mirar a tu público y puedes quedar fuera de la vista de tus estudiantes en las últimas filas del aula.

Está bien mirar la pantalla donde estás proyectando ocasionalmente cuando estás mostrando una sección de código o dibujando un esquema: no mirar a la sala llena de personas que te están mirando puede ayudarte a reducir tu nivel de ansiedad y darte un momento para pensar qué decir a continuación. Sin embargo, no deberías hacerlo por más de unos segundos.

Es conveniente tener una mesa elevada, un escritorio de pie, o un atril para tu computadora portátil para que tengas una posicion mas comoda al escribir.

Si vas a enseñar por más de un par de horas, vale la pena usar un micrófono incluso si la habitación es pequeña, ademas de ayudarte a cuidar tu vos puede marcar una gran diferencia para las personas que tienen discapacidad auditiva.

9.1.1.2 En linea

En un entorno en línea, esto puede requerir más recursos en términos de tecnología e infraestructura, como una conexión estable a Internet, una pantalla panorámica o una segunda pantalla para ti y tus estudiantes.

9.1.1.2.1 Antes de empezar la programacion en vivo

Explica a tus estudiantes cómo acomodar su pantalla. En caso de que sólo tengan una demuéstrales cómo pueden dividir la pantalla en dos vertical u horizontalmente. Si tienen dos pantallas, muestra cómo dividir las ventanas, una con las pantallas del docente y la otra con su entorno de programación. Puedes tener algunas imágenes o vídeos para mostrar cómo conseguirlo.

Si estás enseñando cursos largos (más de tres clases), podes hacer una demostración la primera clase y después hacerlo de vez en cuando como recordatorio. También podes compartir estos videos o imágenes asi tus estudiantes pueden chequear como ordenar sus pantallas.

9.1.1.2.2 Durante la programacion en vivo
  • comparte tu pantalla y pregunta antes de empezar a programar si tus estudiantes ven tu pantalla correctamente y si el tamaño de la fuente es adecuado. Cambialo si te lo solicitan.

  • Agranda tu puntero del mouse y considera usar un puntero resaltado ( algo como esto).

  • Usa un software que muestre en pantalla las teclas que presionas, como Screenkey. Si te olvidas de decir un atajo de teclado en voz alta, el programa lo mostrará en la pantalla para tus estudiantes.

  • El fondo blanco es mejor para las clases sincrónicas. El tema nocturno es mejor para los vídeos grabados porque hay estudiantes que los ven de noche y utilizan dispositivos pequeños.

  • Si puedes, comparte tu código no solo por medio de tu pantalla mientras lo escribes. Existen soluciones para transmitir en directo tu progrmacion en vivo a paginas web estaticas donde tus estudiantes pueden acceder a tu codigo.

Después de la programacion participatoria en vivo

Debemos considerar la posibilidad de que algunos estudiantes se hayan quedado atrás, no puedan resolver un ejercicio o lo hagan de forma poco eficiente.

Por eso es importante compartir el código generado en vivo después de la clase. Puedes copiarlo y pegarlo en el chat de la plataforma, copiarlo y pegarlo en los apuntes compartidos o subirlo a la página web del curso o al campus virtual. También puedes compartir una carpeta en un servicio de almacenamiento en la nube.

Disponer del código final ayudará a tus estudiantes a validar su código y a ponerse al día si no pueden copiar o escribir alguna parte del mismo.

9.1.2 Ve despacio y no enseñes sola/o.

Cuando se realiza codificación participativa en vivo, es necesario enseñar y programar a un ritmo que permita a tus estudiantes seguir el proceso sin quedarse atrás.

Empieza con un script o notebook en blanco para asegurarte de que les explicas todo lo que necesitan para que el código funcione. Explica el objetivo del código que vas a desarrollar y escríbelo en la notebook o como comentario en el script. Nos ayuda a centrarnos en lo que queremos y en el razonamiento que hay detrás de codificar para ese objetivo. No copies y pegues código: hacer eso prácticamente garantiza que irás mucho más rápido que tus estudiantes.

Narra lo que escribes, las combinaciones de teclas y atajos de teclado, especialmente cuando tengas que utilizar signos de puntuación complicados (“corchetes”, “paréntesis”, etc.). Cuando una IDE autocompleta cosas, es útil señalarlo las primeras veces (y decir cómo se usa o activa esa característica) ya que puede ser la primera vez que algunos estudiantes lo vean.

No utilices muchos atajos de teclado, sobre todo al principio. Si utilizas un atajo de teclado, dilo en voz alta la primera vez que lo hagas. Explica una alternativa al atajo (por ejemplo, el uso de menús). Puedes recordar a tus estudiantes qué atajos utilizas de vez en cuando (en caso de que no utilices un programa que muestre las teclas que pulsaste en pantalla).

Explica cada paso que has dado. Di en voz alta lo que estás haciendo mientras lo haces para cada comando o cada palabra de código que escribes y cada elemento de menú o botón que pulsas. A continuación, señala el comando y su resultado en la pantalla y repítelo para que tus estudiantes puedan comprobar lo que han hecho.

Si la salida de código hace que lo que acabas de escribir desaparezca de la vista, vuelve arriba para que tus estudiantes puedan verlo de nuevo. Si eso no es posible, ejecuta el mismo comando una segunda vez o copia y pega el último comando o comandos en las notas compartidas del taller (o en el chat si estas en linea).

Menciona el número de línea del código al que te refieres.

9.1.2.1 En linea

Los consejos anteriores son validos para clases en persona y en linea. Hay algunas consideraciones extra para los entornos en línea:

  • es esencial que tus estudiantes puedan cambiar de ventana (la demostración del docente y su propia codificación) o de pantalla si tienen más de una.

  • Tu ayudante o co-docente debe prestar atención al chat, ayudando a localizar y resolver los problemas de tus estudiantes, copiando enlaces o trozos de código si es necesario, y avisándote cuando haya que aclarar, volver a explicar o mostrar algo una vez más.

  • Si estás enseñando sin ayuda, informa a tus estudiantes cuándo estarás prestando atención al chat para ayudarles. Deja claro cómo pueden participar y hacer preguntas (utilizando el chat, utilizando una expresión no verbal, notas compartidas, activando su microfono, etc.) y cómo responderás tú.

  • Utiliza el chat o el documento de las notas compartidas para copiar y pegar el código o los errores de tus estudiantes. Ten cuidado con los sistemas de chat traicioneros que pueden cambiar el formato de tu código.

9.1.3 Duplica el entorno de tus estudiantes.

Si tus estudiantes tienen que trabajar en un entorno distinto al tuyo, tienen que hacer un esfuerzo mental que no contribuye al aprendizaje. La ciencia del aprendizaje llama a esto “carga cognitiva externa”. Intenta crear un entorno lo más parecido posible al que tienen tus estudiantes. Si son principiantes, es muy probable que tengan la configuración por defecto de la IDE o software que vayas a utilizar.

Una solución basada en la nube es la mejor alternativa para asegurarte de que tú y tus estudiantes tienen la misma configuración. Algunas de estas herramientas te permiten incluir todo el software, paquetes y datos que necesitas evitando problemas de instalación y la consiguiente frustración. Dentro de los problemas que tienen esta soluciones está el costo y el ancho de banda necesario para usarlas durante las clases.

Algunos/as docentes crean un usuario distinto con configuración básica en sus computadoras o una cuenta específica para enseñar si están usando algún servicio online como Scratch o GitHub. Hacer esto también puede ayudar a evitar que los paquetes que instalaste ayer para trabajar rompan la lección que se supone que enseñes hoy.

9.1.4 Usa tu(s) pantalla(s) sabiamente.

9.1.5 En persona

Por lo general, necesitarás agrandar el tamaño de la letra considerablemente para que las personas en el fondo de la sala puedan leer. Esto significa que podrás colocar muchas menos cosas en la pantalla de las que estás acostumbrado/a.

Para organizarte, maximiza la ventana que estás usando para enseñar y luego pregúntale a todos si pueden leer lo que está en la pantalla o no. Usa una fuente de color negro sobre un fondo ligeramente coloreado en vez de una fuente de color claro sobre un fondo oscuro—el tono claro deslumbrará menos que el blanco puro.

Presta atención a la iluminación de la sala: no debe estar completamente a oscuras y no debe haber luces directamente o por encima de la pantalla de protección. Dedica algunos minutos para que tus estudiantes puedan reacomodar sus mesas para ver con claridad.

Cuando la parte inferior de la proyección de la pantalla está a la misma altura que las cabezas de tus estudiantes, las personas en el fondo no podrán ver lo que ocurre en esa sección de la pantalla. Puedes elevar la parte inferior de la ventana para compensar esto, pero eso generará que tengas aún menos espacio para escribir.

Si puedes acceder a un segundo proyector y pantalla, úsalos: el espacio adicional te permitirá mostrar el código de un lado y su resultado o comportamiento del otro lado. Si la segunda pantalla requiere su propia computadora, pídele a un docente auxiliar que la controle en lugar de ir y venir entre los dos teclados.

Finalmente, si estás enseñando algo como la terminal de Unix en una consola, es importante decirle a las personas cuándo estás usando un editor de texto en la consola y cuándo regresas a la consola propiamente dicha. La mayoría de las personas novatas no han visto nunca a una ventana asumir múltiples personalidades de esta manera y pueden confundirse rápidamente cuando estás interactuando en la terminal, cuando estás escribiendo en un editor de texto, y cuando estás trabajando de manera interactiva con Python u otro lenguaje. Puedes evitar este problema usando ventanas separadas para el editor de texto; si haces esto, siempre avisa a tus estudiantes al cambiar de una ventana a la otra.

Las herramientas de accesibilidad ayudan a todas las personas

Las herramientas como [Mouseposé][mousepose] (para Mac) y [PointerFocus][pointerfocus] (para Windows) resaltan la posición del cursor del mouse en la pantalla, y las herramientas de grabación de pantalla como [Camtasia][camtasia] y aplicaciones independientes como [KeyCastr][keycastr] muestran teclas invisibles como Tab y Control-J a medida que las usas. Esto puede ser un poco molesto al comienzo, pero ayuda a tus estudiantes a descubrir lo que estás haciendo.

9.1.6 Dos dispositivos

Algunas personas usan dos dispositivos cuando enseñan: una computadora portátil conectada al proyector que sus estudiantes ven y una tableta para que puedan ver sus propias notas y las notas que los/las estudiantes están tomando (Section 10.7). Esto es más confiable que pasar de un escritorio virtual al otro, aunque imprimir la lección sigue siendo la tecnología de respaldo más confiable.

9.1.6.1 On line

Ya hemos mencionado que necesitas mostrar a tus estudiantes cómo acomodar su pantalla para verte mejor. Al utilizar programacion en vivo, también debes acomodar tu(s) pantalla(s) para enseñar.

La mejor solución es utilizar dos dispositivos o pantallas al enseñar: una para compartir con tus estudiantes y otra para ver sus notas y vídeos, las notas de la lección y la ventana de chat.

Si no tienes dos pantallas, comparte con tus estudiantes sólo las ventanas o paneles que quieras que vean. Puedes tener las notas de la lección impresas en papel o en una ventana no compartida.

Amplía el panel de la pantalla que necesitas mostrar. Por ejemplo, si necesitas mostrar el código amplía las ventanas de script. Si necesitas mostrar un resultado, amplía el panel de la consola, o de gráficos, etc.

Una de las ventajas de la enseñanza en línea es que cuando la gente se encuentra con problemas, puede compartir la pantalla y resolver el problema trabajando en conjunto. Si tu estudiante se siente cómodo/a, permitirle compartir su pantalla para resolver problemas con toda la clase; esta es una excelente experiencia de aprendizaje. También pueden compartir su pantalla para demostrar algo que han hecho.

9.1.7 Evita las distracciones.

Desactiva las notificaciones en los dispositivos que estés utilizando y en tu teléfono. Ver las notificaciones parpadear en la pantalla te distrae a ti y a tus estudiantes. Abre sólo el software, las aplicaciones y las páginas web que vayas a utilizar durante la clase. Cierra cualquier otra aplicación, incluidos el correo electrónico y las redes sociales. Ten en cuenta qué imagen de escritorio y salvapantallas utilizas porque acabarás compartiéndolos con la clase y en el vídeo si grabas la lección. De nuevo, tener una cuenta especifica para ensenar puede ayudarte a cumplir este punto de forma mas sencilla.

Es importante que tu ayudante o co-docente trabaje para resolver las dudas y problemas que puedan tener tus estudiantes durante la clase, de modo que las interrupciones sean ordenadas y sirvan a la lección en lugar de cortar su fluidez. Acuérdate también de dar instrucciones sobre cómo participar, cómo hacer preguntas y qué herramientas utilizar antes de empezar la demostración en vivo (ver consejo número 1).

Por último, pide a tus estudiantes que reduzcan el número de distracciones en sus dispositivos, como notificaciones, correos electrónicos y otras pestañas del navegador que puedan tener abiertas mientras tiene lugar la clase. No puedes controlar lo que hacen, pero hacer una petición amistosa puede ayudarles a cerrar estos distractores.

9.1.8 Sigue el material de la lección.

9.1.8.1 En persona

No te alejes de la lección que planificaste o pediste prestada la primera vez que la enseñes. Puede ser tentador desviarse del material porque te gustaría mostrar un lindo truco o demostrar otra manera de hacer algo, pero existe la posibilidad de que te encuentres con algo inesperado que te lleve más tiempo del que tienes.

Sin embargo, una vez que el material te resulte más familiar, puedes y debes comenzar a improvisar en base a los antecedentes de tus estudiantes, sus preguntas durante la clase, y lo que personalmente te parezca más interesante. Esto es como tocar una nueva canción: sigues la partitura las primeras veces, pero después de que te sientes cómodo/a con los cambios de melodía y acordes, puedes comenzar a ponerle tu propio sello.

Cuando quieras usar algo nuevo, revísalo de antemano usando la misma computadora que usarás cuando des la clase: instalar cientos de megabytes de programas a través del WiFi de la escuela secundaria en frente de jóvenes de 16 años aburridos/as no es algo por lo que alguna vez quieras pasar.

Enseñanza directa

La enseñanza directa es un método de enseñanza centrado en el diseño meticuloso del plan de estudio dictado usando un guíon predefinido. Es más como un actor recitando líneas que como el enfoque de improvisación que recomendamos. Stockard et al. (2018) encontró que la enseñanza directa tiene un efecto estadísticamente significativo positivo a pesar de que a veces pueda ser muy repetitivo. Yo prefiero improvisar porque la enseñanza directa requiere más preparación inicial que lo que la mayoría de los grupos de estudiantes free-range pueden permitirse.

9.1.8.2 Online

Es importante que te ajustes bastante al plan de la lección y que practiques la técnica de codificación en vivo, sobre todo si es la primera vez que impartes la lección. Añade notas a tus impresiones del material de la clase, o tenlas fácilmente disponibles en la segunda pantalla o dispositivo (tableta o portátil), si utilizas uno.

Una vez que el material te sea familiar, puedes y debes empezar a improvisar basándote en los antecedentes de tus estudiantes, sus preguntas en clase y lo que te parezca más interesante.

Si surge una pregunta o un “¿qué pasaría si…?”, pero no quieres interrumpir el flujo de la lección, o sabes que te llevará más tiempo del que tienes, o necesitas algo de tiempo para ordenarte, pide a tus estudiantes que las agreguen en un documento compartido en línea o pide a tu co-docente o ayudante que las registre. Luego, puedes pensar en ellas mientras tus estudiantes hacen los ejercicios y responderlas después que terminen, o a la clase siguiente.

9.1.9 Convierte a tus estudiantes en co-docentes

9.1.9.1 Online

Durante la codificación participativa en vivo, las/os estudiantes programan activamente junto con el docente. Esto puede ser un reto en la enseñanza en línea y más aún con principiantes.

Una herramienta valiosa para disminuir esta dificultad es utilizar las salas de reuniones que ofrecen Zoom o Meet (incluso en su versión gratuita). La enseñanza entre pares es la práctica docente escalable más eficaz que conocemos. Podemos utilizarla para reforzar la lección que dimos usando programación en vivo.

Las salas de reuniones de Zoom hacen que esto sea relativamente fácil de ejecutar en línea: se tarda entre 15 y 30 segundos en meter a todo el grupo en las salas. En una clase de cuarenta personas, uno o dos tendrán dificultades al principio, pero ayuda a mantener a tus estudiantes motivados y atentos.

Yo utilizo esta dinámica con los principiantes cuando hago live coding:

Hago entre 10 y 20 minutos de live coding. Los envío a la salas en grupos de 3 o 4 estudiantes (los grupos más grandes crean subgrupos, o bien alguien no participa) para resolver un ejercicio. El ejercicio es el mismo o muy similar al que intentamos hacer durante mi programación en vivo. Antes de ir a la sala, doy las instrucciones: cuánto tiempo tienen para resolver el ejercicio (entre 10 y 20 minutos), como se den organizar: un estudiante comparte una pantalla, y programan juntos para resolverlo. Tomo el tiempo (ahora la herramienta de videoconferencia lo hace por mí), y cuando se acaba el tiempo, vuelven a la sala común, y hablamos de cómo ha ido, qué problemas y preguntas tienen. Repasamos estos detalles. Es un buen momento para dejarles compartir la pantalla para ver sus problemas o soluciones, sobre todo si han resuelto el ejercicio de forma diferente. Esta estrategia les permite reforzar el aprendizaje porque programan durante mi live coding y luego una vez más en grupo.

Puedes utilizar diferentes tipos de ejercicios para el trabajo en grupos, como rellenar los espacios en blanco, problemas de Parson y tutoriales interactivos que ofrezcan diferentes tipos de andamiaje.

9.1.10 Obten información en tiempo real y proporciona ayuda inmediata.

9.1.10.1 En persona

9.1.11 Pregunta por predicciones

Una manera de mantener la motivación de tus estudiantes mientras estás programando en vivo es pedirles que hagan predicciones sobre qué hará el código que ven en la pantalla. Luego, puedes escribir las primeras sugerencias que hagan, hacer que toda la clase vote sobre cuál piensan que es la opción más probable, y finalmente ejecutar el código. Esta es una forma simple de instrucción por pares, que discutiremos en la Section 10.2. Además de mantener su atención en la actividad, les permite practicar cómo razonar sobre el comportamiento del código.

9.1.11.1 Online

Al programar en vivo en línea puede resultar difícil saber si tus estudiantes están siguiendo el proceso o si están teniendo dificultades para programar que aún no se hemos solucionado.

Una forma de comprobarlo es ofrecer a tus estudiantes una manera diferente de indicarnos su estado. Cuando enseñamos en persona, utilizamos notas adhesivas de colores. Algunas opciones para enseñar en línea son:

El feedback no verbal en plataformas de videoconferencia aparece como la primera opción para sustituir a las notas adhesivas de colores. Si utilizamos Zoom, se puede pedir a una persona que marque con una marca verde si ha terminado o con una marca roja en caso de que esté atascada. Al igual que con las notas adhesivas, estas marcas no se quitan solas, por lo que es necesario pedir a la persona que las quite si ya ha resuelto el problema o que pase a otro ejercicio.

Crea una tabla en el documento colaborativo (utilizando HackMD o google docs) con los nombres de todos los participantes. Pídeles que pongan un check verde o una cruz roja para comprobar si van por buen camino. Puedes comprobar si alguien no ha rellenado algo.

En zoom, las otras reacciones con emojis son útiles para un estado general rápido porque también nos muestran el número de cada emoji en la lista de participantes. Pero estos emojis se limpian al cabo de un rato, por lo que puedes perderte alguna información. Con el mismo propósito, también podemos pedirles que escriban en el chat cuando terminen una tarea. Aunque puede ser mucha información junta en grupos de más de 20 personas y complicado determinar quién no contestó.

Se pueden utilizar otras herramientas, como encuestas o un canal paralelo de Slack, pero agregar más herramientas a la clase sincrónica, sobre todo si es una herramienta nueva, es una carga cognitiva que debemos considerar.

Algunos temas permiten agregar en el código un elemento de aleatoriedad que va a dar resultados diferentes en diferentes máquinas o entornos y podes preguntarle a tus estudiantes si sus resultados son iguales a los tuyos. Cuando enseño gráficos de redes, el algoritmo es no determinístico por o que el gráfico que obtienen mis estudiantes suele ser diferente al mio, muchas veces no necesito preguntar, el chat se inunda con mensajes avisando que sus gráficos son distintos. De esta forma sabrás que te siguen.

Una vez más, enseñar con otras personas es una buena estrategia para este consejo. El papel principal de tus co-docentes es garantizar que tus estudiantes no se queden atrás debido, por ejemplo, a problemas técnicos. A veces es una buena idea crear una sala para resolver problemas técnicos donde tu estudiante y co-docentes puedan ir y resolver el problema. Tus ayudantes deben prestar atención a los documentos compartidos, los emojis o el canal de Slack, que indican que un/a estudiante está pidiendo ayuda.

9.1.12 Usa ilustraciones, aún mejor dibujalas en tiempo real.

9.1.12.1 En persona

9.1.13 Dibuja temprano, dibuja seguido

Los diagramas son siempre una buena idea. A veces tengo una presentación de diapositivas llena de diagramas preparada de antemano, pero construir los diagramas paso a paso ayuda a retenerlos más (Section 5.1) y te permite improvisar.

9.1.13.1 Online

Los diagramas y mapas conceptuales pueden ayudar a tus estudiantes a comprender las etapas de la lección y a organizar el material. Generar los diagramas junto con tus estudiantes a medida que avanzas en el material puede funcionar muy bien. Hay varias herramientas para hacerlo en línea (Miro, Jamboard, Whiteboard.fi, draw.io y excalidraw, entre otras). Puedes usarlo con el ratón o con una tableta (yo uso la Wacom One, que es estupenda).

Puedes construir diagramas, haciéndolos cada vez más complejos en paralelo con el material que enseñas. Presentar información complementaria utilizando representaciones visuales y verbales ayuda a aprender (conocido como “codificación dual”).

Por ejemplo, yo solía dibujar un mapa conceptual del código de control de flujo con mis alumnos para hablar de los conceptos esenciales antes de hacer la codificación en vivo. También dibujo un mapa del orden de ejecución de una sentencia SQL para explicar el resultado de una consulta o por qué debemos utilizar una función y no otra después de hacer el live coding.

Algunas herramientas permiten escribir y dibujar sobre la pantalla compartida. Esto puede ser útil para marcar parte del código y anotar el valor de una variable mientras ejecutas un fragmento de código o los pasos y el orden de ejecución de una sentencia.

9.1.14 Acepta tus errores.

9.1.14.1 On line

Aunque te sepas bien la lección y la sigas, es muy probable que cometas errores mientras demuestras cómo programar en vivo. Cometer errores suele ser el mayor temor de los/as docentes que utilizan esta técnica. Está bien que ocurra (ya que es lo que pasa en la vida real cuando programamos), y puede ser una excelente oportunidad para aprender a depurar. Esta forma de afrontar los errores se denomina “encuadre positivo del error”, y es beneficiosa para el aprendizaje.

Cuando se produzca un error, detente, léelo en voz alta y explica cómo has determinado lo que ha ocurrido. Marca qué parte del texto del error te da una pista que te ayuda a diagnosticarlo y resolverlo. A continuación, vuelve al código y muestra qué elemento o elementos del código arrojan el error. Es útil aclarar qué hace cada parte del código creando nuevos ejemplos que muestren por qué se produce un error en una situación y no en otra. También puedes involucrar a los estudiantes en la resolución de problemas preguntándoles qué creen que ha fallado y cómo solucionarlo.

Si tiene tiempo, utilice el error para hacer una “búsqueda en vivo”. En esta lección, enseñas cómo buscar un error en Internet, afinar esa búsqueda, leer los resultados y determinar cuál es el que más se acerca a tu problema. Aquí puedes enseñar cómo leer la ayuda y las preguntas y respuestas de Stack Overflow.

También, como se mencionó en puntos anteriores, si un/a estudiante tiene un error, puedes pedirle que comparta su pantalla, y toda la clase trabaja en conjunto para resolverlo usando estas estrategias.

Una vez que hayas dado una clase varias veces, es poco probable que cometas algo más que errores básicos de tipeo (que pueden seguir siendo informativos). Puedes intentar recordar errores pasados y cometerlos deliberadamente, pero eso puede parecer forzado. Un método alternativo es el twitch coding: pedir a los alumnos que te digan uno por uno qué tienes que escribir a continuación. Es casi seguro que te meterás en algún lío.

9.1.14.2 En persona

9.1.15 Aprovecha tus errores

Los errores de tipeo son la pedagogía.
Emily Jane McTavish

La regla más importante de la programación en vivo es aprovechar tus errores. No importa qué tan bien te prepares, cometerás algunos errores; cuando lo hagas, piensa sobre ellos con tu público. Si bien obtener datos es difícil, los/las programadores/as profesionales dedican del 25% al 60% de su tiempo identificando y resolviendo errores; las personas novatas le dedican mucho más (Section 8.6). A pesar de ello, la mayoría de los libros de texto y tutoriales dedican poco tiempo a diagnosticar y corregir problemas. Si hablas en voz alta mientras intentas identificar qué escribiste mal o dónde tomaste el camino equivocado, y explicas cómo lo corriges, les darás a tus estudiantes un conjunto de herramientas que pueden usar cuando comentan sus propios errores.

Tropiezos deliberados

Una vez que hayas enseñado una lección varias veces, es poco probable que cometas nada más que errores básicos de tipeo (que de todas maneras pueden ser informativos). Puedes intentar recordar errores pasados y cometerlos deliberadamente, pero usualmente eso se siente forzado. Un enfoque alternativo es sacudir la programación: pide a tus estudiantes, en turnos, que te indiquen qué escribir a continuación. Esto prácticamente garantiza que te encuentres en algún tipo de problema.

9.1.16 Inconvenientes

Programar en vivo tiene algunos inconvenientes, pero pueden evitarse o solucionarse con un poco de práctica. Si descubres que estás cometiendo demasiados errores de tipeo, reserva 5 minutos por día para practicar escribir con el teclado: también te ayudará en tu trabajo diario. Si crees que dependes demasiado de las notas de la clase, divídelas en partes más pequeñas para que solo tengas que pensar en un pequeño paso a la vez.

Y si sientes que estás pasando demasiado tiempo escribiendo código para importar librerías, encabezados de clases y código repetitivo, genera un esqueleto de código para que tú y tus estudiantes usen como punto de partida (Section 10.9). Hacer esto también reducirá su carga cognitiva, dado que centrarán su atención donde tú quieras.

9.2 Estudiar la lección

Hemos visto que ofrecer oportunidades para practicar y dar devoluciones constructivas a nuestros estudiantes son componentes esenciales del proceso de aprendizaje. Podemos aplicar estos mismos principios para aprender a enseñar.

Sin embargo, mucha gente asume que los/as buenas docentes nacen, no se hacen. Esta es una asuncion erronea. Las personas que ensenan pueden mejorar su habilidad docente con el tiempo a través de la práctica y mejoran más cuando reciben comentarios sobre como ensenaron de parte de otros docentes. Como explica Green (2014), en japonés este enfoque se llama jugyokenkyu, que significa “estudiar la lección”.

Para graduarse como especialistas en educación de Japón, las personas aspirantes no solo tenían que ver como trabajaba el o la docente que le asignaban, sino que ademas tenían que reemplazarlo efectivamente, primero observando en su aula y luego ensenando una clase. Después, todas las personas involcuradas —el/la docente, los/las estudiantes para ser docentes, y a veces, incluso un/a observador/a externo—se sentaban alrededor de una mesa para hablar sobre lo que observaron.

Obervar en detalle un trabajo para mejorarlo es común en áreas tan diversas como la [fabricación][deming-edwards] y la música. Un interprete de música profesional, por ejemplo, analizará media docena de grabaciones de la pieza que quiere tocar antes de interpretarlas. También recibirán comentarios de sus colegas durante la práctica y después de las actuaciones.

Pero la retroalimentación continua no es parte de la cultura de la enseñanza en la mayoría de los países de habla inglesa e hispana. Allí, lo que sucede en el aula se queda en el aula: quienes enseñan no miran las clases de sus colegas de manera regular, por lo que no pueden tomar prestadas las buenas ideas de las demás personas. Podrán acceder a los planes de clases y tareas de sus colegas, la junta escolar o una editorial de libros de texto, o revisar cursos masivos abiertos en línea, pero cada persona tiene que descubrir cómo dar las clases específicas en aulas específicas para estudiantes específicos/as. Esto es particularmente cierto para personas voluntarias y docentes free-range que participan en talleres y actividades fuera de la escuela.

Desarrollar nuevas técnicas y dar lecciones de demostración (en las que una persona enseña a estudiantes reales mientras otras personas observan) no son la solución. Por ejemplo, Fincher and Tenenberg (2007),Fincher et al. (2012) encontraron que de los 99 historiales analizados, quienes enseñan solo buscaron activamente nuevas prácticas o materiales en tres casos, y solo consultaron material publicado en ocho oportunidades. La mayoría de los cambios se dieron localmente, sin aportes de fuentes externas, o solo involucraron comunicación personal con otros/as docentes. Barker, Hovey, and Gruning (2015) encontró algo similar:

La adopción no es una “acción racional”…sino una serie iterativa de decisiones tomadas en un contexto social, en base a tradiciones normativas, señales sociales, y procesos emocionales o intuitivos… No es probable que los/las docentes utilicen los resultados de investigaciones en educación como base para tomar decisiones… La retroalimentación positiva de los/las estudiantes se toma como fuerte evidencia por parte de los/las docentes de que deben continuar con una práctica.

Jugyokenkyu funciona porque maximiza la oportunidad de transferencia de conocimiento no planificada entre docentes: alguien se propone demostrar X, pero mientras lo miran, su público también (o en su lugar) aprende Y. Por ejemplo, quien enseña podría tener la intención de demostrar a sus estudiantes cómo buscar direcciones de correo electrónico en un archivo de texto, pero lo que su público podría terminar aprendiendo son algunos atajos de teclado.

9.3 Dando y recibiendo retroalimentación al enseñar

Observar a alguien te ayuda, y darle una devolución ayuda a esa persona, pero puede ser difícil recibirlas, especialmente cuando son negativas (?fig-performance-feedback-feelings).

Sentimientos sobre la retroalimentación (copyright © Deathbulge 2013){#fig-performance-feedback-feelings fig-alt = ““} La retroalimentación es más fácil de dar y recibir cuando ambas partes comparten expectativas sobre lo que está y no está al alcance y sobre cómo se deben expresar los comentarios. Si solicitas una retroalimentación:

Iníciala.

Es mejor pedir la retroalimentación que recibirla de mala gana.

Elige tus preguntas,

es decir, pide comentarios específicos. Es mucho más difícil para alguien responder, “¿Qué te pareció?” que responder, “¿Hablé demasiado rápido?” o, “¿Qué cosa de esta lección debería seguir haciendo?” Direccionar la retroalimentación de esta manera además es más útil para ti. Siempre es preferible mejorar una cosa a la vez que cambiar todo y esperar que sea para mejor. Direccionar los comentarios hacia algo que elegiste trabajar ayuda a mantenerte en foco, lo que a su vez aumenta las chances de que veas un progreso.

Usa un traductor de retroalimentación.

Pídele a alguien que lea todas las devoluciones y te haga un resumen. Puede ser más fácil escuchar, “Varias personas piensan que podrías acelerar un poco,” que leer varias notas que digan, “Esto es demasiado lento” o “Esto es aburrido.”

Sé amable contigo.

La mayoría somos muy críticos/as con nosotros/as mismos/as, por lo que siempre es útil anotar lo que pensamos de nosotros/as antes de recibir retroalimentación de otras personas. Eso nos permite comparar lo que pensamos de nuestro desempeño con lo que otras personas piensan, lo que a su vez nos permite evaluar esto último con mayor precisión. Por ejemplo, es muy común que las personas piensen que están diciendo “mmm” y “ehh” con demasiada frecuencia cuando tu público en realidad no lo nota. Recibir esa retroalimentación una vez permite a los/las docentes ajustar la evaluación sobre sí mismos/as la próxima vez que se sientan así.

También puedes dar retroalimentación a otras personas de manera más efectiva:

Interactúa.

Mirar fijamente a alguien es una buena manera de hacer que se sienta incómodo/a, por lo que si deseas darle una retroalimentación sobre cómo enseña normalmente, necesitas ayudar a que se tranquilice. Interactuar con la persona como si fueras estudiante es una buena manera de hacer esto, así que haz preguntas o simula escribir su ejemplo. Si eres parte de un grupo, haz que una o dos personas desempeñen el papel de estudiantes mientras que el resto toma notas.

Balancea la retroalimentación positiva y negativa.

El “sándwich de cumplidos” compuesto por un comentario positivo, uno negativo, y un segundo positivo se vuelve agotador rápidamente, pero es importante decirle a las personas qué deben seguir haciendo y qué deben cambiar Por un tiempo, me preocupé tanto por la afinación que perdí completamente mi sentido del tiempo .

Toma notas.

No vas a recordar todo lo que notaste si la presentación dura más de unos pocos segundos, y definitivamente no vas a recordar con qué frecuencia lo notaste. Escribe una nota la primera vez que algo suceda y luego agrega una marca o cruz cuando vuelva a ocurrir para que puedas ordenar tus comentarios por frecuencia.

Tomar notas es más eficiente cuando tienes algún tipo de rúbrica para que tengas que apurarte a escribir tus observaciones mientras la persona que estás observando todavía está hablando. La rúbrica más simple para dar comentarios de forma libre en grupo es la grilla de 2x2 cuyo eje vertical tiene las etiquetas “lo que salió bien” y “lo que se puede mejorar”, y en el eje horizontal “contenido” (lo que se dijo) y “presentación” (cómo se dijo). Quienes observan escriben sus comentarios en notas autoadhesivas mientras miran la demostración, luego las pegan en los cuadrantes de la grilla dibujada en una pizarra (Figure 9.1).

Figure 9.1: Rúbrica de enseñanza

Rúbricas e inventario de preguntas

La Section 24.1 contiene una rúbrica de ejemplo para evaluar 5–10 minutos de enseñanza de programación. Presenta elementos más o menos en el orden en que es probable que aparezcan, por ejemplo, preguntas sobre la introducción aparecen antes que las preguntas sobre la conclusión.

Rúbricas como esta tienden a crecer con el tiempo a medida que las personas piensan en cosas que les gustaría agregar. Una buena manera de mantener las rúbricas manejables es insistir en que la longitud total permanezca constante: si alguien quiere agregar una pregunta, debe identificar una que sea menos importante y que pueda sacarse.

Si te interesa dar y recibir retroalimentación, Gormally, Evans, and Brickman (2014) tiene buenos consejos que puedes usar para hacer que la retroalimentación entre pares sea parte del proceso de enseñanza, mientras que Gawande (2011) analiza el valor de tener un/a tutor/a.

Clases de estudio

Las escuelas de arquitectura a menudo incluyen clases de estudio en las que estudiantes resuelven pequeños problemas de diseño y reciben devoluciones de sus pares en ese mismo momento. Estas clases son más efectivas cuando el/la docente evalúa las devoluciones de pares para que quienes participen aprendan no solo cómo construir edificios sino también cómo dar y recibir retroalimentación Schön (1984). Las clases magistrales de música tienen un propósito similar, y he descubierto que dar retroalimentación sobre la retroalimentación ayuda a las personas a mejorar su manera de enseñar también.

9.4 ¿Cómo practicar cómo enseñamos?

La mejor manera de perfecccionar la forma en que damos clases en persona es observarse a sí mismo/a hacerlo:

  • Trabaja en grupos de a tres personas.

  • Cada persona rota entre los roles de docente, público y quien graba. La persona en el rol docente tiene dos minutos para explicar algo. La persona que pretende ser el público está allí para prestar atención, mientras que la tercera persona graba la sesión con un teléfono u otro dispositivo portátil.

  • Luego de que todas las personas tuvieron la oportunidad de enseñar, el grupo mira todos los videos. Cada persona da una retroalimentación sobre los tres videos, es decir, las personas dan una devolución sobre sí mismas y sobre las demás.

  • Después de que se discutieron los videos, se borran. (Muchas personas se sienten justificadamente incómodas por su presencia en internet.)

  • Finalmente, toda la clase vuelve a reunirse y agrega las devoluciones a una grilla 2x2 compartida como la que se describió previamente sin decir de quién se trata cada comentario.

Para que este ejercicio funcione bien:

  • Graben los tres videos y luego miren los tres. Si el ciclo es enseñar-revisar-enseñar-revisar, la última persona en enseñar siempre se queda sin tiempo (a veces a propósito). Hacer todas las revisiones luego de que todas las personas enseñaron también ayuda a poner un poco de distancia entre los dos momentos, lo que hace que el ejercicio sea un poco menos incómodo.

  • Avísales a las personas al comienzo de la clase que les pedirás que enseñen algo para que tengan tiempo de elegir un tema. Avisarles con mucha anticipación puede ser contraproducente, ya que algunas personas se preocuparán por cuánto deben prepararse.

  • Los grupos deben estar físicamente separados para reducir el ruido en sus grabaciones. En la práctica, esto significa 2–3 grupos en un aula de tamaño normal y el resto usando espacios de descanso cercanos, oficinas o (en una ocasión) el armario de la conserjería.

  • Las personas deben dar retroalimentación sobre sí mismas y entre sí para que puedan calibrar sus impresiones de la manera en que enseñan contra las de otras personas. La mayoría de las personas son más críticas sobre ellas mismas de lo que deberían ser y es importante que se den cuenta de esto.

El anuncio de este ejercicio usualmente es recibido con quejidos y aprensión, ya que pocas personas disfrutan verse o escucharse a sí mismas. Sin embargo, esas mismas personas lo califican constantemente como una de las partes más valiosas de los talleres de enseñanza. También es una buena preparación para enseñar de a pares (Section 10.3): a las personas que enseñan les resulta mucho más fácil intercambiar devoluciones informales si han tenido algo de práctica y tienen una rúbrica compartida para definir expectativas.

Y hablando de rúbricas: una vez que la clase haya puesto todos sus comentarios en una grilla compartida, elige algunos comentarios positivos y negativos, haz una lista y pídeles que hagan el ejercicio nuevamente. La mayoría de las personas se sienten más cómodas la segunda vez y la evaluación sobre lo que han decidido que es importante aumenta su sentido de autodeterminación (Chapter 11).

Tics

Todas las personas tenemos hábitos nerviosos: hablamos más rápido y con voz más aguda de lo normal cuando estamos en el escenario, jugamos con nuestro pelo, o hacemos sonar los nudillos. Las personas que juegan llaman a esto “tics” y a menudo no se dan cuenta de que se mueven, se miran los zapatos, o juegan con lo que tienen en los bolsillos cuando en realidad no saben la respuesta a una pregunta.

No puedes deshacerte de los tics completamente, e intentar hacerlo puede hacer que te obsesiones con ellos. Una mejor estrategia es tratar de desplazarlos, por ejemplo, entrenarse para apretar los dedos de los pies dentro de los zapatos cuando tienes nervios en vez de limpiarte la oreja con el dedo meñique.

9.5 Ejercicios

9.5.1 Dar devolución sobre una mala enseñanza (toda la clase/20’)

En grupo, miren [este video de mala enseñanza][video-bad-teaching] (en inglés, subtitulado al español —activen los subtítulos al ingresar al link) y den retroalimentación sobre dos ejes: positivo versus negativo y contenido versus presentación. Que cada persona en la clase agregue un comentario a la grilla 2x2 en una pizarra en las notas compartidas sin duplicar ningún comentario. ¿Qué vieron otras personas y tú no? ¿Con qué comentarios estás totalmente de acuerdo o en desacuerdo?

9.5.2 Practicar dar devoluciones (grupos pequeños/45’)

Usa el proceso descripto en la Section 9.4 para enseñar en grupos de tres personas y recolectar las devoluciones.

9.5.3 Lo malo y lo bueno (toda la clase/20’)

Mira los videos de [programación en vivo mal desarrollada][live-coding-done-badly-es] y [bien desarrollada][live-coding-done-well-es] y resume tu devolución sobre las diferencias usando la grilla 2x2 habitual. ¿De qué manera la segunda sesión de enseñanza es mejor que la primera? ¿Hay algo qué es mejor en el primer video que en el segundo?

9.5.4 Observa, luego haz (parejas/30’)

Enseña a tu pareja 3–4 minutos de una lección usando programación en vivo, luego intercambien lugares y observa a esa persona programar en vivo. No te preocupes por grabar estas sesiones—es difícil capturar tanto a la persona como a la pantalla con un dispositivo portátil—pero da una devolución de la misma manera que lo hiciste antes. Explícales a tus colegas qué vas a enseñar y con qué esperas que estén familiarizados/as.

  • ¿Qué se siente diferente entre programar en vivo y dar una clase tradicional? ¿Cuál fue más fácil y más difícil?

  • ¿Cometiste algún error? Si lo hiciste, ¿cómo lo manejaste?

  • ¿Hablaste y escribiste al mismo tiempo o alternadamente?

  • ¿Con qué frecuencia señalaste algo en la pantalla? ¿Con qué frecuencia usaste el cursor para resaltar algo?

  • ¿Qué intentarás seguir haciendo la próxima vez? ¿Qué intentarás hacer diferente?

9.5.5 Tics (grupos pequeños/15’)

  1. Toma notas sobre los tics que piensas que tienes, pero no las compartas con otras personas.

  2. Enseña una clase corta (de 2–3 minutos).

  3. Pregúntale a tu público cómo creen que te traicionan los nervios. ¿Coinciden con lo que pensaste de ti?

9.5.6 Consejos para enseñar (grupos pequeños/15’)

El sitio [CS Teaching Tips][cs-teaching-tips] (en inglés) tiene una gran cantidad de consejos prácticos sobre cómo enseñar computación, así como una colección de hojas de consejos descargables. Revisa las hojas de consejos en grupos pequeños y clasifica cada uno de acuerdo a si lo usas todo el tiempo, ocasionalmente, o nunca lo usaste. ¿En qué se diferencia tu práctica y la práctica de tus compañeros/as? ¿Hay algún consejo con el que no estés de acuerdo o creas que sería ineficaz?

9.6 Resumen

Conceptos: Retroalimentación

Barker, Lecia, Christopher Lynnly Hovey, and Jane Gruning. 2015. “What Influences CS Faculty to Adopt Teaching Practices?” In 2015 Technical Symposium on Computer Science Education (SIGCSE’15). Association for Computing Machinery (ACM). https://doi.org/10.1145/2676723.2677282.
Blikstein, Paulo, Marcelo Worsley, Chris Piech, Mehran Sahami, Steven Cooper, and Daphne Koller. 2014. “Programming Pluralism: Using Learning Analytics to Detect Patterns in the Learning of Computer Programming.” Journal of the Learning Sciences 23 (4): 561–99. https://doi.org/10.1080/10508406.2014.954750.
Fincher, Sally, Brad Richards, Janet Finlay, Helen Sharp, and Isobel Falconer. 2012. “Stories of Change: How Educators Change Their Practice.” In 2012 Frontiers in Education Conference (FIE’12). Institute of Electrical; Electronics Engineers (IEEE). https://doi.org/10.1109/fie.2012.6462317.
Fincher, Sally, and Josh Tenenberg. 2007. “Warren’s Question.” In 2007 International Computing Education Research Conference (ICER’07). Association for Computing Machinery (ACM). https://doi.org/10.1145/1288580.1288588.
Gawande, Atul. 2011. “Personal Best.” The New Yorker, October.
Gormally, Cara, Mara Evans, and Peggy Brickman. 2014. “Feedback about Teaching in Higher Ed: Neglected Opportunities to Promote Change.” Cell Biology Education 13 (2): 187–99. https://doi.org/10.1187/cbe.13-12-0235.
Green, Elizabeth. 2014. Building a Better Teacher: How Teaching Works (and How to Teach It to Everyone). W. W. Norton & Company.
Haaranen, Lassi. 2017. “Programming as a Performance - Live-Streaming and Its Implications for Computer Science Education.” In 2017 Conference on Innovation and Technology in Computer Science Education (ITiCSE’17). Association for Computing Machinery (ACM). https://doi.org/10.1145/3059009.3059035.
Hollingsworth, J. R., and S. E. Ybarra. 2009. Explicit Direct Instruction (EDI): The Power of the Well-Crafted, Well-Taught Lesson. SAGE Publications.
Ihantola, Petri, and Ville Karavirta. 2011. “Two-Dimensional Parson’s Puzzles: The Concept, Tools, and First Observations.” Journal of Information Technology Education: Innovations in Practice 10: 119–32. https://doi.org/10.28945/1394.
Nederbragt, Rayna Michelle AND Hill, Alexander AND Harris. 2020. “Ten Quick Tips for Teaching with Participatory Live Coding.” PLOS Computational Biology 16 (9): 1–7. https://doi.org/10.1371/journal.pcbi.1008090.
Raj, Adalbert Gerald Soosai, Jignesh M. Patel, Richard Halverson, and Erica Rosenfeld Halverson. 2018. “Role of Live-Coding in Learning Introductory Programming.” In 2018 Koli Calling International Conference on Computing Education Research (Koli’18). https://doi.org/10.1145/3279720.3279725.
Rubin, Marc J. 2013. “The Effectiveness of Live-Coding to Teach Introductory Programming.” In 2013 Technical Symposium on Computer Science Education (SIGCSE’13), 651–56. Association for Computing Machinery (ACM). https://doi.org/10.1145/2445196.2445388.
Schön, Donald A. 1984. The Reflective Practitioner: How Professionals Think in Action. Basic Books.
Selvaraj, Ana, Eda Zhang, Leo Porter, and Adalbert Gerald Soosai Raj. 2021. “Live Coding: A Review of the Literature.” In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education v. 1, 164–70. ITiCSE ’21. New York, NY, USA: Association for Computing Machinery. https://doi.org/10.1145/3430665.3456382.
Spohrer, James C., Elliot Soloway, and Edgar Pope. 1985. “A Goal/Plan Analysis of Buggy Pascal Programs.” Human-Computer Interaction 1 (2): 163–207. https://doi.org/10.1207/s15327051hci0102_4.
Stockard, Jean, Timothy W. Wood, Cristy Coughlin, and Caitlin Rasplica Khoury. 2018. “The Effectiveness of Direct Instruction Curricula: A Meta-Analysis of a Half Century of Research.” Review of Educational Research, January, 003465431775191. https://doi.org/10.3102/0034654317751919.