Ir para o conteúdo

Guia para famílias e professores

Semana 6: Depuração e confiabilidade

Duração da aula: 70 a 85 minutos

Objetivo de aprendizagem

Os estudantes pegam os robôs reativos que montaram e os tornam confiáveis. Eles aprendem que depurar é o trabalho de descobrir por que o resultado real é diferente do resultado esperado, e que os bugs vêm em três famílias: mecânicos (alguma coisa física), de programação (uma instrução errada ou faltando) e de sensor (uma leitura, um limiar ou uma calibração ruins). Eles praticam com missões de depuração preparadas de propósito, conhecem variáveis e contadores para guardar e acompanhar valores, e fazem ensaios de confiabilidade (a mesma tarefa três vezes) registrando o esperado x o real para provar que o robô funciona mesmo.

Resultados esperados dos estudantes

Ao terminar esta semana, os estudantes vão conseguir:

  • Explicar a depuração como descobrir por que o resultado real difere do resultado esperado
  • Diferenciar bugs mecânicos, de programação e de sensor pelos sintomas deles
  • Usar uma variável ou um contador para guardar ou acompanhar um valor num programa
  • Fazer um ensaio de confiabilidade: repetir a mesma tarefa três vezes e registrar o esperado x o real
  • Diagnosticar um robô que se comporta mal e descrever a solução

Ritmo sugerido

About 70 a 85 minutos. Adjust to your group - these are guides, not limits.

EtapaFocoMinutos
Depuração e as três famílias de bugsResultado esperado x real, e bugs mecânicos, de programação e de sensor.15 min
Preveja a família do bugLer cada sintoma e prever a família dele antes de investigar.5 min
Missões de Detetive de BugsDiagnosticar e consertar bugs mecânicos, de programação e de sensor, uma mudança de cada vez.18 min
Contador de obstáculosUsar uma variável como contador para acompanhar os obstáculos desviados.12 min
Ensaio de confiabilidade de três rodadasRodar a mesma tarefa três vezes, registrando o esperado x o real e o Bateu?.15 min
Verificação de aprendizagemCinco perguntas sobre depuração, famílias de bugs, contadores e confiabilidade.8 min
ReflexãoEscrever sobre um bug que você achou e sobre o que as três rodadas mostraram.7 min

Antes de começar

Preparação do espaço

  • Imprima o registro de teste de três rodadas e a folha do Detetive de Bugs, um por estudante ou dupla.
  • Deixe prontos para depurar os robôs reativos da semana passada (ou as missões do simulador, ou os programas de cartões).
  • Monte um caso de teste repetível: marque uma linha de largada e uma distância fixa até a parede ou o obstáculo, para as rodadas serem mesmo idênticas.

Prepare com antecedência

  • Prepare com antecedência um bug plantado de cada família: afrouxar uma roda (mecânico), mudar um número de curva (programação) e ajustar um limiar ruim (sensor).
  • Treine ler o valor do sensor ao vivo no seu kit ou no simulador, para conseguir orientar os ajustes de limiar.
  • Decida como os estudantes vão "somar 1" a um contador no seu equipamento, e teste você mesmo o programa do contador de obstáculos uma vez.

Materiais

  • Registro de teste de três rodadas (para imprimir)(Kit, Simulador, Sem eletrônicos)
  • Folha de atividade Detetive de Bugs, com as três famílias (para imprimir)(Kit, Simulador, Sem eletrônicos)
  • Lápis e papel para anotar os resultados(Kit, Simulador, Sem eletrônicos)
  • Um robô reativo montado na semana 5, com pelo menos um sensor(Kit)
  • Fita métrica ou régua para montar o mesmo caso de teste em cada rodada(Kit, Sem eletrônicos)
  • Computador ou tablet com o simulador no navegador(Simulador)
  • O robô de papelão, os cartões de programa e a pista de chão com fita, das semanas anteriores(Sem eletrônicos)
  • Post-its ou uma folha de marcação para funcionar como contadorOpcional(Sem eletrônicos)

Segurança

  • cautionDesligue o robô antes de apertar rodas, mexer em fios ou conferir peças mecânicas.(Kit)
  • cautionMantenha a área de teste e a pista de obstáculos livres de mãos, pés e bagunça durante as rodadas.(Kit, Sem eletrônicos)
  • infoUse tesoura sem ponta com um adulto se for refazer um para-choque de papel ou alguma peça do modelo.(Sem eletrônicos)
  • infoSalve o seu programa e o registro de testes com frequência, para que atualizar o navegador não apague os seus resultados.(Simulador)

