Utilização de blocos de comutação para fazer a transição de blocos para programação baseada em texto no VEXcode VR

Para aceder aos Blocos de Interruptor no VEXcode VR, precisa de ter uma licença VEXcode VR Premium. Consulte este artigo para obter mais informações sobre como aceder aos blocos de interruptores no VEXcode VR.

Embora os programadores principiantes estejam mais inclinados a utilizar a interface baseada em blocos, os estudantes mais avançados podem estar interessados em programar os seus robôs utilizando uma linguagem de programação baseada em texto, como o Python. Historicamenteesta transição da programação em blocos para a programação baseada em texto pode parecer aos alunos como aprender uma língua completamente nova, onde não conseguem aplicar a lógica que tinham aprendido anteriormente utilizando blocos.O Switch Blocks do VEXcode VR foi desenvolvido para facilitar a transição da programação baseada em blocos para a programação baseada em texto. Este artigo abordará como utilizar os Blocos de Interruptor no VEXcode VR e apresentará um cenário de sala de aula para explicar e ilustrar estas características em contexto.

Captura de ecrã da interface de realidade virtual do VEXcode, mostrando o ambiente de programação baseado em blocos, concebido para o ensino de conceitos de programação através da robótica virtual, adequado para a aprendizagem em sala de aula e individual na educação STEM (Ciência, Tecnologia, Engenharia e Matemática).

Utilizando blocos de interruptores

O Switch incorpora elementos familiares da programação baseada em blocos e integra caixas de texto onde podem ser digitados comandos de texto. Isto permite que os alunos façam uma transição gradual para o texto à medida que aprendem os comandos e a sintaxe do Python.


O Switch oferece aos alunos uma transição natural dos Blocos para a programação baseada em texto. À medida que os alunos se familiarizam com a lógica e a sequência de comandos, podem começar a converter um projeto um bloco de cada vez. 

Isto permite que os alunos continuem a trabalhar com o fluxo lógico de um programa baseado em blocos, onde podem ver fisicamente coisas como o envolvimento de um loop em torno de outros blocos, enquanto também começam a experimentar com comandos de texto por conta própria. Uma vez convertidos os blocos em Switch, os alunos podem facilmente alterar os parâmetros e começar a compreender a sintaxe do comando de texto. Esta secção irá guiá-lo na utilização do Switch por um aluno para explicar como pode utilizar estes blocos num projeto de realidade virtual VEXcode.

A Switch está disponível com uma licença VEXcode VR Premium. Saiba mais sobre as subscrições de realidade virtual da VEXcode aqui.

Após obter a sua licença, como aceder à Switch usando as informaçõesartigo.

Interruptor na sala de aula

Austin é um aluno que programa com blocos há vários anos. Embora alguns alunos da turma ainda sejam programadores principiantes, Austin quer aprender mais sobre Python e como começar a programar o robô de realidade virtual utilizando texto. A professora de Ciência da Computação, a Sra. Hunter, percebeu que Austin estava pronto para um desafio adicional e apresentou o Switch para ajudar a estruturar a aprendizagem de Austin e introduzi-la na programação baseada em texto. A Sra. Hunter demonstrou alguns conceitos básicos, como converter um bloco e abrir a Ajuda para saber mais sobre o comando Switch Python para cada um dos blocos. 

Hoje, a Sra. Hunter atribuiu à turma a atividade de limpeza recifes de coral. Ela utiliza o VEXcode VR nas suas aulas de programação porque sabe que pode diferenciar o ensino e alcançar alunos com diferentes níveis de conhecimento em programação utilizando as mesmas atividades. O modo de alternância ajuda a facilitar esta diferenciação para alunos como Austin. Na atividade de limpeza do recife de coral, o objetivo é recolher o máximo de lixo possível antes que a bateria do robô de realidade virtual se esgote. Compreendendo o desafio e como programar algoritmos básicos, Austin cria um projeto de realidade virtual no VEXcode que utiliza o sensor Down Eye para detetar a borda do Playground e fazer marcha-atrás para evitar danificar os corais.

Captura de ecrã da interface de realidade virtual do VEXcode, mostrando as opções de programação em blocos para um robô virtual, concebido para uso educacional em salas de aula para ensinar conceitos de programação e princípios de robótica.

Conversão de um único bloco num interruptor.

Converter 1 bloco


Agora que Austin tem um projeto que testou e verificou que funciona, o próximo passo é converter um bloco para Switch para começar a explorar Python. 


É possível converter blocos em blocos de interruptores premindo e mantendo premido ou clicando com o botão direito do rato sobre o bloco e, em seguida, selecionando a opção "Converter em bloco de interruptores", como mostra o vídeo aqui.

