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

🌱 InicianteAinda 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árioEm 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çadoDemonstra 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! 🚀