Como conduzir a aula

  1. 1.Ensine o esperado x o real e as três famílias de bugs antes de encostar em qualquer robô.
  2. 2.Peça que os estudantes primeiro prevejam a família do bug pelo sintoma, e só depois investiguem; não deixe que fiquem cutucando a esmo.
  3. 3.Insista em mudar uma coisa de cada vez e rodar de novo, para se saber qual foi a causa do conserto.
  4. 4.Reserve tempo para o ensaio completo de confiabilidade de três rodadas; uma única rodada de sorte não prova nada.

Ideias equivocadas frequentes

  • "Funcionou uma vez, então está consertado": confiabilidade precisa de várias rodadas que batem, não de uma.
  • Achar que todo bug está no código: muitos são mecânicos (roda frouxa, fio se arrastando) ou de sensor (limiar errado).
  • Mudar várias coisas de uma vez, e aí ninguém consegue dizer qual mudança realmente resolveu.
  • Achar que variável e contador são coisas diferentes: um contador é só uma variável usada para contar.

Perguntas para fazer

  • O que você esperava que acontecesse, e o que aconteceu de verdade?
  • Ele falha do mesmo jeito em toda rodada, ou só às vezes? O que isso diz sobre a família?
  • Qual foi a ÚNICA coisa que você mudou, e ela bateu com a sua previsão?
  • Como você sabe que o seu robô é confiável e não só deu sorte?

Adaptações para a sala e para os grupos

Deixe mais fácil

Dê aos estudantes um bug plantado de cada vez, com a família já indicada, para eles praticarem o conserto e o teste de três rodadas sem ter também de diagnosticar a família.

Deixe mais difícil

Plante dois bugs de famílias diferentes ao mesmo tempo, ou exija um contador que dispare uma ação (como parar depois de 3 obstáculos) que os estudantes também tenham de testar quanto à confiabilidade.

Grupos e turma toda

In pairs or small groups, give each student a role that rotates - driver (builds or types), navigator (reads the plan), and recorder (fills the worksheet) - so everyone participates. For a whole-class demo, run one shared robot or simulator on the board, have students predict together, then let groups repeat it on their own path. Groups can also mix paths: one builds on the kit while another checks the same idea in the simulator or unplugged, then they compare results.

Observações com e sem equipamento

Every activity this week runs three ways - all three teach the same core idea, so pick whichever fits your room. No specific product is required.

Kit

  • Registro de teste de três rodadas (para imprimir)
  • Folha de atividade Detetive de Bugs, com as três famílias (para imprimir)
  • Lápis e papel para anotar os resultados
  • Um robô reativo montado na semana 5, com pelo menos um sensor
  • Fita métrica ou régua para montar o mesmo caso de teste em cada rodada

Simulador

  • Registro de teste de três rodadas (para imprimir)
  • Folha de atividade Detetive de Bugs, com as três famílias (para imprimir)
  • Lápis e papel para anotar os resultados
  • Computador ou tablet com o simulador no navegador

Sem eletrônicos

  • Registro de teste de três rodadas (para imprimir)
  • Folha de atividade Detetive de Bugs, com as três famílias (para imprimir)
  • Lápis e papel para anotar os resultados
  • Fita métrica ou régua para montar o mesmo caso de teste em cada rodada
  • O robô de papelão, os cartões de programa e a pista de chão com fita, das semanas anteriores
  • Post-its ou uma folha de marcação para funcionar como contador

Resolução de problemas

