Suporte ao Professor
Preparar
• Certifique-se de que os hubs SPIKE Prime estejam carregados, especialmente se estiverem conectados por Bluetooth.
Material do Aluno
------------
Envolver
( Discussão em grupo, 5 minutos )
Peça aos alunos que se levantem e caminhem em um quadrado ao redor de sua cadeira, mesa ou sala. Enquanto caminham, peça aos alunos que descrevam seus movimentos individuais (passo à frente, passo à frente, virar para a direita/esquerda, etc.).
Inicie uma discussão com os alunos sobre a criação de seu movimento em um programa. Peça ao aluno para pensar nas linhas de código necessárias para criar este programa passo a passo. Escreva as etapas juntas como um pseudocódigo. Pseudocódigo é escrever em palavras o que você quer que o programa faça.
Pergunte aos alunos se eles estão ansiosos para digitar tantas linhas de código. Discuta alternativas para tornar o programa mais eficiente (ou seja, um programa mais curto que use menos linhas de código para executar uma ação ou tarefa).
Peça aos alunos, conforme necessário, que reconheçam o padrão que se repete nas etapas.
Apresente o conceito de loops aos alunos. Os loops permitem que você repita linhas de código, o que encurta o programa. Isso economiza o tempo do programador e torna o código mais fácil para o computador executar o programa.
Perguntas para investigar
• Como as linhas de código podem ser repetidas durante a criação de programas eficientes?
--
Explorar
( Pequenos Grupos, 20 minutos )
Os alunos explorarão o trabalho com loops for usando o Leo, o modelo de treinador.
Direcione os alunos para a seção BUILD no aplicativo SPIKE. Aqui os alunos podem acessar as instruções de construção para Leo, o Treinador . Peça aos alunos que construam o modelo. Você também pode encontrar as instruções de construção em https://education.lego.com/en-us/support/spike-prime/building-instructions .
Oriente os alunos a abrir um novo projeto na tela de programação Python. Peça aos alunos para apagar qualquer código que já esteja na área de programação. Os alunos devem conectar seu hub.
Comece a se mover
Desafie os alunos a programar Leo para completar um sit-up.
Peça aos alunos para programar Leo para completar 1 abdominal. Incentive os alunos a criarem o programa por conta própria, usando anotações e a Base de conhecimento como referência. Forneça o código de amostra conforme necessário se os alunos tiverem dificuldades.
Código de amostra:
from spike import MotorPair
from spike.control import wait_for_seconds
\# Initialize Motors
motor_pair=MotorPair('B', 'F')
\# Complete 1 sit-up
motor_pair.start(0, -30)
wait_for_seconds(.5)
motor_pair.stop()
motor_pair.start(0, 30)
wait_for_seconds(.5)
motor_pair.stop()
Discuta o programa com os alunos.
Pergunte aos alunos se eles acham que um abdominal é suficiente para o treino de Leo. Peça aos alunos que desafiem Leo a completar pelo menos 5 abdominais. Discuta maneiras de alterar o programa para repetir a mesma ação várias vezes.
Os alunos podem sugerir copiar e colar o código cinco vezes. Esta é uma maneira de fazer isso, mas não muito eficiente. Discuta a eficiência conforme necessário com os alunos.
Peça aos alunos que pensem em como poderíamos usar apenas uma linha de código adicional para executar a ação. Compartilhe esse código com os alunos e veja se eles conseguem identificar a nova linha de código. Peça aos alunos para adicionar esta linha de código e executar o programa.
from spike import MotorPair
from spike.control import wait_for_seconds
\# Initialize Motors
motor_pair=MotorPair('B', 'F')
\# Complete 5 sit-ups.
for count in range(5):
motor_pair.start(0, -30)
wait_for_seconds(.5)
motor_pair.stop()
motor_pair.start(0, 30)
wait_for_seconds(.5)
motor_pair.stop()
Discuta o programa com os alunos.
--
Explicar
( Grupo inteiro, 5 minutos )
Discuta com os alunos como o programa funcionou.
Faça perguntas aos alunos como:
• Como funcionou o novo programa?
• O que a linha “for count in range” informa ao programa?
• O que é eficiência? Como usar um loop for em vez de copiar e colar o código é mais eficiente?
Explique aos alunos que este é um exemplo de um “loop for” ou instrução repetitiva, que nos permite repetir uma parte do código um determinado número de vezes. Nesse caso, repetimos o código 5 vezes conforme indicado entre parênteses. Observe que as linhas de código após o loop for são recuadas. Todas as linhas de código recuadas após o loop for serão repetidas.
--
Elaborar
( Pequenos Grupos, 10 minutos )
Desafie os alunos a adicionar ao seu programa algo para Leo fazer depois de seus abdominais (ou seja, após o loop).
Peça aos alunos para adicionar ao seu código uma imagem ou um som e imprimir algo no console. Leo ainda deve completar pelo menos 5 abdominais, mas depois fazer algo novo. Lembre aos alunos que qualquer coisa que não queira ser repetida no loop não será indentada.
Nota: Os alunos podem alterar o nível de potência dos motores. Alterar o nível de poder mudará a maneira como Leo se move. Conforme o tempo permitir, considere investigar isso juntos.
Permita que os alunos compartilhem seus programas finais e discutam como eles foram capazes de adicionar ao seu código. Chame a atenção especificamente para onde os alunos usam recuo e onde não.
--
Avaliar
( Exercício em grupo, 5 minutos )
Observação do Professor:
Discuta o programa com os alunos.
Faça perguntas aos alunos como:
• Como você pode usar um loop for para tornar um programa mais eficiente? (abreviado para codificar)
• Como você mostra no programa que o loop terminou?
Autoavaliação:
Peça aos alunos que respondam o seguinte em seus diários:
• O que você aprendeu hoje sobre o uso de loops for em seu programa?
• Que características de um bom companheiro de equipe eu demonstrei hoje?
• Peça aos alunos para avaliarem a si mesmos em uma escala de 1 a 3, em sua gestão de tempo hoje.
• Peça ao aluno para avaliar a si mesmo em uma escala de 1 a 3, em seu gerenciamento de materiais (peças) hoje.