Un pequeño árbol binario feliz: aprender a codificar de Bob Ross

Crédito de la imagen: Julian Bergheim, AFAIK

"Si tienes que hacer algo de nuevo, eso no significa que seas malo, solo significa que eres normal". – Bob Ross

Bob Ross ha sido famoso durante décadas por sus relajantes videos que enseñan a pintar, un pequeño árbol amistoso a la vez. Lo que los hizo especiales fue observar el proceso creativo tal como sucedió, con los errores calurosamente recibidos como 'pequeños accidentes felices' y convertidos en oportunidades de enseñanza. Le dio a los espectadores la confianza de que ellos también pueden pintar paisajes elaborados. Esta es la razón por la cual las mejores clases de codificación son como los videos de Bob Ross: hacer algo hermoso en tiempo real, con errores y desvíos, corregidos con delicadeza y gracia.

Aprendí cómo codificar en sexto grado, haciendo animaciones con figuras de palo en BASIC. En el noveno grado, estaba programando algoritmos de retroceso en Pascal (involucraban caníbales y misioneros que cruzaban un río. No preguntes). Había pagado mis cuotas en C ++ en CS101. Pero mi comprensión de la informática y la codificación cambió fundamentalmente cuando tomé mi primera clase Scheme. (El esquema era el Scala de los años 90). Sí, la programación funcional puede hacer volar tu mente, pero también tuve la suerte de tener al Bob Ross de la informática como mi maestro. Su nombre es Barak Pearlmutter , y también es un experto en redes neuronales desde la última vez que fueron geniales. Su estilo de enseñanza era diferente a todos los que había visto antes.

Este era un momento en el que todo el mundo daba conferencias y copiaba fragmentos de código preparados en transparencias o en la pizarra. En lugar de videos de Bob Ross, las lecciones se verían así:

Crédito de la imagen: http://knowyourmeme.com/memes/how-to-draw-an-owl

Barak era diferente. Él traería su proyector y su computadora portátil, se sentaría frente a la clase, abriría su ventana de Emacs y comenzaría a programar desde cero. Por lo general, tenía una tarea en mente, pero, al igual que su homólogo artístico, sería flexible en cuanto a los detalles.

A diferencia de los tutoriales paso a paso, lineales e irreales, usted tendría que tener un asiento delantero para el auténtico proceso de codificación. Podrías ver a alguien que era extremadamente bueno, pero sorprendentemente imperfecto. Vería los errores tipográficos y lógicos que se realizan, descubren y corrigen; Verás cómo probaría bits y pedazos de código por separado, aislando cualquier comportamiento problemático a su encarnación más simple. Se podía ver que el código evolucionaba de una línea a un programa desarrollado, no como una barra de progreso, lenta y linealmente, sino como un embrión, brotando nuevos órganos y extremidades y resorbiendo a otros.

Para los estudiantes nuevos en codificación, ver la evolución no lineal de una pieza de código fue crucial. Estaba desmitificando el proceso, desglosándolo, exponiendo el pensamiento detrás de cada paso, normalizando errores. La imperfección de la maestra fue clave para infundir confianza, especialmente en aquellos que no confiaban con tanta naturalidad. Hoy en día, hay muchos demos y tutoriales interactivos bien hechos, pero aún no cometen suficientes errores. El proceso de edición está tirando la mejor parte: el desordenado "resto del búho".

Si te perdiste la oportunidad de tomar una clase de CS estilo Bob Ross, probablemente no sea demasiado tarde. Es posible que desee probar la programación de pares con un ingeniero más experimentado para obtener un efecto similar. Este hilo también tiene algunos buenos consejos. Y si le estás enseñando a otros cómo codificar, acepta tus errores: simplemente son pequeños accidentes felices.

¿Crees que otras personas se beneficiarían de este artículo? Haz clic en el corazón para ayudarlos a encontrarlo ?

Texto original en inglés.