Uma pequena árvore binária feliz: aprender a codificar de Bob Ross

Crédito da imagem: Julian Bergheim, AFAIK

"Se você tem que fazer algo novamente, isso não significa que você é ruim, isso significa que você é normal." – Bob Ross

Bob Ross tem sido famoso há décadas por seus calmantes vídeos que ensinam a pintura, uma pequena árvore amigável por vez. O que os fez especiais foi assistir o processo criativo como aconteceu, com os erros calmamente recebidos como "pequenos acidentes felizes" e transformados em oportunidades de ensino. Ele deu aos espectadores a confiança de que eles também podem pintar paisagens elaboradas. É por isso que as melhores classes de codificação são como os vídeos de Bob Ross: fazer algo bonito em tempo real, com erros e desvios – suavemente e graciosamente corrigidos.

Eu aprendi a codificar na 6ª série, fazendo animações de figuras de vara em BASIC. Na 9 ª série, eu estava codificando algoritmos de backtracking em Pascal (eles envolveram canibais e missionários cruzando um rio. Não pergunte.) Eu paguei minhas taxas de C ++ no CS101. Mas minha compreensão da ciência da computação e da codificação mudou fundamentalmente quando eu fiz minha primeira classe Scheme. (Scheme era a Scala dos anos 90). Sim, a programação funcional pode explodir sua mente, mas também tive a sorte de ter o Bob Ross da informática como professor. Seu nome é Barak Pearlmutter , e ele também é um especialista em redes neurais desde a última vez que eles eram legais. Seu estilo de ensino era diferente de qualquer que eu já tinha visto antes.

Esta era uma época em que todos estavam dando palestras e copiando fragmentos de código preparados para transparências ou o quadro branco. Em vez dos vídeos de Bob Ross, as lições se parecem com isto:

Crédito da imagem: http://knowyourmeme.com/memes/how-to-draw-an-owl

Barak era diferente. Ele traria seu projetor e laptop, se sentaria na frente da aula, abriria sua janela do Emacs e começaria a codificar a partir do zero. Ele costumava ter uma tarefa em mente, mas, como sua homóloga artística, seria flexível sobre os detalhes.

Ao contrário dos tutoriais passo a passo lineares e irrealistas, você teria um assento dianteiro para o autêntico processo de codificação. Você veria alguém que era extremamente bom, mas surpreendentemente imperfeito. Você veria os erros de digitação e lógica serem feitos, descobertos e corrigidos; você veria como ele testaria bits e pedaços de código separadamente, isolando qualquer comportamento problemático em sua encarnação mais simples. Você poderia ver o código evoluindo de uma linha para um programa desenvolvido – não como uma barra de progresso, lenta e linearmente, mas como um embrião, brotando novos órgãos e membros e resorvendo outros.

Para alunos novos a codificar, ver a evolução não-linear de um pedaço de código foi crucial. Estava desmistificando o processo, desagregando-o, expondo o pensamento por trás de cada etapa, normalizando os erros. A imperfeição do professor foi fundamental para incutir a confiança, especialmente naqueles que não são tão desconfiados. Hoje, existem muitas demonstrações e tutoriais interativos e bem feitos, mas ainda não cometem erros suficientes. O processo de edição está descartando a melhor parte: o "resto da coruja" desordenado.

Se você perdeu sua chance de ter uma classe CS de estilo Bob Ross – provavelmente não é tarde demais. Você pode querer tentar a programação de pares com um engenheiro mais experiente para um efeito semelhante. Este tópico também tem alguns grandes ponteiros. E se você está ensinando os outros a codificar, abrace seus erros: eles são apenas felizes pequenos acidentes.

Pensar que outras pessoas se beneficiariam com este artigo? Clique no coração para ajudá-los a encontrá-lo ?

Texto original em inglês.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *