Minha maneira favorita de ensinar recursão é por referência à fada da recursão.
Tenho certeza de que todos estamos familiarizados com a ideia de que as histórias podem ser uma maneira muito eficaz de ensinar idéias; as pessoas parecem construídas para ouvir e lembrar histórias. A fada da recursão é uma explicação sugerida por Jeff Erickson, que empresta bem a essa abordagem.
Como Jeff E. escreve:
A recursão é um tipo de redução particularmente poderoso, que pode ser descrito livremente da seguinte maneira:
- Se a instância do problema for pequena ou simples o suficiente, basta resolvê-lo.
- Caso contrário, reduza o problema para uma ou mais instâncias mais simples do mesmo problema.
Se a auto-referência for confusa, é útil imaginar que outra pessoa resolverá os problemas mais simples, como seria de se esperar para outros tipos de reduções. Eu gosto de chamar essa pessoa de fada da recursão. Sua única tarefa é simplificar o problema original ou resolvê-lo diretamente quando a simplificação é desnecessária ou impossível; a Fada da recursão cuidará magicamente de todos os subproblemas mais simples para você, usando métodos que não são da sua conta, mas que acabam se espalhando 1 . Leitores matematicamente sofisticados podem reconhecer a Fada da Recursão por seu nome mais formal, a Hipótese da Indução.
1 : Quando eu era estudante, costumava atribuir recursão a "elfos" em vez da fada da recursão, referindo-se à história dos Irmãos Grimm sobre um sapateiro velho que deixa seu trabalho inacabado quando vai para a cama, apenas para descobrir ao acordar que os elfos (“Wichtelmänner”) terminaram tudo da noite para o dia. Alguém mais experiente em termos entheogenicamente do que eu poderia reconhecê-los como os "elfos das máquinas autotransformadoras" de Terence McKenna.
Eu recomendo a leitura de todas as anotações das aulas sobre recursão . Eles são uma coisa de beleza e lhe darão excelentes idéias sobre como ensinar recursão.
Por exemplo, confira sua explicação sobre as Torres de Hanói, onde ele mostra como resolver o problema por recursão. Minha parte favorita:
O truque para resolver esse quebra-cabeça é pensar recursivamente. Em vez de tentar resolver todo o quebra-cabeça de uma só vez, vamos nos concentrar em mover apenas o maior disco. [...] E depois a gente muda ondisco, temos que mover aqueles n - 1discos de volta em cima dele. Então agora tudo o que precisamos descobrir é como ...
PARE!! É isso aí! Foram realizadas! Reduzimos com sucesso on-disk Tower of Hanoi problem para duas instâncias do (n - 1) - problema da Torre de Hanói, que podemos alegremente entregar à Fada da Recursão (ou, para levar a história original adiante, aos monges juniores do templo).
Referências à fada da recursão: um vídeo do Youtube ("A recursão é quando você precisa resolver alguma coisa, você se chama em vez de outras!" "Então, quando eu tenho um problema, eu me peço que resolva isso?" recursão, é preciso entender a recursão "). Dividir e conquistar é um exército de fadas da recursão .