Suporte ao Professor
Preparar
Certifique-se de que os hubs SPIKE Prime estejam carregados, especialmente se estiverem conectados por Bluetooth.
Material do Aluno
--------------
Envolver
( Atividade em grupo, 5 minutos )
Envolva os alunos em uma experiência com declarações condicionais.
Os alunos precisam dos seguintes elementos de seu conjunto:
• Moldura magenta
• 3 elementos amarelos diferentes
• 3 elementos vermelhos diferentes
Peça aos alunos que coloquem a moldura magenta no meio de uma folha de papel com os outros elementos fora da moldura.
Os alunos identificarão quais elementos atendem à condição dada colocando os elementos que são verdadeiros (atendem à condição) dentro do quadro e falsos (não atendem à condição) fora do quadro.
Pratique com os alunos. Diga aos alunos que a condição é amarela. Discuta com os alunos quais elementos atendem às condições e peça aos alunos que coloquem esses elementos dentro do quadro. Todas as outras peças permanecerão fora do quadro como falsas.
Esvazie o quadro entre as rodadas.
Rodada 1: A condição é vermelha.
Rodada 2: A condição é maior que um tijolo 2x2 (talvez os alunos precisem comparar).
Rodada 3: A condição é qualquer elemento que não seja uma forma tradicional de tijolo (como um eixo ou uma peça técnica).
Discuta a experiência como um grupo inteiro. Pergunte aos alunos o que é uma declaração condicional. Explique que as instruções condicionais são pedaços de código que só são executados quando a condição declarada é atendida ou verdadeira. Os valores booleanos, true e false, são usados em declarações condicionais.
--
Explorar
( Pequenos Grupos, 20 minutos )
Os alunos explorarão a criação de declarações condicionais simples enquanto também exploram como usar o sensor de movimento no hub.
Oriente os alunos a obter o hub de seu conjunto e abrir um novo projeto na tela de programação do Python. Peça aos alunos para apagar qualquer código que já esteja na área de programação. Os alunos devem conectar seu hub.
Os sensores Tap for Action
podem ser usados de várias maneiras. O sensor de movimento pode ser programado para executar diferentes ações com base na maneira como você o move. Discuta com os alunos como eles acham que o cubo pode ser movido quando segurado na mão. Pergunte aos alunos como eles acham que o sensor de movimento deve ser programado. Quais informações o software precisará para executar o hardware corretamente?
Escreva um programa em pseudocódigo para fazer o sensor de movimento funcionar para mostrar uma imagem na matriz de luz quando o hub é tocado. Pseudocódigo é escrever em palavras o que você quer que o programa faça.
Pseudocódigo de amostra:
• Importar PrimeHub
• Inicializar hub
• Se o hub for tocado
• Mostrar imagem
Observação: o código que você escreve nas etapas não precisa corresponder exatamente ao que será colocado no programa. Isso é para ajudar o aluno a pensar sobre o que é necessário.
Forneça aos alunos o código de exemplo para usar o sensor de movimento para mostrar imagens diferentes, dependendo do gesto ou ação realizada no hub. Os alunos precisam digitar este programa na tela de programação.
Peça aos alunos que executem o programa.
from spike import PrimeHub, LightMatrix
hub = PrimeHub()
gesture = hub.motion_sensor.wait_for_new_gesture()
if gesture == 'tapped':
hub.light_matrix.show_image('SAD')
print('Stop Please')
Discuta o programa com os alunos. Peça aos alunos que apontem coisas sobre este programa que são novas. Os alunos podem notar o uso de “se” e sinais de igualdade duplos (==).
Explique aos alunos que este programa é uma declaração condicional. Ele está dizendo ao hub para executar uma ação se a condição for atendida. Discuta a condição – tocando no hub. A condição é definida pela instrução “if”. Somente se a condição for atendida, o rosto triste aparecerá no hub. Se a condição não for atendida, nada aparecerá no hub.
Também aponte os sinais duplos de igualdade para os alunos. Um único sinal de igual não pode ser usado em nossa instrução condicional porque é usado para definir o valor de uma variável ou objeto. Python usa um sinal de igual duplo para designar uma comparação. Uma instrução condicional está comparando a entrada com qualquer condição definida.
Dê aos alunos tempo para investigar a definição de uma condição em seu programa, alterando as diferentes entradas. O gesto é uma entrada do tipo string, o que significa que apenas palavras podem ser usadas. As opções são 'agitado', 'tocado', 'tocado duas vezes', 'caindo'. As opções de orientação também podem ser referenciadas na seção Knowledge Base Motion em wait_for_new_gesture().
Inclinar para Ação
Os alunos explorarão a orientação do hub de diferentes formas de ação.
Além dos gestos, o sensor de movimento pode ser usado para definir as condições de como você o orienta ou inclina. Forneça aos alunos o código de amostra para usar o sensor de movimento para mostrar diferentes imagens dependendo da orientação ou inclinação do hub. Os alunos precisam digitar este programa na tela de programação.
Peça aos alunos que executem o programa.
Discuta a condição encontrada neste exemplo – orientando ou inclinando o cubo para cima. Somente se a condição for atendida, a seta aparecerá no hub. Se a condição não for atendida, nada aparecerá no hub.
Desafie os alunos a adicionar ao seu programa. Se a condição for atendida, imprima um ditado no console e reproduza um som. Dê tempo aos alunos para escrever e executar seu programa.
Código de amostra:
from spike import PrimeHub, LightMatrix, App
hub = PrimeHub()
app = App()
orientation = hub.motion_sensor.wait_for_new_orientation()
if orientation == 'up':
hub.light_matrix.show_image(‘ARROW_N’)
print('I am awake')
app.play_sound('Applause 1')
Dê aos alunos tempo para investigar a definição de uma condição em seu programa, alterando as diferentes entradas. A orientação é uma entrada do tipo string, o que significa que apenas palavras podem ser usadas. As opções são 'front', 'back', 'up', 'down', 'left' e 'right'. As opções de orientação também podem ser referenciadas na seção Knowledge Base Motion em wait_for_new_orientation()
Lembre os alunos de consultar a Base de conhecimento conforme necessário para adicionar linhas adicionais de código. Além disso, os alunos devem observar o console em busca de mensagens de erro.
--
Explicar
( Grupo inteiro, 5 minutos )
Permita que os alunos compartilhem seus programas e discutam como os programas funcionaram.
Faça perguntas aos alunos como:
• O que é uma declaração condicional em um programa?
• O que o “se” faz para estabelecer a condição?
• Por que as linhas após o “se” estão recuadas?
• Como funciona o sensor de movimento?
• Quais são as condições que você pode definir para o sensor de movimento?
--
Elaborar
( Pequenos Grupos, 10 minutos )
Desafie os alunos a criar um jogo que inclua o uso do sensor de movimento para interagir com uma história.
Peça aos alunos que criem uma história curta que tenha um espaço em branco. O espaço em branco deve ser preenchido por uma ação do sensor de movimento que pode mostrar uma imagem e reproduzir um som. Os alunos podem usar a função print() para incluir as palavras da história no console.
Um exemplo simples escrito como um programa em pseudocódigo é:
• Print('Um dia Jane estava caminhando pelo parque. Ela olhou para cima.').
• Incline o sensor de movimento para cima.
• Imagem fantasma aparece.
• O som é reproduzido.
• Imprima('Então ela acordou e percebeu que era um sonho').
Dê aos alunos tempo para criar seus jogos de história. Os alunos devem escrever sua história em pseudocódigo primeiro. Peça aos alunos que também incluam comentários de código em seus programas para explicar as partes do programa.
Os grupos de alunos devem compartilhar suas histórias com outros grupos. Peça aos alunos que reflitam sobre as diferentes maneiras como o sensor de movimento pode ser usado.
--
Avaliar
( Exercício em grupo, 5 minutos )
Observação do Professor:
Discuta o programa com os alunos.
Faça perguntas aos alunos como:
• Como funcionam as declarações condicionais?
• Como funciona o sensor de movimento?
• Quais são as diferentes maneiras de usar o sensor de movimento?
Autoavaliação:
Peça aos alunos que respondam o seguinte em seus diários:
• O que você aprendeu hoje sobre como usar declarações condicionais?
• 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.