Austin pode agora ver que o bloco [Drive for] se transformou no comando Python drive_for. Após a conversão, Austin executa o projeto para garantir que ainda funciona como esperado. Após a conversão, o Austin quer saber mais sobre o comando drive_for. Ao abrir a Ajuda do bloco [Drive for], o Austin pode estabelecer ligações entre os parâmetros do bloco e o comando Python.

Utilize a Ajuda para saber mais sobre os comandos Switch do Python.

Abrir Ajuda


Para visualizar as informações do comando Switch Python na Ajuda, o Austin abre a janela de Ajuda, seleciona o bloco [Drive for] e faz scroll até ao fim, como mostra o vídeo aqui. 

A Sra. Hunter foi verificar e pôde ver que Austin estava a aprender mais sobre o bloco [Drive for]. Ela desafiou-o a aplicar o que tinha aprendido ao converter um bloco e a digitar um novo bloco. Ela mostrou como arrastar um bloco Switch e pediu a Austin para tentar escrever o comando turn_for no bloco. Austin abre a Ajuda do bloco e anota informações sobre a estrutura do comando. 

Digitando num bloco Switch

Adicionar um bloco


Conhecendo o comando Python por ter consultado a Ajuda, Austin pretende digitar diretamente num bloco Switch. Arrastando um bloco [Pilha de Interruptores] da Caixa de Ferramentas, Austin adiciona-o acima do bloco [Rodar para]. 

Digite no bloco


De seguida, Austin utiliza o cursor para selecionar o bloco Switch e começa a digitar o comando Python turn_for como aqui se mostra. 


Após a introdução do novo comando e a garantia de que os parâmetros correspondem ao bloco original, o bloco [Turn for] pode ser eliminado. 

A Sra. Hunter aparece para verificar o progresso de Austin. Ela vê o projeto Switch e pede para o ver em execução para garantir que os comandos são digitados corretamente. Após verificar se o projeto funciona, demonstra outra funcionalidade: blocos de várias linhas.

Copiar e colar


O bloco [Switch Stack] pode conter várias linhas de código. O Austin copia o texto turn_for e cola-o no bloco acima, como mostra o vídeo aqui.

 

Austin percebe que, ao premir 'enter' ou 'return' no teclado, podem ser adicionadas linhas adicionais ao bloco e continua a adicionar comandos Python.

Sentindo-se um mestre dos comandos do Drivetrain em Python, Austin imprime um certificado e guarda o projeto para a próxima vez.

Conversão de Pilhas em Switches

Mais tarde, durante o ano letivo, a Sra. Hunter retoma a atividade de limpeza dos recifes de coral e desafia os alunos a obterem uma pontuação mais elevada ou a utilizarem programação baseada em texto. Embora Austin tenha utilizado comandos Drivetrain em blocos Switch, esta atividade é uma oportunidade para aprender mais sobre o equivalente a blocos 'C' e operadores booleanos em Python. 

Converter wrapper


Austin pressiona e mantém pressionado ou clica com o botão direito do rato no bloco [If then else] e seleciona 'Converter contentor e conteúdo em bloco Switch'. Isto converte o loop e o conteúdo do loop num único bloco Switch.


Note o recuo após a conclusão da conversão. Vários comandos no mesmo bloco Switch devem ter o recuo correto para funcionar como esperado.

Blocos de interruptores adicionais

Embora Austin tenha utilizado exclusivamente o bloco [Switch Stack], existem outros blocos Switch disponíveis. Austin está pronto para entregar um projeto de limpeza de recifes de coral melhorado, mas combina com a Sra. Hunter experimentar um novo tipo de bloco Switch, como os listados abaixo, na próxima aula.

Os blocos de interruptores seguem as mesmas convenções de formato que os outros blocos. A tabela seguinte mostra a comparação entre o formato do bloco, o seu significado e os blocos Switch do mesmo tipo.

