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.
| Etapa | Foco | Minutos |
|---|---|---|
| Depuração e as três famílias de bugs | Resultado esperado x real, e bugs mecânicos, de programação e de sensor. | 15 min |
| Preveja a família do bug | Ler cada sintoma e prever a família dele antes de investigar. | 5 min |
| Missões de Detetive de Bugs | Diagnosticar e consertar bugs mecânicos, de programação e de sensor, uma mudança de cada vez. | 18 min |
| Contador de obstáculos | Usar uma variável como contador para acompanhar os obstáculos desviados. | 12 min |
| Ensaio de confiabilidade de três rodadas | Rodar a mesma tarefa três vezes, registrando o esperado x o real e o Bateu?. | 15 min |
| Verificação de aprendizagem | Cinco perguntas sobre depuração, famílias de bugs, contadores e confiabilidade. | 8 min |
| Reflexão | Escrever 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)
Orientações de segurança completas
Review these once with your group. They apply across the whole course; the notes above are what matters most this week.
Batteries and circuitsKit
- Use only appropriate low-voltage educational equipment - no wall outlets and no household batteries wired by hand.
- Never connect a battery's two terminals directly to each other.
- Stop right away if a motor, wire, or battery becomes hot, and tell an adult.
- Disconnect the power before changing wheels, motors, or other mechanical parts.
Motors and gearsKit
- Keep fingers, hair, jewelry, sleeves, and loose clothing away from moving gears and wheels.
- Do not force a stalled motor that has stopped turning - switch it off and find out why.
- Make sure moving parts are secured before you run a test.
Moving robots
- Test on the floor, not on a table where the robot could drive off an edge.
- Keep robots away from stairs, roads, water, pets, and people's feet.
- Use a clear, open test area.
- Always include a safe-stop behavior so the robot halts when the job is done or something is in the way.
Tools and materialsKit, Sem eletrônicos
- Ask an adult for help with cutting or any sharp tools.
- Use safe classroom materials - no sharp, toxic, or breakable items.
- Never launch or swing an attachment toward a person.
Como conduzir a aula
- 1.Ensine o esperado x o real e as três famílias de bugs antes de encostar em qualquer robô.
- 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.Insista em mudar uma coisa de cada vez e rodar de novo, para se saber qual foi a causa do conserto.
- 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. 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. 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. 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. 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. 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. 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.