Skip to main content
Skip to Main Content
Skip to main content
Navegação

Incorporando conversas à depuração

By Audra Selkowitz Oct 18, 2023

Sempre que os alunos estão programando um robô para completar um desafio, realizar a tarefa é apenas uma parte do que eles estão aprendendo. Embutidos nesse desafio estão objetivos de aprendizagem mais amplos em torno de conceitos de codificação, planejamento de caminhos ou colaboração, etc. No entanto, quando chega a hora de ajudar os alunos a depurar ou solucionar problemas de um projeto, muitas vezes nosso impulso é "apagar os incêndios", por assim dizer, e dar soluções ou oferecer comandos que "consertarão" o projeto para nossos alunos. Embora isso possa levar os alunos a concluir a tarefa, não está necessariamente ajudando-os a aprender os objetivos maiores do desafio, nem é sustentável para nós, como professores. E quando chega a hora de avaliar a aprendizagem dos alunos, saber o resultado final do projeto não necessariamente dá uma imagem precisa da compreensão dos alunos. 

Uma das melhores maneiras de saber se um aluno entendeu um conceito específico é perguntar a ele sobre isso. Isso também pode se aplicar ao processo de depuração. Construir conversas em nosso processo de depuração pode ajudar os alunos a desacelerar, pensar em seus projetos, participar de discussões de codificação significativas e aprender mais do que apenas como levar o robô do ponto A ao ponto B. Isso não apenas nos dá um feedback formativo valioso, mas também torna o processo mais centrado no aluno, colocando a explicação e a agência do aluno no centro da depuração. 

Identificar a intenção

Antes de podermos começar qualquer tipo de depuração, precisamos saber uma coisa importante – o que este projeto deve fazer? A depuração, ou solução de problemas, ocorre quando o robô faz algo diferente do que foi planejado ou previsto. Como professores, muitas vezes conhecemos a tarefa, no entanto, a beleza da ciência da computação é que existem várias maneiras de resolver um problema. Então, como esse grupo em particular aborda a tarefa? Fazer com que os alunos articulem seu plano oferece informações valiosas sobre a compreensão do desafio como um todo. Eles entendem o que deveriam estar fazendo em alto nível e, em seguida, têm uma estratégia para resolver o desafio que faz sentido? 

Facilitar conversas de programação

Essas perguntas e sugestões iniciais podem ajudar você e seus alunos a desacelerar e realmente pensar no que estão tentando fazer com o robô. Dependendo dos objetivos de aprendizagem dos alunos, os tipos de conversas que você tem variam. Para programadores iniciantes, você pode se concentrar mais em coisas como sequenciamento e decomposição - os alunos entendem as etapas necessárias para concluir a tarefa e a ordem em que esses comportamentos precisam ser executados pelo robô? Para os alunos mais avançados, você pode querer se concentrar mais na resolução de problemas ou iteração - os alunos sabem como saber se suas iterações são eficazes?

Exemplos de prompts do artigo Facilitando Conversas de Codificação

Exemplos de prompts do artigo Facilitando Conversas de Codificação

Ao longo do processo de depuração, esses tipos de conversas são uma ferramenta importante para ajudá-lo a entender onde os alunos estão em seu processo de aprendizagem, bem como em seu processo de codificação. Este artigo (parte do qual é retratado aqui) tem algumas ótimas sugestões e perguntas que você pode usar para facilitar conversas de programação com seus alunos, com base em seus objetivos de aprendizagem. 

Você pode postar as instruções desse artigo em sua sala de aula, para que alunos e professores possam fazer referência a elas. Podemos modelar essas conversas para definir as expectativas dos alunos, mas é importante que os alunos tenham essas mesmas conversas de codificação entre si para ajudar a desenvolver suas habilidades de codificação colaborativa. Com o tempo, a voz do professor como ‘líder’ da conversa versus os alunos liderando-os por si mesmos pode mudar, dando voz à ideia de aprendizagem centrada no aluno de maneira audível e genuína.

Continuando conversas durante a depuração

Essas conversas podem continuar enquanto você trabalha na depuração do projeto. Depois de estabelecer que os alunos entendem o objetivo e qual é o plano deles para resolver o problema, você tem um lugar para começar, ao comparar o código com o comportamento observado do robô para ver onde e como os problemas estão surgindo. Esta é a parte pela qual muitas vezes nos apressamos, mas que podemos realmente nos beneficiar de desacelerar e conversar com nossos alunos.

Sabia? 

Antes de mergulhar profundamente no projeto VEXcode, certifique-se de que o seu robô físico está construído e configurado corretamente.

Sempre verifique se os fios estão conectados com segurança e nas portas certas, se a configuração do robô corresponde à construção, se a bateria está carregada e se o firmware do cérebro está atualizado.

Estas são correções simples que podem resolver o problema e permitir que os alunos voltem a se concentrar em seu aprendizado de ciência da computação e no desafio de codificação em geral.

Uma maneira de construir essas conversas na depuração é desacelerar fisicamente a execução do projeto, para dar a você e aos seus alunos tempo para fazer previsões sobre o que o robô fará em cada etapa do projeto. Existem várias maneiras de fazer isso: 

  • Use comandos de velocidade para desacelerar a unidade do robô e gire a velocidade para 10 ou 20%, para que ele se mova mais lentamente pelo projeto e permita que você fale sobre o que vai acontecer a seguir e por quê. 
  • Use o recurso Etapa em 123, GO ou VR para controlar a execução do projeto executando um bloco de cada vez. Antes que um bloco seja executado, você pode fazer com que os alunos prevejam o que o robô fará e por quê, depois percorrer esse bloco para ver se o comportamento real do robô corresponde à previsão. 
  • Execute pequenas seções de um projeto de cada vez para identificar mais claramente onde está a desconexão. Você pode ativar ou desativar os comandos ou, se codificar com blocos, separar os blocos da pilha, para executar apenas aqueles conectados ao {When started} bloco. 

À medida que você avança pelo projeto mais lentamente, pode fazer perguntas para ajudar os alunos a aplicar seu aprendizado para fazer previsões sobre o comportamento do robô ao longo do projeto. Como perguntas como: 

  • O que você acha que o robô vai fazer quando este bloco/comando for executado? Porquê? 
  • Até onde o robô vai se mover? Como sabe disso? 
  • Para onde o robô vai virar? Porquê? 
  • Que feedback do sensor é que o projeto está a usar aqui? Como é que está a ser usado?

Com este processo de conversação, você e seus alunos têm a oportunidade de ver onde está a desconexão a partir de uma perspectiva de aprendizagem. Isso ajuda você não apenas a modelar práticas eficazes de resolução de problemas, mas também a ajudar a desenvolver a compreensão do código pelo aluno em um nível conceitual, preparando-o para aplicar esse aprendizado a projetos e desafios futuros. 

Construindo entendimento com conversas de depuração

Outra maneira de chegar ao objetivo da compreensão conceitual é usar ferramentas de depuração como um ponto de partida para conversas que ajudem a tornar os conceitos abstratos visíveis e mais fáceis de entender. Por exemplo, o recurso Monitor em 123, GO e VR, ou imprimir valores na tela do Cérebro ou no console de impressão para IQ, EXP ou V5, oferece aos alunos uma maneira de ver os dados do sensor à medida que um projeto está em execução em tempo real.

No projeto acima, a atribuição é navegar pelo Labirinto de Discos de Cores, usando o Sensor de Olhos. O Monitor mostra os dados do sensor para cada um dos blocos do repórter booleano no projeto. Como uma ferramenta de ensino conversacional, este projeto pode ser executado para os alunos, enquanto fala sobre quais dados do sensor estão sendo relatados e o fluxo do projeto com base nesses dados. 

Existem algumas adaptações feitas ao projeto para ajudar a enfatizar os dados do sensor enquanto o projeto é executado. A velocidade do robô é reduzida e os blocos [Stop driving] e [Wait] são adicionados para permitir que os dados do Monitor sejam exibidos por mais tempo, para que os alunos tenham tempo para prever o comportamento do robô e/ou os dados do sensor que serão relatados à medida que o projeto for executado. 

Este é um exemplo de como os projetos podem ser construídos para mostrar intencionalmente um objetivo de aprendizagem maior, como entender o fluxo do projeto com feedback do sensor, em vez de apenas chegar ao final do labirinto mais rápido. 

Em última análise, nosso objetivo não é apenas fazer com que todos os alunos naveguem no labirinto com sucesso, mas que eles entendam como e por que um projeto foi bem-sucedido. Retardar nosso processo de depuração, incorporar conversas em nossa prática e construir projetos para mostrar conceitos de maneira intencional pode nos ajudar a estabelecer as bases para que os alunos entendam os conceitos da ciência da computação e tenham a motivação de ampliar e desenvolver esse aprendizado ao longo do tempo. 

Para onde ir a partir daqui…