Introdução à codificação

Concluído

O que é codificação de blocos?

Captura de tela dos blocos de codificação de palavras MakeCode.

A codificação de blocos é uma linguagem de programação visual de nível de entrada, que permite que os alunos usem a edição de arrastar e soltar para mover blocos para criar código. Essa abordagem mais simples na educação apresenta aos alunos a programação e oferece aos alunos uma base para criar habilidades de pensamento computacional e aprender conceitos de codificação. Os alunos se envolvem em um processo de aprendizagem divertido e fácil com codificação de blocos versus começando com linguagens de programação baseadas em texto. Indivíduos que nunca codificaram antes podem entender melhor os conceitos básicos de programação e criação de algoritmos.

A codificação de blocos fornece a capacidade de discernir visualmente blocos por sua estrutura. Entender a estrutura dos blocos permite que os alunos comecem a explorar e entender como determinados tipos de blocos funcionam juntos para criar código. Isso permite que os alunos se concentrem na sequência e na lógica de montar programas para concluir tarefas versus se preocupar com erros de sintaxe (como perder um cólon, esquecer parênteses, ter um espaço extra). Por exemplo, se um aluno tentar encaixar dois blocos que não conseguem formar um código válido, o ambiente de codificação do bloco impedirá que o aluno pegue os blocos juntos.

Captura de tela da interface de codificação MakeCode com blocos de arrastar e soltar.

Os blocos também são codificados por cor pelo uso conceitual. Os blocos são classificados em categorias para que os alunos possam encontrar facilmente todos os blocos relacionados à categoria específica.

Captura de tela dos blocos MakeCode na gaveta da caixa de ferramentas.

A codificação de bloco tira dos codificadores jovens e iniciais a frustração que acontece devido à sintaxe, como perder uma vírgula ou esquecer de fechar um parêntese, e deixa tempo para se concentrar na compreensão de conceitos de codificação. A codificação de blocos é posicionada como uma ferramenta para criar arte, animações, histórias e jogos. Os alunos são convidados a criar e resolver problemas, o que fornece um ambiente muito mais acolhedor e menos intimidante para começar sua jornada de codificação.

Tarefa reflexão

Vamos comparar linguagens de programação. Como você descreveria o código mostrado em cada um dos idiomas? O que o computador está sendo "solicitado" a fazer?

Gráfico comparando três exemplos diferentes de código em blocos, em JavaScript e no Python.

Reflita sobre sua experiência.

  • Qual idioma era mais fácil de entender?
  • Qual idioma era mais difícil de entender?
  • Como as linguagens são como as outras? Como eles são diferentes?
  • Quais perguntas você ainda tem sobre linguagens de programação?

Em um estudo recente, os alunos que nunca haviam codificado antes foram colocados em dois grupos diferentes: codificação de blocos e codificação baseada em texto. Eles participaram de cinco semanas de instruções de codificação. Os alunos que participam da codificação de blocos tiveram maiores ganhos de aprendizagem do que os alunos que participam da codificação baseada em texto. Os alunos que começam com a codificação de blocos são capazes de fazer melhor e mais rápido em seus cursos de CS.

Além disso, antes e depois do curso de cinco semanas, os alunos foram questionados sobre sua intenção de fazer mais cursos de ciência da computação. Os alunos que participaram da codificação baseada em texto estavam menos interessados em seguir cursos de ciência da computação após essa experiência inicial. Além disso, o estudo também determinou que a codificação de blocos é eficaz no aumento da confiança dos alunos em sua própria capacidade de programação.

Foto de um estudante sorridente em um computador.

Todas essas considerações são importantes para escolas e educadores. Os alunos devem ter uma experiência positiva e scaffolded com codificação e ciência da computação, já que as percepções e a confiança dos alunos são altamente indicativas de seu crescimento de aprendizagem. Baixa autoestima ou falta de confiança deixa os alunos duvidando de sua capacidade de sucesso, tornando-os hesitantes em aprender ou assumir riscos apropriados de crescimento acadêmico. Assim como ao ensinar crianças pequenas a ler, precisamos considerar o texto e a tarefa que os alunos devem concluir. A mesma abordagem pedagógica deve ser aplicada à codificação. O aprendizado precisa ser scaffolded e suportado ao longo do tempo.

Esse conceito se mantém verdadeiro à medida que os alunos fazem a transição de blocos para programação baseada em texto. Ao utilizar o método espiral, os educadores podem apoiar melhor o aprendizado dos alunos ao longo do tempo. O método espiral se concentra na introdução gradual de conteúdo com complexidade crescente, além de fornecer várias oportunidades de interação com o conteúdo e as ferramentas. O uso repetido de ferramentas ao longo do tempo permite maior exploração pelos alunos e promove uma compreensão mais profunda dos conceitos básicos de programação. O aprendizado em espiral também ajuda a mitigar a sobrecarga cognitiva, contribuindo para a facilidade de aprendizado.