📘 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.

BNCC

📌 Cabeçalho

CampoInformação
Título🔁 Recursão: Quando o Problema Resolve a Si Mesmo!
DisciplinaComputação / Pensamento Computacional
Ano/Série8º Ano — Ensino Fundamental II
Tempo Total50 minutos
NívelIniciante 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:

  1. Compreender o conceito de recursão como estratégia de resolução de problemas, distinguindo-a de abordagens iterativas
  2. Identificar o caso base e o caso recursivo em problemas e situações do cotidiano
  3. Aplicar o raciocínio indutivo para decompor problemas em versões menores de si mesmos
  4. Construir uma solução recursiva simples em pseudocódigo ou linguagem de programação (ex.: fatorial ou contagem regressiva)
  5. Refletir sobre as vantagens do pensamento recursivo na resolução de problemas computacionais

🌐 Competências Gerais da BNCC

CompetênciaJustificativa
Competência 2 – Pensamento Científico, Crítico e CriativoA 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çãoOs 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 DigitalA 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çãoAtividades 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 CidadaniaO 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.
Infográfico educativo sobre recursão.
Infográfico educativo sobre recursão. O conteúdo aborda caso base e caso recursivo. Ilustrações mostram bonecas russas e subida de escadas. O cálculo de fatorial exemplifica a teoria. Cores suaves compõem o visual. O robô central simboliza a tecnologia.

🏫 Aula

📋 Resumo da Aula

AtividadesObjetivo PrincipalTempo Sugerido
🔥 AquecimentoAtivar curiosidade e conhecimentos prévios com analogia visual5 min
💬 Conversa InicialLevantar hipóteses e construir intuitivamente o conceito de recursão7 min
✏️ Atividade 1Identificar caso base e caso recursivo em situações desplugadas8 min
✏️ Atividade 2Escrever pseudocódigo recursivo em duplas8 min
🚀 Hora de Produzir!Implementar solução recursiva em linguagem de programação12 min
💭 Momento da ReflexãoAvaliar a própria aprendizagem e conectar ao cotidiano5 min
🔗 SistematizaçãoConsolidar conceitos com mapa coletivo no quadro3 min
📊 Registro e AvaliaçãoObservação formativa e registro pelo professor2 min
Total50 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?”

Infográfico sobre recursão em estilo vintage
O título destaca o pensamento em camadas. Ilustrações explicam o raciocínio indutivo. Bonecas russas mostram o caso base. Círculos concêntricos detalham o caso recursivo. Apresenta exemplos: subir escada, organizar livros e contagem de foguete. Inclui o cálculo de fatorial. Cores sépia sobre papel envelhecido.

🗂️ 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:

  1. “Vocês já viram isso em matemática? Pensem em fatorial: 5! = 5 × 4!”
  2. “O que acontece se não tivermos esse ponto de parada? Vamos testar a ideia dos espelhos infinitos…”
  3. “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çãoCaso RecursivoCaso Base
1Contar quantos degraus faltam para o topo da escadaSobe 1 degrau e conta o restanteChegou ao topo (0 degraus restantes)
2Calcular o fatorial de um númeron × fatorial(n-1)fatorial(1) = 1
3Procurar um livro em uma pilhaVerifica o de cima; se não for, procura no restantePilha vazia ou livro encontrado
4Abrir a boneca russaAbre a boneca e verifica a de dentroBoneca 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:

  1. Mostre o template no quadro/projetor
  2. Peça que completem os espaços em branco
  3. Após 5 minutos, peça a uma dupla que leia sua solução em voz alta
  4. 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:

  1. 🤔 “Em uma frase, o que é recursão para você agora?”
  2. ✅ “O que você conseguiu fazer hoje que não sabia antes?”
  3. ❓ “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

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! 🚀