Imagina a situação: uma pessoa que nunca nadou é posta numa sala de aula e fica seis meses aprendendo sobre a anatomia do corpo humano, hidrostática e natação. Tudo no papel, sem nenhuma prática. Depois desses seis meses esta pessoa é posta na água. O que tu achas que vai acontecer?

Agora imagina o inverso, alguém que nunca aprendeu sobre anatomia, nem teve nenhuma instrução direta sobre natação, vai competir com pessoas que tiveram instrução desde cedo. Quem seria melhor?

Existe uma dependência circular entre o aprendizado e a prática. Para relacionar fatos e ideias é preciso experiência, conceitos e princípios aprendidos multiplicam as habilidades práticas.

Educadores tentam fechar esse abismo através de exercícios em aula. Porém esses exercícios são literalmente artificiais. Por mais que nos esforcemos em fazer exercícios que sejam práticos, nunca chegaremos a mesma experiência que se tem uma situação prática. Nas minhas aulas eu noto que os alunos que mais têm facilidade com o material são os que já tiveram alguma experiência prática fora da classe de aula.

É possível, no entanto, trazer um pouco do benefício de experiências prévias para as aulas através de uma técnica r psicológica chamada Learn Before Lecture (LBL), ou aprender antes da aula. Alunos são expostos a perguntas relativas ao material antes dele ser ensinado. Assim, quando o novo material é apresentado, alunos são capazes de ligar o novo material a uma necessidade anterior.

Alunos que estão começando a aprender a programar, por exemplo, antes de serem expostos a laços de repetição (for, while, etc), são questionados em como imprimir todos os elementos de uma lista de dez elementos. Muitos vão copiar e colar a mesma linha dez vezes. Depois o exercício muda para uma lista de quinhentos elementos. Agora copiar e colar já começa a ficar maçante. Alguns deles podem imaginar que existe uma estrutura para repetir o mesmo comando. Então lhes é exposto o conceito de laços de repetição. Agora eles podem relacionar um problema que tiveram previamente e vão aprender com mais facilidade.

Eu tive essa experiência ao aprender promises em Javascript. Como eu já tinha programado anteriormente sem elas, e já tinha sentido na pele todos os problemas que a programação assíncrona traz, quando eu aprendi o conceito de promises foi como se eu tivesse tido um clique. Possivelmente eu poderia ter aprendido promises sem nunca ter programado com callbacks, mas agora eu sinto que meu entendimento é muito maior graças à experiência prévia com o problema.