Forma de bloco Descrição Exemplos de blocos Exemplos de interruptor
Blocos de chapéu Comece com uma pilha de blocos e molde-os de forma a encaixar os blocos por baixo deles. Captura de ecrã da interface de realidade virtual do VEXcode, mostrando ferramentas de programação baseadas em blocos e um robô virtual, concebido para ensinar conceitos de programação e princípios de robótica em ambientes educativos. Captura de ecrã da interface de realidade virtual do VEXcode, mostrando o ambiente de programação baseado em blocos, concebido para ensinar conceitos de programação através da robótica virtual em salas de aula, com suporte tanto para principiantes como para utilizadores avançados.
Blocos empilháveis Executar os comandos principais. São concebidos para serem encaixados acima ou abaixo de outros blocos empilháveis. Captura de ecrã da interface de realidade virtual do VEXcode que mostra as opções de programação em blocos para um robô virtual, concebida para melhorar o ensino de STEM (Ciência, Tecnologia, Engenharia e Matemática) na sala de aula e apoiar conceitos de programação para alunos e educadores. Captura de ecrã da interface de realidade virtual do VEXcode, mostrando o ambiente de programação baseado em blocos, concebido para o ensino de conceitos de programação através de robótica virtual, adequado para utilização em sala de aula e educação STEM.
Blocos booleanos Retorna uma condição como verdadeira ou falsa e ajusta-se a quaisquer blocos com entradas hexagonais (de seis faces) para outros blocos. Captura de ecrã da interface de realidade virtual do VEXcode, mostrando o ambiente de programação baseado em blocos, concebido para ensinar conceitos de programação através de um robô virtual, adequado para utilização em sala de aula e educação STEM. Captura de ecrã da interface de realidade virtual do VEXcode, mostrando o ambiente de programação baseado em blocos para programar um robô virtual, concebido para melhorar o ensino de STEM (Ciência, Tecnologia, Engenharia e Matemática) através de conceitos de programação e resolução de problemas em sala de aula.
Repórter bloqueia Os valores são apresentados em formato numérico e encaixados em quaisquer blocos com entradas ovais para outros blocos. Captura de ecrã da interface de realidade virtual do VEXcode, mostrando o ambiente de programação baseado em blocos, concebido para o ensino de conceitos de programação através de robótica virtual, adequado para utilização em sala de aula e educação STEM. Captura de ecrã da interface de realidade virtual do VEXcode, mostrando opções de codificação baseadas em blocos para programar um robô virtual, ilustrando a sua utilização em ambientes educativos para o ensino de conceitos de programação e princípios de robótica.
Blocos C Repita o(s) bloco(s) dentro dos mesmos ou verifique se uma condição é verdadeira ou falsa. São moldadas para encaixar blocos empilháveis acima, abaixo ou dentro delas. Captura de ecrã da interface de realidade virtual do VEXcode, mostrando o ambiente de programação baseado em blocos, concebido para ensinar conceitos de programação através da robótica virtual, destacando a sua utilização em salas de aula para a educação STEM (Ciência, Tecnologia, Engenharia e Matemática). Captura de ecrã da interface de realidade virtual do VEXcode, mostrando as opções de programação em blocos para um robô virtual, concebido para uso educacional em salas de aula para ensinar conceitos de programação e princípios de robótica. Captura de ecrã da interface de realidade virtual do VEXcode, mostrando um ambiente de programação baseado em blocos para programar um robô virtual, concebido para uso educacional em salas de aula para ensinar conceitos de programação e princípios de robótica. Captura de ecrã da interface de realidade virtual do VEXcode, mostrando elementos de programação em blocos e um robô virtual, ilustrando a utilização da plataforma em ambientes educativos para o ensino de conceitos de programação e princípios de robótica.

Juntando tudo

Enquanto a Sra. Hunter observava Austin a testar a digitação de diferentes comandos Python em blocos Switch, conseguiu perceber como o Switch permitia aos seus alunos estruturar a sua própria aprendizagem. Os seus alunos tinham experiências de programação diferentes antes de iniciarem as suas aulas, e os desafios do VEXcode VR permitem-lhes programar nos seus próprios níveis. Alguns alunos programam exclusivamente em Blocks, outros em Python, e outros, como Austin, utilizam o Switch para fazer a transição para a programação em Python. Nos meses seguintes, Austin passou a programar exclusivamente em Python, aplicando os conhecimentos adquiridos com a utilização do Switch para tornar a transição de blocos para texto muito mais fácil e suave. 

O Switch Blocks no VEXcode VR permite que professores, como a Sra. Hunter, facilitem a aprendizagem enquanto os alunos de diferentes níveis de programação completam o mesmo desafio. Ao mesmo tempo, os alunos, como Austin, sentem-se capacitados para experimentar novos métodos de resolução de atividades de programação à medida que fazem a transição de blocos para texto utilizando os Switch Blocks no VEXcode VR.


1Weintrop, David e Uri Wilensky. "Como as modalidades baseadas em blocos, em texto e híbridas (bloco/texto) moldam as práticas de programação para principiantes."  Revista Internacional de Interação Criança-Computador 17 (2018): 83-92

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: