📘 Plano de Aula — Pensamento Computacional
EF08CO01 Este material apresenta um plano de aula estruturado para o 8º ano do Ensino Fundamental, focado no ensino de recursão dentro do pensamento computacional. O conteúdo propõe que estudantes compreendam a técnica como uma estratégia de raciocínio indutivo, onde um problema é resolvido ao ser dividido em versões menores de si mesmo. Para facilitar o aprendizado, o guia utiliza analogias cotidianas, como bonecas russas e espelhos, diferenciando casos base de casos recursivos. Além de atividades práticas em pseudocódigo e programação, o texto alinha-se às diretrizes da BNCC para desenvolver competências científicas e digitais. O roteiro busca transformar um conceito técnico em uma forma de pensar acessível, oferecendo suporte tanto para alunos iniciantes quanto para os avançados.
📌 Cabeçalho
| Campo | Informação |
|---|---|
| Título | 🔁 Recursão: Quando o Problema Resolve a Si Mesmo! |
| Disciplina | Computação / Pensamento Computacional |
| Ano/Série | 8º Ano — Ensino Fundamental II |
| Tempo Total | 50 minutos |
| Nível | Iniciante ao Intermediário (turmas mistas) |
📝 Descrição
Nesta aula, os alunos serão introduzidos ao conceito de recursão como uma estratégia poderosa de resolução de problemas, indo além da simples sintaxe de programação. A ideia central é desenvolver o raciocínio indutivo: aprender a pensar em um problema como uma versão menor de si mesmo. Por meio de analogias do cotidiano (como bonecas russas, espelhos frente a frente e escadas), atividades desplugadas e uma introdução prática à programação, os alunos compreenderão que a recursão é, antes de tudo, uma forma de pensar. A aula conecta-se a conteúdos anteriores de lógica e algoritmos, ampliando o repertório computacional dos estudantes.
🎯 Habilidade da BNCC
⚠️ Uma habilidade principal por plano.
Código: EF08CO01
Descrição: Construir soluções de problemas usando a técnica de recursão e automatizar tais soluções usando uma linguagem de programação. O conceito de recursão permite exercitar o pensamento indutivo na resolução de problemas — recursão não deve ser entendida como uma questão sintática, mas sim como uma forma poderosa de resolver problemas. O raciocínio indutivo é muito útil na resolução de problemas, pois permite trabalhar em um nível de abstração mais elevado do que usando raciocínio dedutivo, o que em muitas situações facilita encontrar soluções (grande parte dos algoritmos clássicos da Computação são bem mais fáceis de compreender nas suas versões recursivas).
🔗 Habilidades relacionadas (não foco desta aula):
- EF08CO02 — Construir soluções usando estruturas de dados como listas e registros
- EF06CO04 — Identificar padrões e criar algoritmos para automatizar tarefas
📚 Objeto de Conhecimento
Unidade Temática: Pensamento Computacional
Objeto: Programação com listas e recursão
- 📌 Conceitual: O que é recursão; diferença entre raciocínio indutivo e dedutivo; caso base e caso recursivo
- 📌 Procedimental: Identificar estruturas recursivas em situações do cotidiano; escrever pseudocódigo e código recursivo simples
- 📌 Atitudinal: Persistência diante de problemas complexos; colaboração na resolução de desafios; valorização do pensamento abstrato
🏆 Objetivos de Aprendizagem
Ao final da aula, os alunos serão capazes de:
- Compreender o conceito de recursão como estratégia de resolução de problemas, distinguindo-a de abordagens iterativas
- Identificar o caso base e o caso recursivo em problemas e situações do cotidiano
- Aplicar o raciocínio indutivo para decompor problemas em versões menores de si mesmos
- Construir uma solução recursiva simples em pseudocódigo ou linguagem de programação (ex.: fatorial ou contagem regressiva)
- Refletir sobre as vantagens do pensamento recursivo na resolução de problemas computacionais
🌐 Competências Gerais da BNCC
| Competência | Justificativa |
|---|---|
| Competência 2 – Pensamento Científico, Crítico e Criativo | A aula estimula o raciocínio lógico-indutivo, a formulação de hipóteses e a busca criativa por soluções recursivas para problemas |
| Competência 4 – Comunicação | Os alunos expressam seu raciocínio em pseudocódigo, código e linguagem oral, desenvolvendo formas diversas de comunicação do pensamento |
| Competência 5 – Cultura Digital | A aula desenvolve diretamente o letramento em programação e o uso de ferramentas digitais para automatizar soluções computacionais |
| Competência 9 – Empatia e Cooperação | Atividades em duplas e grupos promovem a colaboração, a escuta ativa e o trabalho coletivo na resolução de desafios |
| Competência 10 – Responsabilidade e Cidadania | O desenvolvimento do pensamento computacional forma cidadãos capazes de compreender e transformar o mundo mediado por tecnologias |
📖 Bibliografia
- BRASIL. Base Nacional Comum Curricular (BNCC). Brasília: MEC/SEB, 2018. Disponível em: http://basenacionalcomum.mec.gov.br
- BRACKMANN, C. P. Desenvolvimento do Pensamento Computacional através de atividades desplugadas na Educação Básica. Tese de Doutorado – UFRGS, 2017.
- CORMEN, T. H. et al. Algoritmos: Teoria e Prática. 3. ed. Rio de Janeiro: Elsevier, 2012.
- FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. Lógica de Programação: A Construção de Algoritmos e Estruturas de Dados. 3. ed. São Paulo: Pearson Prentice Hall, 2005.
- WING, J. M. Computational Thinking. Communications of the ACM, v. 49, n. 3, p. 33–35, 2006.
- SÃO PAULO (Estado). Currículo Paulista – Computação. São Paulo: SEDUC-SP, 2022.