Problemas comuns das atividades desta semana e o que tentar.

  • Consertar "tudo" de uma vez, então ninguém sabe qual era a causaKitTry: Desfaça todas as mudanças menos uma; faça uma única mudança, rode de novo e veja se era aquilo.
  • Não dá para decidir a família do bugKitTry: Rode três vezes: o mesmo resultado errado toda vez aponta para a programação; resultados diferentes apontam para algo mecânico ou um sensor instável.
  • O laço nunca acabaSimuladorTry: Isso é sintoma de programação: confira se a condição do repetir-até realmente consegue virar verdadeira.
  • O robô ignora a paredeSimuladorTry: Leia o valor do sensor no simulador e confira se o limiar está do lado certo dele: é um bug de sensor.
  • O "robô" é executado de um jeito diferente a cada vezSem eletrônicosTry: Faça de cada cartão uma instrução exata, para o resultado real ser repetível: é assim que se enxerga o bug de verdade.
  • Não dá para saber se é um cartão ou o para-choqueSem eletrônicosTry: Leia os cartões em voz alta exatamente como estão escritos; se estiverem certos, o bug é mecânico.
  • Os resultados vão mudando ao longo das três rodadasKitTry: Confira as pilhas e a posição de largada: uma bateria acabando é uma causa mecânica ou de energia da falta de confiabilidade.
  • Bate duas vezes e depois falhaKitTry: A rodada que falhou é a sua pista: examine a leitura do sensor e a montagem física logo depois dessa rodada.
  • As rodadas saem diferentes mesmo sem nada ter mudadoSimuladorTry: Confira se a casa de largada é mesmo idêntica e se o laço termina por uma condição bem definida, e não por sorte.
  • Toda rodada bate perfeitamente e parece fácil demaisSimuladorTry: Tente um caso de teste mais difícil (parede mais perto, curva mais fechada) para ver onde a confiabilidade quebra.
  • Pessoas diferentes terminam em lugares diferentesSem eletrônicosTry: Reescreva os cartões como passos exatos e sem ambiguidade, para o resultado real ser repetível.
  • A mesma pessoa termina em lugares diferentesSem eletrônicosTry: Marque o ponto de largada e o tamanho dos passos, para o caso de teste ser mesmo idêntico em toda rodada.
  • O contador está alto demaisKitTry: O robô está somando 1 mais de uma vez por obstáculo: garanta que a contagem aconteça uma vez por detecção, e não a cada volta do laço.
  • O contador fica em 0KitTry: Confira se o passo de somar 1 está dentro do ramo "se tem obstáculo", e não fora dele: é um bug de programação.
  • O contador conta demaisSimuladorTry: O somar 1 dispara a cada volta do laço enquanto encosta num mesmo obstáculo; conte só uma vez por nova detecção.
  • O contador nunca mudaSimuladorTry: Confirme que o bloco de somar 1 está dentro da condição do sensor, e não no laço puro e simples.
  • Riscos demaisSem eletrônicosTry: Só faça um risco quando o cartão "vire para desviar" realmente disparar, e não a cada passo.
  • Esqueceram de zerar o contadorSem eletrônicosTry: Comece sempre uma rodada nova colocando o contador de volta em 0: o valor guardado precisa começar do zero.

Gabarito da verificação de aprendizagem

As respostas aparecem aqui só para o adulto; a folha do estudante mantém tudo escondido.

  1. 1. Diagnostique o tipo de bug mais provável.

    Resposta correta: Um bug de sensor que precisa de recalibração

    Por quê: O mesmo código, mais a iluminação mudada, mais leituras ruins, aponta para um bug de sensor e calibração, e não de programa nem mecânico.

  2. 2. O que é depurar?

    Resposta correta: Descobrir por que o resultado real é diferente do esperado, e depois consertar isso

    Por quê: Depurar é o trabalho de detetive de achar por que o resultado real difere do esperado, e então consertar essa causa.

  3. 3. Um robô andava reto na semana passada. O programa dele não mudou, mas agora ele faz curva para um lado em toda rodada. Qual família de bug é a mais provável?

    Resposta correta: Um bug mecânico

    Por quê: Quando o código não mudou e o robô puxa sempre para o mesmo lado, desconfie de um bug mecânico, tipo uma roda frouxa ou um fio se arrastando.

  4. 4. O que é um contador?

    Resposta correta: Uma variável que começa num número e sobe de um em um cada vez que alguma coisa acontece

    Por quê: Um contador é uma variável que guarda uma contagem acumulada, começando num número e subindo de um em um a cada evento.

  5. 5. Num ensaio de confiabilidade, o que é o "resultado esperado"?

    Resposta correta: O que DEVERIA acontecer se o programa funcionar direito

    Por quê: O resultado esperado é o que deveria acontecer; você o compara com o resultado real a cada rodada para ver se o robô é confiável.

  6. 6. Por que se roda a mesma tarefa três vezes num ensaio de confiabilidade?

    Resposta correta: Para provar que o robô funciona de novo e de novo, e não só uma vez por sorte

    Por quê: Rodadas repetidas que batem provam a confiabilidade; se o resultado real de uma rodada não bater com o esperado, você achou um bug para consertar.