🏫 Aula
📋 Resumo da Aula
| Atividades | Objetivo Principal | Tempo Sugerido |
|---|---|---|
| 🔥 Aquecimento | Ativar curiosidade e conhecimentos prévios com analogia visual | 5 min |
| 💬 Conversa Inicial | Levantar hipóteses e construir intuitivamente o conceito de recursão | 7 min |
| ✏️ Atividade 1 | Identificar caso base e caso recursivo em situações desplugadas | 8 min |
| ✏️ Atividade 2 | Escrever pseudocódigo recursivo em duplas | 8 min |
| 🚀 Hora de Produzir! | Implementar solução recursiva em linguagem de programação | 12 min |
| 💭 Momento da Reflexão | Avaliar a própria aprendizagem e conectar ao cotidiano | 5 min |
| 🔗 Sistematização | Consolidar conceitos com mapa coletivo no quadro | 3 min |
| 📊 Registro e Avaliação | Observação formativa e registro pelo professor | 2 min |
| Total | 50 min |
ℹ️ Sobre Esta Aula
Tempo previsto: 50 minutos
Materiais sugeridos:
- 📱 Computadores, tablets ou smartphones com acesso ao ambiente de programação (Scratch, Python Tutor ou Replit)
- 🖊️ Fichas impressas ou folhas para atividade desplugada (Atividade 1)
- 🖥️ Projetor ou lousa digital para exibição de exemplos e construção coletiva
- 🪆 Imagem ou objeto de boneca russa (Matryoshka) — físico ou digital — para analogia
- 📋 Quadro branco ou lousa para sistematização final
📌 Orientações ao Professor
💡 Antes de começar: Certifique-se de que o ambiente de programação está funcionando em todos os dispositivos. Teste os exemplos de código com antecedência.
Pontos de atenção:
- Muitos alunos confundem recursão com repetição (loop). Reforce sempre: “A função chama a si mesma, não repete um bloco”
- O maior obstáculo costuma ser a ausência do caso base — alunos tendem a esquecer a condição de parada, gerando loops infinitos. Use isso como momento de aprendizagem, não de frustração
- Evite apresentar recursão como sintaxe primeiro. Comece pelo raciocínio, depois vá para o código
Adaptações para NEE:
- 🧩 Alunos com dificuldades de abstração: Use objetos físicos (caixas dentro de caixas, bonecas russas reais) e atividades desplugadas antes do computador
- 👁️ Alunos com baixa visão: Aumente o tamanho da fonte no ambiente de programação e use contraste alto
- ⚡ Alunos com TDAH: Prefira atividades em duplas com papéis definidos (um digita, outro revisa) e mantenha as etapas curtas e bem delimitadas
- 🌟 Alunos avançados: Proponha o desafio de implementar a sequência de Fibonacci ou a Torre de Hanói recursivamente
🔥 Aquecimento
Tempo previsto: 5 minutos
Como fazer:
Projete ou mostre a imagem de uma boneca Matryoshka (boneca russa) sendo aberta — cada boneca contém outra menor, até chegar à menor de todas.
Em seguida, faça a pergunta provocadora para a turma:
“Imaginem que eu peço para você abrir essa boneca e me dizer quantas bonecas existem dentro dela. Como você faria isso sem saber o número de antemão?”
Deixe os alunos responderem livremente. Espere surgir a ideia de “abro uma, vejo se tem outra dentro, e repito”. Então pergunte:
“E quando você para de abrir?”
Essa pergunta planta a semente do caso base sem ainda nomear o conceito. Registre as respostas no quadro para retomar depois.
Variação: Se não tiver projetor, descreva oralmente ou use o exemplo de espelhos frente a frente criando reflexos infinitos — e pergunte: “O que aconteceria se os espelhos nunca parassem de refletir?”

🗂️ Organização da Aula
💬 Conversa Inicial
Tempo previsto: 7 minutos
Como conduzir:
Retome as respostas do aquecimento e introduza o vocabulário de forma natural:
“O que vocês descreveram agora tem um nome na Computação: recursão. É quando um processo se repete sobre versões menores de si mesmo — até chegar em um ponto tão simples que a resposta é imediata.”
Perguntas para aprofundar o diálogo:
- “Vocês já viram isso em matemática? Pensem em fatorial: 5! = 5 × 4!”
- “O que acontece se não tivermos esse ponto de parada? Vamos testar a ideia dos espelhos infinitos…”
- “Qual a diferença entre dizer ‘repita 5 vezes’ e dizer ‘faça isso, e depois faça a versão menor disso’?”
Objetivo: Construir coletivamente a distinção entre raciocínio dedutivo (passo a passo, iterativo) e raciocínio indutivo (reduzir o problema a si mesmo). Escreva no quadro os dois termos e uma frase-síntese de cada um, construída com os alunos.
✏️ Atividade 1 — Caça ao Caso Base
Tempo previsto: 8 minutos
Agrupamento: Duplas
Descrição: Distribua (ou projete) uma ficha com 4 situações do cotidiano. Os alunos devem identificar, em cada uma, o caso recursivo (quando o problema se repete) e o caso base (quando ele para).
Exemplos de situações na ficha:
| # | Situação | Caso Recursivo | Caso Base |
|---|---|---|---|
| 1 | Contar quantos degraus faltam para o topo da escada | Sobe 1 degrau e conta o restante | Chegou ao topo (0 degraus restantes) |
| 2 | Calcular o fatorial de um número | n × fatorial(n-1) | fatorial(1) = 1 |
| 3 | Procurar um livro em uma pilha | Verifica o de cima; se não for, procura no restante | Pilha vazia ou livro encontrado |
| 4 | Abrir a boneca russa | Abre a boneca e verifica a de dentro | Boneca que não tem outra dentro |
Instrução para os alunos: “Para cada situação, complete a tabela identificando: O que se repete? Quando para?”
O que o professor faz: Circula pelas duplas, fazendo perguntas como “Como você sabe que chegou ao fim?” e “O que muda a cada repetição?”. Ao final, corrige coletivamente com a turma.
✏️ Atividade 2 — Escrevendo Recursão em Pseudocódigo
Tempo previsto: 8 minutos
Agrupamento: Duplas (mesmas da atividade anterior)
Descrição:
Apresente no quadro ou projetor o problema do fatorial em linguagem natural:
“O fatorial de um número N é: se N = 1, o resultado é 1. Caso contrário, é N multiplicado pelo fatorial de N-1.”
Peça que as duplas escrevam isso em pseudocódigo, usando a estrutura:
função fatorial(N): se N = 1: retorne ___ senão: retorne ___ × fatorial(___)
Passo a passo para o professor:
- Mostre o template no quadro/projetor
- Peça que completem os espaços em branco
- Após 5 minutos, peça a uma dupla que leia sua solução em voz alta
- Valide coletivamente: “Tem caso base? O problema fica menor a cada chamada?”
Variação para turmas avançadas: Proponha também a contagem regressiva (de N até 1) como segundo exercício.
🚀 Hora de Produzir!
Tempo previsto: 12 minutos
Agrupamento: Individual ou duplas (conforme disponibilidade de dispositivos)
Descrição:
Os alunos implementam a função fatorial (ou contagem regressiva) em uma linguagem de programação real. Sugestões de ambiente:
- 🐍 Python (Replit, Python Tutor ou IDLE)
- 🐱 Scratch (versão adaptada com bloco recursivo)
- 📦 Visualg (para turmas já familiarizadas com pseudocódigo)
Código de referência em Python (para o professor projetar como apoio):
def fatorial(n): if n == 1: # Caso base return 1 else: # Caso recursivo return n * fatorial(n - 1) print(fatorial(5)) # Esperado: 120
Como mediar:
- Circule pela sala e observe se os alunos identificam corretamente o caso base no código
- Incentive os alunos a testarem com diferentes valores (0, 1, 5, 10)
- Se um aluno esquecer o caso base e o programa travar: “O que aconteceu? Por que ele não parou?” — use o erro como aprendizagem
- Para alunos avançados: desafie a implementar contagem regressiva ou soma dos N primeiros números naturais
💭 Momento da Reflexão
Tempo previsto: 5 minutos
Proposta:
Peça que cada aluno (individualmente, no caderno ou em voz alta) responda a 3 perguntas rápidas:
- 🤔 “Em uma frase, o que é recursão para você agora?”
- ✅ “O que você conseguiu fazer hoje que não sabia antes?”
- ❓ “Qual parte ainda está confusa ou você quer entender melhor?”
Para turmas com tempo limitado: Faça as perguntas oralmente e peça que levantem a mão ou respondam em voz alta. Registre as dúvidas no quadro para retomar na próxima aula.
Pergunta bônus (para engajar):
“Onde mais você acha que recursão aparece na vida real, fora da Computação?” (Espere respostas como: árvores genealógicas, fractais, histórias dentro de histórias, receitas que usam outras receitas…)
🔗 Sistematização do Conhecimento
Tempo previsto: 3 minutos
Como fazer:
Com a turma, construa coletivamente no quadro um mapa-síntese com os conceitos da aula:
RECURSÃO
- O que é? → Uma função que chama a si mesma
- Componentes
- Caso Base → Condição de parada (sem ele = loop infinito!)
- Caso Recursivo → Versão menor do mesmo problema
- Vantagem → Raciocínio indutivo: pensa no problema em nível mais alto
- Exemplos → Fatorial, contagem regressiva, boneca russa, escada
Peça que os alunos copiem no caderno. Reforce a frase-chave:
“Recursão não é sintaxe — é uma forma de pensar!”
📊 Registro e Avaliação
Foco formativo — observe e registre durante toda a aula:
🌱 Iniciante — Ainda está construindo o conceito O aluno compreende a ideia de “repetição que diminui” mas ainda confunde recursão com loop simples. Não identifica com clareza o caso base.
Como apoiar: Retome a analogia da boneca russa; use objetos físicos; proponha que o aluno trace o “caminho” da função no papel antes de codificar.
📈 Intermediário — Em desenvolvimento O aluno identifica caso base e caso recursivo, escreve pseudocódigo corretamente, mas ainda tem dificuldades na implementação em código ou em generalizar para outros problemas.
Como desafiar: Peça que explique o código para um colega; proponha a soma dos N primeiros números como segundo exercício.
⭐ Avançado — Demonstra domínio O aluno implementa corretamente, testa com diferentes valores, identifica o risco do loop infinito e consegue criar novos exemplos recursivos.
Como ampliar: Proponha a sequência de Fibonacci, a Torre de Hanói ou a busca binária recursiva como desafio extra.
🌱 Desdobramentos
Esta aula abre caminho para um percurso rico de aprofundamento:
- Próxima aula: Recursão com listas — percorrer e processar listas de forma recursiva (EF08CO02)
- Interdisciplinaridade com Matemática: Progressões aritméticas e geométricas, indução matemática, sequência de Fibonacci
- Interdisciplinaridade com Arte: Fractais como estruturas recursivas na natureza e na arte (triângulo de Sierpinski, floco de neve de Koch)
- Projeto integrador: Criar um mini-jogo ou animação no Scratch que use lógica recursiva
- Tema transversal — Tecnologia e Sociedade: Discutir como algoritmos recursivos estão presentes em buscadores, redes sociais e IA
📎 Materiais Complementares
Para os Alunos
- 🎮 CS Unplugged — Atividades desplugadas de Computação: https://csunplugged.org/pt-br/
- 🐍 Python Tutor — Visualizador de execução de código: https://pythontutor.com
- 📺 Vídeo: “O que é Recursão?” — Curso em Vídeo (YouTube): Buscar por “recursão Gustavo Guanabara”
- 🎯 Scratch — Plataforma de programação visual: https://scratch.mit.edu
- 📖 Khan Academy — Recursão (em português): https://pt.khanacademy.org/computing
Para o Professor
- 📘 BRACKMANN, C. P. Desenvolvimento do Pensamento Computacional através de atividades desplugadas na Educação Básica. UFRGS, 2017. (Disponível online)
- 🌐 Currículo de Referência em Tecnologia e Computação — CIEB: https://curriculo.cieb.net.br
- 📺 Formação: Pensamento Computacional na Educação Básica — Plataforma AVAMEC/MEC
- 📄 WING, J. M. Computational Thinking. Communications of the ACM, 2006. (Artigo fundador da área)
- 🛠️ Replit — Ambiente de programação online gratuito: https://replit.com
✅ Plano finalizado! 🚀











